2 ============LICENSE_START=======================================================
4 ================================================================================
5 Copyright (C) 2017-2019 AT&T Intellectual Property. All rights
7 ================================================================================
8 Licensed under the Apache License, Version 2.0 (the "License");
9 you may not use this file except in compliance with the License.
10 You may obtain a copy of the License at
12 http://www.apache.org/licenses/LICENSE-2.0
14 Unless required by applicable law or agreed to in writing, software
15 distributed under the License is distributed on an "AS IS" BASIS,
16 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 See the License for the specific language governing permissions and
18 limitations under the License.
19 ============LICENSE_END============================================
20 ===================================================================
27 background-color: #dddd;
32 vertical-align: middle;
47 background-color: #f5f5f5;
48 padding: 15px 5px 0 5px;
51 .form-group.clearfix {
52 display: -webkit-flex;
77 border-bottom: 1px solid #ddd;
78 border-collapse: collapse;
88 #policyTable tr.highlight {
89 background-color: #f5f5f5;
102 <div attribute-test="policywindowproperties" id="configure-widgets"
103 class="disabled-block-container">
104 <div attribute-test="policywindowpropertiesh" class="modal-header">
105 <button type="button" class="close" ng-click="close(false)"
106 aria-hidden="true" style="margin-top: -3px">×</button>
107 <h4>Operational Policy</h4>
111 <div class="modal-body">
112 <div attribute-test="policywindowpropertiesb" class="modal-body row">
114 <div class="panel panel-default col-sm-10 policyPanel">
115 <form id="operationalPolicyHeaderForm" class="form-horizontal">
116 <div class="form-group clearfix">
117 <label class="col-sm-2">Parent policy</label>
118 <div class="col-sm-3" style="padding: 0px;">
119 <select type="text" id="trigger_policy" name="trigger_policy"
120 class="form-control" ng-model="null_dump"
121 ng-init="initPolicySelect()"
122 ng-options="policy for policy in policy_ids track by policy">
123 <option value="">-- choose an option --</option>
127 <label for="timeout" class="col-sm-3"
128 style="padding-left: 5px; padding-right: 10px;">Overall
130 <div class="col-sm-2" style="padding-left: 0px;">
131 <input type="text" ng-pattern="/^[0-9]*$/" ng-model="number"
132 class="form-control" id="timeout" name="timeout">
135 <label for="abatement" class="col-sm-2">Abatement</label>
136 <div class="col-sm-2" style="padding-left: 0px;">
137 <select class="form-control" id="abatement" name="abatement">
138 <option value="false" selected>False</option>
139 <option value="true">True</option>
143 <div class="form-group clearfix row">
144 <label class="col-sm-4 control-label" for="clname">ControlLoopName</label>
145 <div class="col-sm-8">
146 <input type="text" class="form-control" name="controlLoopName"
147 readonly="readonly" id="clname" ng-model="clname"/>
151 <div class="panel-heading" style="background-color: white;">
152 <ul id="nav_Tabs" class="nav nav-tabs">
153 <li class><a id="add_one_more" href="#desc_tab"><span
154 class="glyphicon glyphicon-plus" aria-hidden="true"></span></a></li>
157 <div class="panel-body">
158 <div class="tab-content">
159 <div id="properties_tab" class="tab-pane fade in active"></div>
164 <span id="formSpan" style="display: none">
165 <form class="policyProperties" class="form-horizontal"
166 style="border: 2px dotted gray;"
167 title="Operational Policy Properties">
169 <div class="form-group clearfix">
170 <label class="col-sm-4 control-label" for="id">ID</label>
171 <div class="col-sm-8">
172 <input type="text" class="form-control" name="id" id="id"
173 ng-keyup="updateTabLabel($event)" />
176 <div class="form-group clearfix">
177 <label class="col-sm-4 control-label" for="recipe">Recipe</label>
178 <div class="col-sm-8">
179 <select class="form-control" name="recipe" id="recipe"
180 enableFilter="true" ng-model="recipe" ng-click="updateGuardRecipe($event)">
181 <option value="">-- choose an option --</option>
182 <option value="Restart">Restart</option>
183 <option value="Rebuild">Rebuild</option>
184 <option value="Migrate">Migrate</option>
185 <option value="Health-Check">Health-Check</option>
186 <option value="ModifyConfig">ModifyConfig</option>
187 <option value="VF Module Create">VF Module Create</option>
188 <option value="VF Module Delete">VF Module Delete</option>
189 <option value="Reroute">Reroute</option>
193 <div class="form-group clearfix">
194 <label for="retry" class="col-sm-4 control-label"> Retry</label>
195 <div class="col-sm-8">
196 <input type="text" maxlength="5" class="form-control" id="retry"
197 ng-pattern="/^[0-9]*$/" ng-model="number" name="retry">
201 <div class="form-group clearfix">
202 <label for="timeout" class="col-sm-4 control-label">
204 <div class="col-sm-8">
205 <input type="text" maxlength="5" class="form-control"
206 id="timeout" ng-pattern="/^[0-9]*$/" ng-model="number"
207 name="timeout"></input>
211 <div class="form-group clearfix">
212 <label for="actor" class="col-sm-4 control-label"> Actor</label>
213 <div class="col-sm-8">
214 <select class="form-control" id="actor" name="actor" ng-click="updateGuardActor($event)" ng-model="actor">
215 <option value="">-- choose an option --</option>
216 <option value="APPC">APPC</option>
217 <option value="SO">SO</option>
218 <option value="VFC">VFC</option>
219 <option value="SDNC">SDNC</option>°
220 <option value="SDNR">SDNR</option>°
224 <label for="payload" class="col-sm-4 control-label">
225 Payload (YAML)</label>
226 <div class="col-sm-8">
227 <textarea class="form-control" id="payload" name="payload"></textarea>
230 <div class="form-group clearfix">
231 <label for="success" class="col-sm-4 control-label">When
233 <div class="col-sm-8">
234 <select class="form-control" id="success" name="success"
236 ng-options="policy for policy in policy_ids track by policy">
237 <option value="">-- choose an option --</option>
241 <div class="form-group clearfix">
242 <label for="failure" class="col-sm-4 control-label">When
244 <div class="col-sm-8">
245 <select class="form-control" id="failure" name="failure"
247 ng-options="policy for policy in policy_ids track by policy">
248 <option value="">-- choose an option --</option>
252 <div class="form-group clearfix">
253 <label for="failure_timeout" class="col-sm-4 control-label">When
254 Failure Timeout</label>
255 <div class="col-sm-8">
256 <select class="form-control" id="failure_timeout"
257 name="failure_timeout" ng-model="null_dump"
258 ng-options="policy for policy in policy_ids track by policy">
259 <option value="">-- choose an option --</option>
263 <div class="form-group clearfix">
264 <label for="failure_retries" class="col-sm-4 control-label">When
265 Failure Retries</label>
266 <div class="col-sm-8">
267 <select class="form-control" id="failure_retries"
268 name="failure_retries" ng-model="null_dump"
269 ng-options="policy for policy in policy_ids track by policy">
270 <option value="">-- choose an option --</option>
274 <div class="form-group clearfix">
275 <label for="failure_exception" class="col-sm-4 control-label">When
276 Failure Exception</label>
277 <div class="col-sm-8">
278 <select class="form-control" id="failure_exception"
279 name="failure_exception" ng-model="null_dump"
280 ng-options="policy for policy in policy_ids track by policy">
281 <option value="">-- choose an option --</option>
285 <div class="form-group clearfix">
286 <label for="failure_guard" class="col-sm-4 control-label">When
287 Failure Guard</label>
288 <div class="col-sm-8">
289 <select class="form-control" id="failure_guard"
290 name="failure_guard" ng-model="null_dump"
291 ng-options="policy for policy in policy_ids track by policy">
292 <option value="">-- choose an option --</option>
297 <form class="policyTarget" class="form-horizontal"
298 title="Operational Policy Target" style="border: 2px dotted gray;">
299 <div class="form-group clearfix">
300 <label for="type" class="col-sm-4 control-label"> Target
302 <div class="col-sm-8">
303 <select class="form-control" name="type" id="type"
304 ng-click="initTargetResourceId($event)" ng-model="type">
305 <option value="">-- choose an option --</option>
306 <option value="VFMODULE">VFMODULE</option>
307 <option value="VM">VM</option>
308 <option value="VNF">VNF</option>
312 <div class="form-group clearfix">
313 <label for="resourceID" class="col-sm-4 control-label">
314 Target ResourceId</label>
315 <div class="col-sm-8">
316 <select class="form-control" name="resourceID" id="resourceID"
317 enableFilter="true" ng-click="changeTargetResourceId($event)"
318 ng-model="resourceId">
319 <option value="">-- choose an option --</option>
324 <div class="form-group clearfix">
325 <label for="modelInvariantId" class="col-sm-4 control-label">
326 Model Invariant Id</label>
327 <div class="col-sm-8">
328 <input class="form-control" name="modelInvariantId"
329 id="modelInvariantId" readonly />
332 <div class="form-group clearfix">
333 <label for="modelVersionId" class="col-sm-4 control-label">
334 Model Version Id</label>
335 <div class="col-sm-8">
336 <input class="form-control" name="modelVersionId"
337 id="modelVersionId" readonly />
340 <div class="form-group clearfix">
341 <label for="modelName" class="col-sm-4 control-label">
343 <div class="col-sm-8">
344 <input class="form-control" name="modelName" id="modelName"
348 <div class="form-group clearfix">
349 <label for="modelVersion" class="col-sm-4 control-label">
350 Model Version</label>
351 <div class="col-sm-8">
352 <input class="form-control" name="modelVersion"
353 id="modelVersion" readonly />
356 <div class="form-group clearfix">
357 <label for="modelCustomizationId" class="col-sm-4 control-label">
358 Model Customization Id</label>
359 <div class="col-sm-8">
360 <input class="form-control" name="modelCustomizationId"
361 id="modelCustomizationId" readonly />
366 <div class="form-group clearfix">
367 <label for="enableGuardPolicy" class="col-sm-4 control-label">
368 Enable Guard Policy</label>
369 <div class="col-sm-8">
370 <input type="checkbox" class="form-control"
371 name="enableGuardPolicy" id="enableGuardPolicy">
374 <div class="col-sm-8">
375 <label for="guardPolicyType" class="col-sm-4 control-label">
376 Guard Policy Type</label> <select class="form-control"
377 name="guardPolicyType" id="guardPolicyType"
378 ng-click="changeGuardPolicyType()" ng-model="guardType">
379 <option value="GUARD_MIN_MAX">MinMax</option>
380 <option value="GUARD_YAML">FrequencyLimiter</option>
384 <form class="guardProperties" class="form-horizontal"
385 title="Guard policy associated" style="border: 2px dotted gray;">
387 <div class="form-group clearfix withnote">
388 <label class="col-sm-4 control-label" for="id">Guard Policy ID</label>
389 <div class="col-sm-8">
390 <input type="text" class="form-control" name="id" id="id" ng-blur="changeGuardId()" ng-model="id"/>
394 <label class="form-group note">Note: Prefix will be added to Guard Policy ID automatically based on Guard Policy Type</label>
396 <div class="form-group clearfix">
397 <label class="col-sm-4 control-label" for="recipe">Recipe</label>
398 <div class="col-sm-8">
399 <input type="text" class="form-control" name="recipe"
400 readonly="readonly" id="recipe"/>
403 <div class="form-group clearfix">
404 <label class="col-sm-4 control-label" for="clname">ControlLoopName</label>
405 <div class="col-sm-8">
406 <input type="text" class="form-control" name="clname"
407 readonly="readonly" id="clname" ng-model="clname"/>
410 <div class="form-group clearfix">
411 <label for="actor" class="col-sm-4 control-label">Actor</label>
412 <div class="col-sm-8">
413 <input type="text" class="form-control" name="actor"
414 readonly="readonly" id="actor" />
417 <div class="form-group clearfix">
419 <label for="targets" class="col-sm-4 control-label">Guard
421 <div class="col-sm-8">
422 <input class="form-control" name="targets" id="targets" />
426 <div class="form-group clearfix" id="minMaxGuardPolicyDiv">
427 <label for="min" class="col-sm-4 control-label"> Min
429 <div class="col-sm-8">
430 <input class="form-control" name="min" id="min" />
432 <label for="max" class="col-sm-4 control-label"> Max
434 <div class="col-sm-8">
435 <input class="form-control" name="max" id="max" />
438 <div class="form-group clearfix"
439 id="frequencyLimiterGuardPolicyDiv" style="display: none">
440 <label for="limit" class="col-sm-4 control-label">Limit</label>
441 <div class="col-sm-8">
442 <input class="form-control" name="limit" id="limit" />
444 <label for="timeUnits" class="col-sm-4 control-label">Time Units</label>
445 <div class="col-sm-8">
446 <select class="form-control" name="timeUnits"
448 <option value=""></option>
449 <option value="minute">minute</option>
450 <option value="hour">hour</option>
451 <option value="day">day</option>
452 <option value="week">week</option>
453 <option value="month">month</option>
454 <option value="year">year</option>
457 <label for="timeWindow" class="col-sm-4 control-label">Time Window</label>
458 <div class="col-sm-8">
459 <input class="form-control" name="timeWindow" id="timeWindow" />
462 <div class="form-group clearfix">
463 <label for="guardActiveStart" class="col-sm-4 control-label">
464 Guard Active Start</label>
465 <div class="col-sm-8">
466 <input class="form-control" name="guardActiveStart"
467 id="guardActiveStart" value="00:00:00Z"/>
469 <label for="guardActiveEnd" class="col-sm-4 control-label">
470 Guard Active End</label>
471 <div class="col-sm-8">
472 <input class="form-control" name="guardActiveEnd"
473 id="guardActiveEnd" value="00:00:01Z"/>
483 <div attribute-test="policywindowpropertiesf" class="modal-footer">
484 <button id="savePropsBtn" class="btn btn-primary">Close</button>
485 <button ng-click="close(true)" id="close_button"
486 class="btn btn-primary">Cancel</button>