1 <div ng-controller="clFaultController">
4 <div class="form-group row">
5 <div class="form-group col-sm-6">
6 <label>Policy Name:<sup><b>*</b></sup></label> <input type="text"
7 class="form-control" ng-disabled="temp.policy.readOnly"
8 ng-readonly="temp.policy.editPolicy"
9 ng-model="temp.policy.policyName" required pattern="\S+"
10 title="Enter the Policy Name without any spaces" />
12 <div class="form-group col-sm-6">
13 <label>Description:</label> <input type="text" class="form-control"
14 ng-disabled="temp.policy.readOnly"
15 ng-model="temp.policy.policyDescription" />
18 <div class="form-group row">
19 <div class="form-group col-sm-3">
20 <label>Risk Type:<sup><b>*</b></sup></label> <select
21 class="form-control" ng-disabled="temp.policy.readOnly"
22 ng-model="temp.policy.riskType"
23 ng-options="option for option in riskTypeDictionaryDatas track by option"
24 required pattern="\S+" title="RiskType is required"></select>
26 <div class="form-group col-sm-3">
27 <label>Risk Level:<sup><b>*</b></sup></label> <select
28 class="form-control" ng-disabled="temp.policy.readOnly"
29 ng-model="temp.policy.riskLevel"
30 required pattern="\S+" title="RiskLevel is required">
35 <option>5</option></select>
37 <div class="form-group col-sm-3">
38 <label>Guard:<sup><b>*</b></sup></label> <select
39 class="form-control" ng-disabled="temp.policy.readOnly"
40 ng-model="temp.policy.guard"
41 required pattern="\S+" title="Guard is required">
43 <option>False</option></select>
45 <div class="form-group col-sm-3">
46 <label>Onap Name:<sup><b>*</b></sup></label> <select
47 class="form-control" ng-disabled="temp.policy.readOnly"
48 ng-model="temp.policy.onapName"
49 ng-options="option for option in onapNameDictionaryDatas track by option"
50 required pattern="\S+" title="OnapName is required"></select>
53 <div class="form-group row">
54 <div class="form-group col-sm-3">
55 <label>Vnf Type:<sup><b>*</b></sup></label> <select
56 class="form-control" ng-disabled="temp.policy.readOnly"
57 ng-model="temp.policy.jsonBodyData.vnfType"
58 ng-options="option for option in vnfTypeDictionaryDatas track by option">
59 <option value="">{{temp.policy.jsonBodyData.vnfType}}</option>
62 <div class="form-group col-sm-3">
63 <label>Policy Status:<sup><b>*</b></sup></label> <select
64 class="form-control" ng-disabled="temp.policy.readOnly"
65 ng-init="init(temp.policy.jsonBodyData);"
66 ng-model="temp.policy.jsonBodyData.closedLoopPolicyStatus">
67 <option value="Active">Active</option>
68 <option>InActive</option>
71 <div class="form-group col-sm-3">
72 <label>D2/Virtualized Services(s):<sup><b>*</b></sup></label><br>
73 <input type="checkbox" ng-disabled="temp.policy.readOnly"
74 ng-model="temp.policy.jsonBodyData.trinity"> Hosted Voice
75 (Trinity)</input> <input type="checkbox" ng-disabled="temp.policy.readOnly"
76 ng-model="temp.policy.jsonBodyData.vUSP"> vUSP</input> <input
77 type="checkbox" ng-disabled="temp.policy.readOnly"
78 ng-model="temp.policy.jsonBodyData.mcr"> MCR</input> <input
79 type="checkbox" ng-disabled="temp.policy.readOnly"
80 ng-model="temp.policy.jsonBodyData.gamma"> Gamma</input> <input
81 type="checkbox" ng-disabled="temp.policy.readOnly"
82 ng-model="temp.policy.jsonBodyData.vDNS"> vDNS</input>
84 <div class="form-group col-sm-3">
85 <label>Time to Live Date:</label> <input type="date"
86 class="form-control" name="ttlDate" ng-disabled="temp.policy.readOnly" class="date"
87 ng-model="temp.policy.ttlDate" />
93 <label>Trigger Signature:</label><br>
95 <div class="form-group row">
96 <div class="form-group col-sm-1">
97 <button type="button" class="btn btn-default"
98 ng-disabled="temp.policy.readOnly" ng-click="addTriggerButton()">
99 <i class="fa fa-plus"></i>
101 <button type="button" class="btn btn-default"
102 ng-disabled="temp.policy.readOnly"
103 ng-click="removeTriggerButton()">
104 <i class="fa fa-minus"></i>
108 <div class="form-group row">
109 <div data-ng-repeat="choice in temp.policy.traptriggerSignatures">
110 <div class="form-group row" style="margin-left: 2%">
111 <div class="form-group col-sm-3">
112 <label ng-model="choice.label" name="label">{{choice.id}}</label>
113 <button type="button" class="btn btn-default"
114 ng-disabled="temp.policy.readOnly"
115 ng-click="addTrapTriggerButton(choice.id)">
116 <i class="fa fa-plus"></i>
118 <button type="button" class="btn btn-default"
119 ng-disabled="temp.policy.readOnly"
120 ng-click="removeTrapTriggerButton(choice.id)">
121 <i class="fa fa-minus"></i>
125 <div class="form-group row">
127 data-ng-repeat="choice in temp.policy.triggerTrapSignatures[choice.id]">
128 <div class="form-group row" style="margin-left: 4%">
129 <div class="form-group col-sm-1">
130 <label ng-model="choice.label" name="label">{{choice.id}}</label>
132 <div class="form-group col-sm-1">
133 <select class="form-control"
134 ng-disabled="temp.policy.readOnly" ng-model="choice.notBox"
135 name="notBox"><option>NOT</option></select>
137 <div class="form-group col-sm-4">
138 <select class="form-control"
139 ng-disabled="temp.policy.readOnly"
140 ng-model="choice.trigger1"
141 ng-options="option for option in varbindDictionaryDatas track by option">
142 <option value="">{{choice.trigger1}}</option>
145 <div class="form-group col-sm-1">
146 <select class="form-control"
147 ng-disabled="temp.policy.readOnly"
148 ng-model="choice.operatorBox" name="operatorBox"><option>AND</option>
149 <option>OR</option></select>
151 <div class="form-group col-sm-4">
152 <select class="form-control"
153 ng-disabled="temp.policy.readOnly"
154 ng-model="choice.trigger2"
155 ng-options="option for option in varbindDictionaryDatas track by option">
156 <option value="">{{choice.trigger2}}</option>
168 <label>Connect Traps:</label><br>
169 <div class="form-group row">
170 <div class="form-group col-sm-1">
171 <button type="button" class="btn btn-default"
172 ng-disabled="temp.policy.readOnly"
173 ng-click="addTriggerConnectButton()">
174 <i class="fa fa-plus"></i>
178 <div class="form-group row">
180 data-ng-repeat="choice in temp.policy.connecttriggerSignatures">
181 <div class="form-group row" style="margin-left: 2%">
182 <div class="form-group col-sm-1">
183 <label ng-model="choice.label" name="label">{{choice.id}}</label>
185 <div class="form-group col-sm-1">
186 <select class="form-control" ng-disabled="temp.policy.readOnly"
187 ng-model="choice.notBox" name="notBox"><option>NOT</option></select>
189 <div class="form-group col-sm-1">
190 <select ng-disabled="temp.policy.readOnly"
191 ng-model="choice.connectTrap1" class="form-control"
192 ng-options="option for option in connectTriggerTrapsList track by option">
193 <option value="">{{choice.connectTrap1}}</option>
196 <div class="form-group col-sm-1">
197 <input type="text" ng-disabled="temp.policy.readOnly"
198 ng-model="choice.trapCount1" name="trapCount1"
199 class="form-control" />
201 <div class="form-group col-sm-1">
202 <select class="form-control" ng-disabled="temp.policy.readOnly"
203 ng-model="choice.operatorBox" name="operatorBox"><option>AND</option>
204 <option>OR</option></select>
206 <div class="form-group col-sm-1">
207 <select class="form-control" ng-disabled="temp.policy.readOnly"
208 ng-model="choice.connectTrap2"
209 ng-options="option for option in connectTriggerTrapsList track by option">
210 <option value="">{{choice.connectTrap2}}</option>
213 <div class="form-group col-sm-1">
214 <input type="text" ng-disabled="temp.policy.readOnly"
215 ng-model="choice.trapCount2" name="trapCount1"
216 class="form-control" />
218 <div class="form-group col-sm-1">
219 <button type="button" class="btn btn-default" ng-show="$last"
220 ng-disabled="temp.policy.readOnly"
221 ng-click="removeTriggerConnectButton()">
222 <i class="fa fa-minus"></i>
229 <div class="form-group row">
230 <div class="form-group col-sm-2">
231 <label>Clear TimeOut:<sup><b>*</b></sup>
232 </label><br> <input type="text" ng-disabled="triggerdisabled"
233 ng-model="temp.policy.clearTimeOut" class="form-control" required />
235 <div class="form-group col-sm-2">
236 <label>Trap Max Age:<sup><b>*</b></sup></label><br> <input
237 type="text" ng-disabled="triggerdisabled"
238 ng-model="temp.policy.trapMaxAge" class="form-control"
239 ng-init="temp.policy.jsonBodyData.trapMaxAge='300'" value="300"
245 <div class="form-group row">
246 <label>VSCL Action:<sup><b>*</b></sup></label><br>
247 <div class="form-group col-sm-4">
248 <label>vPRO Actions:<sup><b>*</b></sup></label><br> <select
249 class="form-control" ng-disabled="temp.policy.readOnly"
250 ng-model="temp.policy.jsonBodyData.actions"
251 ng-options="option for option in vsclActionDictionaryDatas track by option">
252 <option value="">{{temp.policy.jsonBodyData.actions}}</option>
255 <div class="form-group col-sm-2">
256 <label>Time Interval:<sup><b>*</b></sup>
257 </label><br> <input type="text" ng-disabled="temp.policy.readOnly"
258 ng-model="temp.policy.jsonBodyData.timeInterval"
259 class="form-control" required />
261 <div class="form-group col-sm-2">
262 <label>App-C TimeOut:<sup><b>*</b></sup></label><br> <input
263 type="text" ng-disabled="temp.policy.readOnly"
264 ng-model="temp.policy.jsonBodyData.timeOutvPRO"
265 class="form-control" required />
267 <div class="form-group col-sm-2">
268 <label>TimeOut for Ruby:<sup><b>*</b></sup></label><br> <input
269 type="text" ng-disabled="temp.policy.readOnly"
270 ng-model="temp.policy.jsonBodyData.timeOutRuby"
271 class="form-control" required />
273 <div class="form-group col-sm-2">
274 <label>Number of Retries:<sup><b>*</b></sup></label><br> <input
275 type="text" ng-disabled="temp.policy.readOnly"
276 ng-model="temp.policy.jsonBodyData.retrys" class="form-control"
280 <div class="form-group row">
281 <div class="form-group col-sm-4">
282 <label>Aging Window:<sup><b>*</b></sup>
283 </label><br> <input type="text" ng-disabled="temp.policy.readOnly"
284 ng-model="temp.policy.jsonBodyData.agingWindow"
285 class="form-control" required />
287 <div class="form-group col-sm-4">
288 <label>Text to Include in UEB messages for AOTS ticket and
289 Geo Link:</label><br> <input type="text"
290 ng-disabled="temp.policy.readOnly"
291 ng-model="temp.policy.jsonBodyData.geoLink" class="form-control"
294 <div class="form-group col-sm-4">
295 <label>Email Address:</label><br> <input type="text"
296 ng-disabled="temp.policy.readOnly"
297 ng-model="temp.policy.jsonBodyData.emailAddress"
298 class="form-control" required />
303 <div class="form-group row">
304 <label>PEP:<sup><b></b></sup></label><br>
305 <div class="form-group col-sm-3">
306 <label>PEP Options:<sup><b></b></sup></label><br> <select
307 class="form-control" ng-disabled="temp.policy.readOnly"
308 ng-model="temp.policy.jsonBodyData.pepName"
309 ng-options="option for option in pepOptionsDictionaryDatas track by option"
310 ng-change="getPepActionValues(temp.policy.jsonBodyData.pepName)">
311 <option value="">{{temp.policy.jsonBodyData.pepName}}</option>
312 </select></select></select>
314 <div class="form-group col-sm-3">
315 <label>Actions:<sup><b></b></sup></label><br> <select
316 class="form-control" ng-disabled="temp.policy.readOnly"
317 ng-model="temp.policy.jsonBodyData.pepAction"
318 ng-options="option for option in pepActionDictionaryDatas track by option">
319 <option value="">{{temp.policy.jsonBodyData.pepAction}}</option>
326 <label>Verification Signature:</label><br>
328 <div class="form-group row">
329 <div class="form-group col-sm-1">
330 <button type="button" class="btn btn-default"
331 ng-disabled="temp.policy.readOnly"
332 ng-click="addVerFaultButton()">
333 <i class="fa fa-plus"></i>
335 <button type="button" class="btn btn-default"
336 ng-disabled="temp.policy.readOnly"
337 ng-click="removeVerFaultButton()">
338 <i class="fa fa-minus"></i>
342 <div class="form-group row">
343 <div data-ng-repeat="choice in temp.policy.faulttriggerSignatures">
344 <div class="form-group row" style="margin-left: 2%">
345 <div class="form-group col-sm-3">
346 <label ng-model="choice.label" name="label">{{choice.id}}</label>
347 <button type="button" class="btn btn-default"
348 ng-disabled="temp.policy.readOnly"
349 ng-click="addVerTriggerButton(choice.id)">
350 <i class="fa fa-plus"></i>
352 <button type="button" class="btn btn-default"
353 ng-disabled="temp.policy.readOnly"
354 ng-click="removeVerTriggerButton(choice.id)">
355 <i class="fa fa-minus"></i>
359 <div class="form-group row">
361 data-ng-repeat="choice in temp.policy.triggerfaultSignatures[choice.id]">
362 <div class="form-group row" style="margin-left: 4%">
363 <div class="form-group col-sm-1">
364 <label ng-model="choice.label" name="label">{{choice.id}}</label>
366 <div class="form-group col-sm-1">
367 <select class="form-control"
368 ng-disabled="temp.policy.readOnly" ng-model="choice.notBox"
369 name="notBox"><option>NOT</option></select>
371 <div class="form-group col-sm-4">
372 <select class="form-control"
373 ng-disabled="temp.policy.readOnly"
374 ng-model="choice.trigger1"
375 ng-options="option for option in varbindDictionaryDatas track by option">
376 <option value="">{{choice.trigger1}}</option>
379 <div class="form-group col-sm-1">
380 <select class="form-control"
381 ng-disabled="temp.policy.readOnly"
382 ng-model="choice.operatorBox" name="operatorBox"><option>AND</option>
383 <option>OR</option></select>
385 <div class="form-group col-sm-4">
386 <select class="form-control"
387 ng-disabled="temp.policy.readOnly"
388 ng-model="choice.trigger2"
389 ng-options="option for option in varbindDictionaryDatas track by option">
390 <option value="">{{choice.trigger2}}</option>
401 <label>Connect All Faults:</label><br>
402 <div class="form-group row">
403 <div class="form-group col-sm-1">
404 <button type="button" class="btn btn-default"
405 ng-disabled="temp.policy.readOnly"
406 ng-click="addFaultConnectButton()">
407 <i class="fa fa-plus"></i>
411 <div class="form-group row">
413 data-ng-repeat="choice in temp.policy.connectVerificationSignatures">
414 <div class="form-group row" style="margin-left: 2%">
415 <div class="form-group col-sm-1">
416 <label ng-model="choice.label" name="label">{{choice.id}}</label>
418 <div class="form-group col-sm-1">
419 <select class="form-control" ng-disabled="temp.policy.readOnly"
420 ng-model="choice.notBox" name="notBox"><option>NOT</option></select>
422 <div class="form-group col-sm-1">
423 <select ng-disabled="temp.policy.readOnly"
424 ng-model="choice.connectTrap1" class="form-control"
425 ng-options="option for option in connectTriggerFaultsList track by option">
426 <option value="">{{choice.connectTrap1}}</option>
429 <div class="form-group col-sm-1">
430 <input type="text" ng-disabled="temp.policy.readOnly"
431 ng-model="choice.trapCount1" name="trapCount1"
432 class="form-control" />
434 <div class="form-group col-sm-1">
435 <select class="form-control" ng-disabled="temp.policy.readOnly"
436 ng-model="choice.operatorBox" name="operatorBox"><option>AND</option>
437 <option>OR</option></select>
439 <div class="form-group col-sm-1">
440 <select ng-disabled="temp.policy.readOnly"
441 ng-model="choice.connectTrap2" class="form-control"
442 ng-options="option for option in connectTriggerFaultsList track by option">
443 <option value="">{{choice.connectTrap2}}</option>
446 <div class="form-group col-sm-1">
447 <input type="text" ng-disabled="temp.policy.readOnly"
448 ng-model="choice.trapCount2" name="trapCount1"
449 class="form-control" />
451 <div class="form-group col-sm-1">
452 <button type="button" class="btn btn-default" ng-show="$last"
453 ng-disabled="temp.policy.readOnly"
454 ng-click="removeFaultConnectButton()">
455 <i class="fa fa-minus"></i>
462 <div class="form-group row">
463 <div class="form-group col-sm-2">
464 <label>Clear TimeOut:<sup><b>*</b></sup></label><br> <input
465 type="text" ng-disabled="verificationdisabled"
466 ng-disabled="temp.policy.readOnly"
467 ng-model="temp.policy.verificationclearTimeOut"
468 class="form-control" required />
474 <label>Additional Conditions: If current VM status in A&AI
475 is in Maintenance then the Control Loop will not execute the Action
476 and shall<sup><b>*</b></sup>
479 <input type="radio" ng-disabled="temp.policy.readOnly"
480 ng-model="temp.policy.jsonBodyData.conditions" name="radSize"
481 id="sizeSmall" value="SEND" checked="checked" /><label
482 for="sizeSmall">DCAE should send event notification</label> <input
483 type="radio" ng-disabled="temp.policy.readOnly"
484 ng-model="temp.policy.jsonBodyData.conditions" name="radSize"
485 id="sizeMed" value="NOTSEND" /><label for="sizeMed">DCAE
486 should not send event notification</label>
491 <div id="validate" style="width: 70%"></div>
493 <div class="modal-footer">
494 <button class="btn btn-primary" herf="javascript:void(0)"
495 ng-disabled="temp.policy.readOnly"
496 ng-click="validatePolicy(temp.policy);">Validate</button>
497 <button class="btn btn-success" herf="javascript:void(0)"
498 ng-disabled="savebutton" ng-disabled="temp.policy.readOnly"
499 ng-click="saveFaultPolicy(temp);">Save</button>
500 <button type="button" class="btn btn-default" ng-click="refresh();">Close</button>