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">
168 <div class="form-group clearfix">
169 <label class="col-sm-4 control-label" for="id">ID</label>
170 <div class="col-sm-8">
171 <input type="text" class="form-control" name="id" id="id" ng-model="duplicated" ng-init="duplicated = false"
172 ng-keyup="updateTabLabel($event)" />
173 <span >ID must be unique</span>
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>
253 <div class="form-group clearfix">
254 <label for="failure_timeout" class="col-sm-4 control-label">When
255 Failure Timeout</label>
256 <div class="col-sm-8">
257 <select class="form-control" id="failure_timeout"
258 name="failure_timeout" ng-model="null_dump"
259 ng-options="policy for policy in policy_ids track by policy">
260 <option value="">-- choose an option --</option>
264 <div class="form-group clearfix">
265 <label for="failure_retries" class="col-sm-4 control-label">When
266 Failure Retries</label>
267 <div class="col-sm-8">
268 <select class="form-control" id="failure_retries"
269 name="failure_retries" ng-model="null_dump"
270 ng-options="policy for policy in policy_ids track by policy">
271 <option value="">-- choose an option --</option>
275 <div class="form-group clearfix">
276 <label for="failure_exception" class="col-sm-4 control-label">When
277 Failure Exception</label>
278 <div class="col-sm-8">
279 <select class="form-control" id="failure_exception"
280 name="failure_exception" ng-model="null_dump"
281 ng-options="policy for policy in policy_ids track by policy">
282 <option value="">-- choose an option --</option>
286 <div class="form-group clearfix">
287 <label for="failure_guard" class="col-sm-4 control-label">When
288 Failure Guard</label>
289 <div class="col-sm-8">
290 <select class="form-control" id="failure_guard"
291 name="failure_guard" ng-model="null_dump"
292 ng-options="policy for policy in policy_ids track by policy">
293 <option value="">-- choose an option --</option>
298 <form class="policyTarget" class="form-horizontal"
299 title="Operational Policy Target" style="border: 2px dotted gray;">
300 <div class="form-group clearfix">
301 <label for="type" class="col-sm-4 control-label"> Target
303 <div class="col-sm-8">
304 <select class="form-control" name="type" id="type"
305 ng-click="initTargetResourceId($event)" ng-model="type">
306 <option value="">-- choose an option --</option>
307 <option value="VFMODULE">VFMODULE</option>
308 <option value="VM">VM</option>
309 <option value="VNF">VNF</option>
313 <div class="form-group clearfix">
314 <label for="resourceID" class="col-sm-4 control-label">
315 Target ResourceId</label>
316 <div class="col-sm-8">
317 <select class="form-control" name="resourceID" id="resourceID"
318 enableFilter="true" ng-click="changeTargetResourceId($event)"
319 ng-model="resourceId">
320 <option value="">-- choose an option --</option>
325 <div class="form-group clearfix">
326 <label for="modelInvariantId" class="col-sm-4 control-label">
327 Model Invariant Id</label>
328 <div class="col-sm-8">
329 <input class="form-control" name="modelInvariantId"
330 id="modelInvariantId" readonly />
333 <div class="form-group clearfix">
334 <label for="modelVersionId" class="col-sm-4 control-label">
335 Model Version Id</label>
336 <div class="col-sm-8">
337 <input class="form-control" name="modelVersionId"
338 id="modelVersionId" readonly />
341 <div class="form-group clearfix">
342 <label for="modelName" class="col-sm-4 control-label">
344 <div class="col-sm-8">
345 <input class="form-control" name="modelName" id="modelName"
349 <div class="form-group clearfix">
350 <label for="modelVersion" class="col-sm-4 control-label">
351 Model Version</label>
352 <div class="col-sm-8">
353 <input class="form-control" name="modelVersion"
354 id="modelVersion" readonly />
357 <div class="form-group clearfix">
358 <label for="modelCustomizationId" class="col-sm-4 control-label">
359 Model Customization Id</label>
360 <div class="col-sm-8">
361 <input class="form-control" name="modelCustomizationId"
362 id="modelCustomizationId" readonly />
367 <div class="form-group clearfix">
368 <label for="enableGuardPolicy" class="col-sm-4 control-label">
369 Enable Guard Policy</label>
370 <div class="col-sm-8">
371 <input type="checkbox" class="form-control"
372 name="enableGuardPolicy" id="enableGuardPolicy">
375 <div class="col-sm-8">
376 <label for="guardPolicyType" class="col-sm-4 control-label">
377 Guard Policy Type</label> <select class="form-control"
378 name="guardPolicyType" id="guardPolicyType"
379 ng-click="changeGuardPolicyType()" ng-model="guardType">
380 <option value="GUARD_MIN_MAX">MinMax</option>
381 <option value="GUARD_YAML">FrequencyLimiter</option>
385 <form class="guardProperties" class="form-horizontal"
386 title="Guard policy associated" style="border: 2px dotted gray;">
388 <div class="form-group clearfix withnote">
389 <label class="col-sm-4 control-label" for="id">Guard Policy ID</label>
390 <div class="col-sm-8">
391 <input type="text" class="form-control" name="id" id="id" ng-blur="changeGuardId()" ng-model="id"/>
395 <label class="form-group note">Note: Prefix will be added to Guard Policy ID automatically based on Guard Policy Type</label>
397 <div class="form-group clearfix">
398 <label class="col-sm-4 control-label" for="recipe">Recipe</label>
399 <div class="col-sm-8">
400 <input type="text" class="form-control" name="recipe"
401 readonly="readonly" id="recipe"/>
404 <div class="form-group clearfix">
405 <label class="col-sm-4 control-label" for="clname">ControlLoopName</label>
406 <div class="col-sm-8">
407 <input type="text" class="form-control" name="clname"
408 readonly="readonly" id="clname" ng-model="clname"/>
411 <div class="form-group clearfix">
412 <label for="actor" class="col-sm-4 control-label">Actor</label>
413 <div class="col-sm-8">
414 <input type="text" class="form-control" name="actor"
415 readonly="readonly" id="actor" />
418 <div class="form-group clearfix">
420 <label for="targets" class="col-sm-4 control-label">Guard
422 <div class="col-sm-8">
423 <input class="form-control" name="targets" id="targets" />
427 <div class="form-group clearfix" id="minMaxGuardPolicyDiv">
428 <label for="min" class="col-sm-4 control-label"> Min
430 <div class="col-sm-8">
431 <input class="form-control" name="min" id="min" />
433 <label for="max" class="col-sm-4 control-label"> Max
435 <div class="col-sm-8">
436 <input class="form-control" name="max" id="max" />
439 <div class="form-group clearfix"
440 id="frequencyLimiterGuardPolicyDiv" style="display: none">
441 <label for="limit" class="col-sm-4 control-label">Limit</label>
442 <div class="col-sm-8">
443 <input class="form-control" name="limit" id="limit" />
445 <label for="timeUnits" class="col-sm-4 control-label">Time Units</label>
446 <div class="col-sm-8">
447 <select class="form-control" name="timeUnits"
449 <option value=""></option>
450 <option value="minute">minute</option>
451 <option value="hour">hour</option>
452 <option value="day">day</option>
453 <option value="week">week</option>
454 <option value="month">month</option>
455 <option value="year">year</option>
458 <label for="timeWindow" class="col-sm-4 control-label">Time Window</label>
459 <div class="col-sm-8">
460 <input class="form-control" name="timeWindow" id="timeWindow" />
463 <div class="form-group clearfix">
464 <label for="guardActiveStart" class="col-sm-4 control-label">
465 Guard Active Start</label>
466 <div class="col-sm-8">
467 <input class="form-control" name="guardActiveStart"
468 id="guardActiveStart" value="00:00:00Z"/>
470 <label for="guardActiveEnd" class="col-sm-4 control-label">
471 Guard Active End</label>
472 <div class="col-sm-8">
473 <input class="form-control" name="guardActiveEnd"
474 id="guardActiveEnd" value="00:00:01Z"/>
484 <div attribute-test="policywindowpropertiesf" class="modal-footer">
485 <button id="savePropsBtn" class="btn btn-primary" ng-disabled="duplicated">Close</button>
486 <button ng-click="close(true)" id="close_button"
487 class="btn btn-primary">Cancel</button>