2 ============LICENSE_START==================================================
4 ===========================================================================
5 Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
6 ===========================================================================
7 Licensed under the Apache License, Version 2.0 (the "License");
8 you may not use this file except in compliance with the License.
9 You may obtain a copy of the License at
11 http://www.apache.org/licenses/LICENSE-2.0
13 Unless required by applicable law or agreed to in writing, software
14 distributed under the License is distributed on an "AS IS" BASIS,
15 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 See the License for the specific language governing permissions and
17 limitations under the License.
18 ============LICENSE_END====================================================
20 <div ng-controller="clFaultController">
23 <div class="form-group row">
24 <div class="form-group col-sm-6">
25 <label>Policy Name:<sup><b>*</b></sup></label> <input type="text"
26 class="form-control" ng-disabled="temp.policy.readOnly"
27 ng-readonly="temp.policy.editPolicy"
28 ng-model="temp.policy.policyName" required pattern="\S+"
29 title="Enter Policy Name without any spaces and special characters and will accept _." />
31 <div class="form-group col-sm-6">
32 <label>Description:</label> <input type="text" class="form-control"
33 ng-disabled="temp.policy.readOnly"
34 ng-model="temp.policy.policyDescription"
35 title="Description field will accept any type of data."/>
38 <div class="form-group row">
39 <div class="form-group col-sm-3">
40 <label>Risk Type:<sup><b>*</b></sup></label> <select
41 class="form-control" ng-disabled="temp.policy.readOnly"
42 ng-model="temp.policy.riskType"
43 ng-options="option for option in riskTypeDictionaryDatas track by option"
44 required pattern="\S+" title="Select the dropdown value driven from RiskType (Safe Policy)Dictionary."></select>
46 <div class="form-group col-sm-3">
47 <label>Risk Level:<sup><b>*</b></sup></label> <select
48 class="form-control" ng-disabled="temp.policy.readOnly"
49 ng-model="temp.policy.riskLevel"
50 required pattern="\S+" title="Select the dropdown Risk level value.">
55 <option>5</option></select>
57 <div class="form-group col-sm-3">
58 <label>Guard:<sup><b>*</b></sup></label> <select
59 class="form-control" ng-disabled="temp.policy.readOnly"
60 ng-model="temp.policy.guard"
61 required pattern="\S+" title="Select the dropdown Guard value.">
63 <option>False</option></select>
65 <div class="form-group col-sm-3">
66 <label>Onap Name:<sup><b>*</b></sup></label> <select
67 class="form-control" ng-disabled="temp.policy.readOnly"
68 ng-model="temp.policy.onapName"
69 ng-options="option for option in onapNameDictionaryDatas track by option"
70 required pattern="\S+" title="Select the dropdown value driven from OnapName (common)Dictionary."></select>
73 <div class="form-group row">
74 <div class="form-group col-sm-3">
75 <label>Vnf Type:<sup><b>*</b></sup></label> <select
76 class="form-control" ng-disabled="temp.policy.readOnly"
77 ng-model="temp.policy.jsonBodyData.vnfType"
78 ng-options="option for option in vnfTypeDictionaryDatas track by option"
79 title="Select the dropdown value driven from VNF Type (ClosedLoop Policy)Dictionary.">
80 <option value="">{{temp.policy.jsonBodyData.vnfType}}</option>
83 <div class="form-group col-sm-3">
84 <label>Policy Status:<sup><b>*</b></sup></label> <select
85 class="form-control" ng-disabled="temp.policy.readOnly"
86 ng-init="init(temp.policy.jsonBodyData);"
87 ng-model="temp.policy.jsonBodyData.closedLoopPolicyStatus"
88 title="Select the value from dropdown.">
89 <option value="Active">Active</option>
90 <option>InActive</option>
93 <div class="form-group col-sm-3">
94 <label>D2/Virtualized Services(s):<sup><b>*</b></sup></label><br>
95 <input type="checkbox" ng-disabled="temp.policy.readOnly"
96 ng-model="temp.policy.jsonBodyData.trinity"> Hosted Voice
97 (Trinity)</input> <input type="checkbox" ng-disabled="temp.policy.readOnly"
98 ng-model="temp.policy.jsonBodyData.vUSP"> vUSP</input> <input
99 type="checkbox" ng-disabled="temp.policy.readOnly"
100 ng-model="temp.policy.jsonBodyData.mcr"> MCR</input> <input
101 type="checkbox" ng-disabled="temp.policy.readOnly"
102 ng-model="temp.policy.jsonBodyData.gamma"> Gamma</input> <input
103 type="checkbox" ng-disabled="temp.policy.readOnly"
104 ng-model="temp.policy.jsonBodyData.vDNS"> vDNS</input>
106 <div class="form-group col-sm-3">
107 <label>Time to Live Date:</label> <input type="text" id="ttlDate"
108 class="form-control" name="ttlDate" ng-disabled="temp.policy.readOnly"
109 ng-model="temp.policy.ttlDate" title="Select the date from calender onclick on the field."/>
115 <label>Trigger Signature:</label><br>
117 <div class="form-group row">
118 <div class="form-group col-sm-1">
119 <button type="button" class="btn btn-default"
120 ng-disabled="temp.policy.readOnly" ng-click="addTriggerButton()"
121 title="onClick Trigger Signature Trap row is added.">
122 <i class="fa fa-plus"></i>
124 <button type="button" class="btn btn-default"
125 ng-disabled="temp.policy.readOnly"
126 ng-click="removeTriggerButton()"
127 title="onClick Trigger Signature Trap row is removed.">
128 <i class="fa fa-minus"></i>
132 <div class="form-group row">
133 <div data-ng-repeat="choice in temp.policy.traptriggerSignatures">
134 <div class="form-group row" style="margin-left: 2%">
135 <div class="form-group col-sm-3">
136 <label ng-model="choice.label" name="label">{{choice.id}}</label>
137 <button type="button" class="btn btn-default"
138 ng-disabled="temp.policy.readOnly"
139 ng-click="addTrapTriggerButton(choice.id)"
140 title="onClick Trap Signature row is added.">
141 <i class="fa fa-plus"></i>
143 <button type="button" class="btn btn-default"
144 ng-disabled="temp.policy.readOnly"
145 ng-click="removeTrapTriggerButton(choice.id)"
146 title="onClick Trap Signature row is removed.">
147 <i class="fa fa-minus"></i>
151 <div class="form-group row">
153 data-ng-repeat="choice in temp.policy.triggerTrapSignatures[choice.id]">
154 <div class="form-group row" style="margin-left: 4%">
155 <div class="form-group col-sm-1">
156 <label ng-model="choice.label" name="label">{{choice.id}}</label>
158 <div class="form-group col-sm-1">
159 <select class="form-control"
160 ng-disabled="temp.policy.readOnly" ng-model="choice.notBox"
161 name="notBox"><option>NOT</option></select>
163 <div class="form-group col-sm-4">
164 <select class="form-control"
165 ng-disabled="temp.policy.readOnly"
166 ng-model="choice.trigger1"
167 ng-options="option for option in varbindDictionaryDatas track by option"
168 title="Select the dropdown value driven from Varbind (ClosedLoop)Dictionary.">
169 <option value="">{{choice.trigger1}}</option>
172 <div class="form-group col-sm-1">
173 <select class="form-control"
174 ng-disabled="temp.policy.readOnly"
175 ng-model="choice.operatorBox" name="operatorBox"><option>AND</option>
176 <option>OR</option></select>
178 <div class="form-group col-sm-4">
179 <select class="form-control"
180 ng-disabled="temp.policy.readOnly"
181 ng-model="choice.trigger2"
182 ng-options="option for option in varbindDictionaryDatas track by option"
183 title="Select the dropdown value driven from Varbind (ClosedLoop)Dictionary.">
184 <option value="">{{choice.trigger2}}</option>
196 <label>Connect Traps:</label><br>
197 <div class="form-group row">
198 <div class="form-group col-sm-1">
199 <button type="button" class="btn btn-default"
200 ng-disabled="temp.policy.readOnly"
201 ng-click="addTriggerConnectButton()" title="onClick Connect Trap Trigger Signature row is added.">
202 <i class="fa fa-plus"></i>
206 <div class="form-group row">
208 data-ng-repeat="choice in temp.policy.connecttriggerSignatures">
209 <div class="form-group row" style="margin-left: 2%">
210 <div class="form-group col-sm-1">
211 <label ng-model="choice.label" name="label">{{choice.id}}</label>
213 <div class="form-group col-sm-1">
214 <select class="form-control" ng-disabled="temp.policy.readOnly"
215 ng-model="choice.notBox" name="notBox"><option>NOT</option></select>
217 <div class="form-group col-sm-1">
218 <select ng-disabled="temp.policy.readOnly"
219 ng-model="choice.connectTrap1" class="form-control"
220 ng-options="option for option in connectTriggerTrapsList track by option"
221 title="Select the traps to form rule formation.">
222 <option value="">{{choice.connectTrap1}}</option>
225 <div class="form-group col-sm-1">
226 <input type="text" ng-disabled="temp.policy.readOnly"
227 ng-model="choice.trapCount1" name="trapCount1"
228 class="form-control" />
230 <div class="form-group col-sm-1">
231 <select class="form-control" ng-disabled="temp.policy.readOnly"
232 ng-model="choice.operatorBox" name="operatorBox"><option>AND</option>
233 <option>OR</option></select>
235 <div class="form-group col-sm-1">
236 <select class="form-control" ng-disabled="temp.policy.readOnly"
237 ng-model="choice.connectTrap2"
238 ng-options="option for option in connectTriggerTrapsList track by option"
239 title="Select the traps to form rule formation.">
240 <option value="">{{choice.connectTrap2}}</option>
243 <div class="form-group col-sm-1">
244 <input type="text" ng-disabled="temp.policy.readOnly"
245 ng-model="choice.trapCount2" name="trapCount1"
246 class="form-control" />
248 <div class="form-group col-sm-1">
249 <button type="button" class="btn btn-default" ng-show="$last"
250 ng-disabled="temp.policy.readOnly"
251 ng-click="removeTriggerConnectButton()" title="onClick Connect Trap Trigger Signature row is removed.">
252 <i class="fa fa-minus"></i>
259 <div class="form-group row">
260 <div class="form-group col-sm-2">
261 <label>Clear TimeOut:
262 </label><br> <input type="text" ng-disabled="triggerdisabled"
263 ng-model="temp.policy.clearTimeOut" class="form-control" title="Enter the Cleartimeout value and the value should be numeric."/>
265 <div class="form-group col-sm-2">
266 <label>Trap Max Age:</label><br> <input
267 type="text" ng-disabled="triggerdisabled"
268 ng-model="temp.policy.trapMaxAge" class="form-control"
269 ng-init="temp.policy.jsonBodyData.trapMaxAge='300'" value="300" title="Enter the Trap Max Age value and the value should be numeric."/>
274 <div class="form-group row">
275 <label>VSCL Action:<sup><b>*</b></sup></label><br>
276 <div class="form-group col-sm-4">
277 <label>vPRO Actions:<sup><b>*</b></sup></label><br> <select
278 class="form-control" ng-disabled="temp.policy.readOnly"
279 ng-model="temp.policy.jsonBodyData.actions"
280 ng-options="option for option in vsclActionDictionaryDatas track by option"
281 title="Select the dropdown value driven from VSCL Action (ClosedLoop)Dictionary.">
282 <option value="">{{temp.policy.jsonBodyData.actions}}</option>
285 <div class="form-group col-sm-2">
286 <label>Time Interval:<sup><b>*</b></sup>
287 </label><br> <input type="text" ng-disabled="temp.policy.readOnly"
288 ng-model="temp.policy.jsonBodyData.timeInterval"
289 class="form-control" required title="Enter the Time Interval value and the value should be numeric."/>
291 <div class="form-group col-sm-2">
292 <label>App-C TimeOut:<sup><b>*</b></sup></label><br> <input
293 type="text" ng-disabled="temp.policy.readOnly"
294 ng-model="temp.policy.jsonBodyData.timeOutvPRO"
295 class="form-control" required title="Enter the App-C Timeout value and the value should be numeric."/>
297 <div class="form-group col-sm-2">
298 <label>TimeOut for Ruby:<sup><b>*</b></sup></label><br> <input
299 type="text" ng-disabled="temp.policy.readOnly"
300 ng-model="temp.policy.jsonBodyData.timeOutRuby"
301 class="form-control" required title="Enter the Timeout for Ruby value and the value should be numeric."/>
303 <div class="form-group col-sm-2">
304 <label>Number of Retries:<sup><b>*</b></sup></label><br> <input
305 type="text" ng-disabled="temp.policy.readOnly"
306 ng-model="temp.policy.jsonBodyData.retrys" class="form-control"
307 required title="Enter the Number of retries value and the value should be numeric."/>
310 <div class="form-group row">
311 <div class="form-group col-sm-4">
312 <label>Aging Window:<sup><b>*</b></sup>
313 </label><br> <input type="text" ng-disabled="temp.policy.readOnly"
314 ng-model="temp.policy.jsonBodyData.agingWindow"
315 class="form-control" required title="Enter the Aging Window value and the value should be numeric."/>
317 <div class="form-group col-sm-4">
318 <label>Text to Include in UEB messages for AOTS ticket and
319 Geo Link:</label><br> <input type="text"
320 ng-disabled="temp.policy.readOnly"
321 ng-model="temp.policy.jsonBodyData.geoLink" class="form-control"
322 required title="Enter the UEB Message value."/>
324 <div class="form-group col-sm-4">
325 <label>Email Address:</label><br> <input type="text"
326 ng-disabled="temp.policy.readOnly"
327 ng-model="temp.policy.jsonBodyData.emailAddress"
328 class="form-control" required title="Enter the email address for multiple use comma seperated value."/>
333 <div class="form-group row">
334 <label>PEP:<sup><b></b></sup></label><br>
335 <div class="form-group col-sm-3">
336 <label>PEP Options:<sup><b></b></sup></label><br> <select
337 class="form-control" ng-disabled="temp.policy.readOnly"
338 ng-model="temp.policy.jsonBodyData.pepName"
339 ng-options="option for option in pepOptionsDictionaryDatas track by option"
340 ng-change="getPepActionValues(temp.policy.jsonBodyData.pepName)"
341 title="Select the dropdown value driven from PEP Options (ClosedLoop)Dictionary.">
342 <option value="">{{temp.policy.jsonBodyData.pepName}}</option>
343 </select></select></select>
345 <div class="form-group col-sm-3">
346 <label>Actions:<sup><b></b></sup></label><br> <select
347 class="form-control" ng-disabled="temp.policy.readOnly"
348 ng-model="temp.policy.jsonBodyData.pepAction"
349 ng-options="option for option in pepActionDictionaryDatas track by option"
350 title="Select the dropdown value driven based on PEP Options selection from PEP Options (ClosedLoop)Dictionary.">
351 <option value="">{{temp.policy.jsonBodyData.pepAction}}</option>
358 <label>Verification Signature:</label><br>
360 <div class="form-group row">
361 <div class="form-group col-sm-1">
362 <button type="button" class="btn btn-default"
363 ng-disabled="temp.policy.readOnly"
364 ng-click="addVerFaultButton()"
365 title="onClick Verification Signature Fault row is added.">
366 <i class="fa fa-plus"></i>
368 <button type="button" class="btn btn-default"
369 ng-disabled="temp.policy.readOnly"
370 ng-click="removeVerFaultButton()"
371 title="onClick Verification Signature Fault row is removed.">
372 <i class="fa fa-minus"></i>
376 <div class="form-group row">
377 <div data-ng-repeat="choice in temp.policy.faulttriggerSignatures">
378 <div class="form-group row" style="margin-left: 2%">
379 <div class="form-group col-sm-3">
380 <label ng-model="choice.label" name="label">{{choice.id}}</label>
381 <button type="button" class="btn btn-default"
382 ng-disabled="temp.policy.readOnly"
383 ng-click="addVerTriggerButton(choice.id)"
384 title="onClick Fault Signature row is added.">
385 <i class="fa fa-plus"></i>
387 <button type="button" class="btn btn-default"
388 ng-disabled="temp.policy.readOnly"
389 ng-click="removeVerTriggerButton(choice.id)"
390 title="onClick Fault Signature row is removed.">
391 <i class="fa fa-minus"></i>
395 <div class="form-group row">
397 data-ng-repeat="choice in temp.policy.triggerfaultSignatures[choice.id]">
398 <div class="form-group row" style="margin-left: 4%">
399 <div class="form-group col-sm-1">
400 <label ng-model="choice.label" name="label">{{choice.id}}</label>
402 <div class="form-group col-sm-1">
403 <select class="form-control"
404 ng-disabled="temp.policy.readOnly" ng-model="choice.notBox"
405 name="notBox"><option>NOT</option></select>
407 <div class="form-group col-sm-4">
408 <select class="form-control"
409 ng-disabled="temp.policy.readOnly"
410 ng-model="choice.trigger1"
411 ng-options="option for option in varbindDictionaryDatas track by option"
412 title="Select the dropdown value driven from Varbind (ClosedLoop)Dictionary.">
413 <option value="">{{choice.trigger1}}</option>
416 <div class="form-group col-sm-1">
417 <select class="form-control"
418 ng-disabled="temp.policy.readOnly"
419 ng-model="choice.operatorBox" name="operatorBox"><option>AND</option>
420 <option>OR</option></select>
422 <div class="form-group col-sm-4">
423 <select class="form-control"
424 ng-disabled="temp.policy.readOnly"
425 ng-model="choice.trigger2"
426 ng-options="option for option in varbindDictionaryDatas track by option"
427 title="Select the dropdown value driven from Varbind (ClosedLoop)Dictionary.">
428 <option value="">{{choice.trigger2}}</option>
439 <label>Connect All Faults:</label><br>
440 <div class="form-group row">
441 <div class="form-group col-sm-1">
442 <button type="button" class="btn btn-default"
443 ng-disabled="temp.policy.readOnly"
444 ng-click="addFaultConnectButton()" title="onClick Connect Fault Verification Signature row is added.">
445 <i class="fa fa-plus"></i>
449 <div class="form-group row">
451 data-ng-repeat="choice in temp.policy.connectVerificationSignatures">
452 <div class="form-group row" style="margin-left: 2%">
453 <div class="form-group col-sm-1">
454 <label ng-model="choice.label" name="label">{{choice.id}}</label>
456 <div class="form-group col-sm-1">
457 <select class="form-control" ng-disabled="temp.policy.readOnly"
458 ng-model="choice.notBox" name="notBox"><option>NOT</option></select>
460 <div class="form-group col-sm-1">
461 <select ng-disabled="temp.policy.readOnly"
462 ng-model="choice.connectTrap1" class="form-control"
463 ng-options="option for option in connectTriggerFaultsList track by option"
464 title="Select the faults to form rule formation.">
465 <option value="">{{choice.connectTrap1}}</option>
468 <div class="form-group col-sm-1">
469 <input type="text" ng-disabled="temp.policy.readOnly"
470 ng-model="choice.trapCount1" name="trapCount1"
471 class="form-control" />
473 <div class="form-group col-sm-1">
474 <select class="form-control" ng-disabled="temp.policy.readOnly"
475 ng-model="choice.operatorBox" name="operatorBox"><option>AND</option>
476 <option>OR</option></select>
478 <div class="form-group col-sm-1">
479 <select ng-disabled="temp.policy.readOnly"
480 ng-model="choice.connectTrap2" class="form-control"
481 ng-options="option for option in connectTriggerFaultsList track by option"
482 title="Select the faults to form rule formation.">
483 <option value="">{{choice.connectTrap2}}</option>
486 <div class="form-group col-sm-1">
487 <input type="text" ng-disabled="temp.policy.readOnly"
488 ng-model="choice.trapCount2" name="trapCount1"
489 class="form-control" />
491 <div class="form-group col-sm-1">
492 <button type="button" class="btn btn-default" ng-show="$last"
493 ng-disabled="temp.policy.readOnly"
494 ng-click="removeFaultConnectButton()" title="onClick Connect Fault Verification Signature row is removed.">
495 <i class="fa fa-minus"></i>
502 <div class="form-group row">
503 <div class="form-group col-sm-2">
504 <label>Clear TimeOut:</label><br> <input
505 type="text" ng-disabled="verificationdisabled"
506 ng-disabled="temp.policy.readOnly"
507 ng-model="temp.policy.verificationclearTimeOut"
508 class="form-control" required title="Enter the Cleartimeout value and the value should be numeric."/>
514 <label>Additional Conditions: If current VM status in A&AI
515 is in Maintenance then the Control Loop will not execute the Action
516 and shall<sup><b>*</b></sup>
519 <input type="radio" ng-disabled="temp.policy.readOnly"
520 ng-model="temp.policy.jsonBodyData.conditions" name="radSize"
521 id="sizeSmall" value="SEND" checked="checked" /><label
522 for="sizeSmall">DCAE should send event notification</label> <input
523 type="radio" ng-disabled="temp.policy.readOnly"
524 ng-model="temp.policy.jsonBodyData.conditions" name="radSize"
525 id="sizeMed" value="NOTSEND" /><label for="sizeMed">DCAE
526 should not send event notification</label>
531 <div id="validate" style="width: 70%"></div>
533 <div class="modal-footer">
534 <button class="btn btn-primary" herf="javascript:void(0)"
535 ng-disabled="temp.policy.readOnly"
536 ng-click="validatePolicy(temp.policy);" title="Validate the data entered in the Policy fields.">Validate</button>
537 <button class="btn btn-success" herf="javascript:void(0)"
538 ng-disabled="savebutton" ng-disabled="temp.policy.readOnly"
539 ng-click="saveFaultPolicy(temp);" title="Save the Policy with validated data.">Save</button>
540 <button type="button" class="btn btn-default" ng-click="refresh();" title="Close the template.">Close</button>