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>Ecomp Name:<sup><b>*</b></sup></label> <select
47 class="form-control" ng-disabled="temp.policy.readOnly"
48 ng-model="temp.policy.ecompName"
49 ng-options="option for option in ecompNameDictionaryDatas track by option"
50 required pattern="\S+" title="EcompName 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-6">
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>
88 <label>Trigger Signature:</label><br>
90 <div class="form-group row">
91 <div class="form-group col-sm-1">
92 <button type="button" class="btn btn-default"
93 ng-disabled="temp.policy.readOnly" ng-click="addTriggerButton()">
94 <i class="fa fa-plus"></i>
96 <button type="button" class="btn btn-default"
97 ng-disabled="temp.policy.readOnly"
98 ng-click="removeTriggerButton()">
99 <i class="fa fa-minus"></i>
103 <div class="form-group row">
104 <div data-ng-repeat="choice in temp.policy.traptriggerSignatures">
105 <div class="form-group row" style="margin-left: 2%">
106 <div class="form-group col-sm-3">
107 <label ng-model="choice.label" name="label">{{choice.id}}</label>
108 <button type="button" class="btn btn-default"
109 ng-disabled="temp.policy.readOnly"
110 ng-click="addTrapTriggerButton(choice.id)">
111 <i class="fa fa-plus"></i>
113 <button type="button" class="btn btn-default"
114 ng-disabled="temp.policy.readOnly"
115 ng-click="removeTrapTriggerButton(choice.id)">
116 <i class="fa fa-minus"></i>
120 <div class="form-group row">
122 data-ng-repeat="choice in temp.policy.triggerTrapSignatures[choice.id]">
123 <div class="form-group row" style="margin-left: 4%">
124 <div class="form-group col-sm-1">
125 <label ng-model="choice.label" name="label">{{choice.id}}</label>
127 <div class="form-group col-sm-1">
128 <select class="form-control"
129 ng-disabled="temp.policy.readOnly" ng-model="choice.notBox"
130 name="notBox"><option>NOT</option></select>
132 <div class="form-group col-sm-4">
133 <select class="form-control"
134 ng-disabled="temp.policy.readOnly"
135 ng-model="choice.trigger1"
136 ng-options="option for option in varbindDictionaryDatas track by option">
137 <option value="">{{choice.trigger1}}</option>
140 <div class="form-group col-sm-1">
141 <select class="form-control"
142 ng-disabled="temp.policy.readOnly"
143 ng-model="choice.operatorBox" name="operatorBox"><option>AND</option>
144 <option>OR</option></select>
146 <div class="form-group col-sm-4">
147 <select class="form-control"
148 ng-disabled="temp.policy.readOnly"
149 ng-model="choice.trigger2"
150 ng-options="option for option in varbindDictionaryDatas track by option">
151 <option value="">{{choice.trigger2}}</option>
163 <label>Connect Traps:</label><br>
164 <div class="form-group row">
165 <div class="form-group col-sm-1">
166 <button type="button" class="btn btn-default"
167 ng-disabled="temp.policy.readOnly"
168 ng-click="addTriggerConnectButton()">
169 <i class="fa fa-plus"></i>
173 <div class="form-group row">
175 data-ng-repeat="choice in temp.policy.connecttriggerSignatures">
176 <div class="form-group row" style="margin-left: 2%">
177 <div class="form-group col-sm-1">
178 <label ng-model="choice.label" name="label">{{choice.id}}</label>
180 <div class="form-group col-sm-1">
181 <select class="form-control" ng-disabled="temp.policy.readOnly"
182 ng-model="choice.notBox" name="notBox"><option>NOT</option></select>
184 <div class="form-group col-sm-1">
185 <select ng-disabled="temp.policy.readOnly"
186 ng-model="choice.connectTrap1" class="form-control"
187 ng-options="option for option in connectTriggerTrapsList track by option">
188 <option value="">{{choice.connectTrap1}}</option>
191 <div class="form-group col-sm-1">
192 <input type="text" ng-disabled="temp.policy.readOnly"
193 ng-model="choice.trapCount1" name="trapCount1"
194 class="form-control" />
196 <div class="form-group col-sm-1">
197 <select class="form-control" ng-disabled="temp.policy.readOnly"
198 ng-model="choice.operatorBox" name="operatorBox"><option>AND</option>
199 <option>OR</option></select>
201 <div class="form-group col-sm-1">
202 <select class="form-control" ng-disabled="temp.policy.readOnly"
203 ng-model="choice.connectTrap2"
204 ng-options="option for option in connectTriggerTrapsList track by option">
205 <option value="">{{choice.connectTrap2}}</option>
208 <div class="form-group col-sm-1">
209 <input type="text" ng-disabled="temp.policy.readOnly"
210 ng-model="choice.trapCount2" name="trapCount1"
211 class="form-control" />
213 <div class="form-group col-sm-1">
214 <button type="button" class="btn btn-default" ng-show="$last"
215 ng-disabled="temp.policy.readOnly"
216 ng-click="removeTriggerConnectButton()">
217 <i class="fa fa-minus"></i>
224 <div class="form-group row">
225 <div class="form-group col-sm-2">
226 <label>Clear TimeOut:<sup><b>*</b></sup>
227 </label><br> <input type="text" ng-disabled="triggerdisabled"
228 ng-model="temp.policy.clearTimeOut" class="form-control" required />
230 <div class="form-group col-sm-2">
231 <label>Trap Max Age:<sup><b>*</b></sup></label><br> <input
232 type="text" ng-disabled="triggerdisabled"
233 ng-model="temp.policy.trapMaxAge" class="form-control"
234 ng-init="temp.policy.jsonBodyData.trapMaxAge='300'" value="300"
240 <div class="form-group row">
241 <label>VSCL Action:<sup><b>*</b></sup></label><br>
242 <div class="form-group col-sm-4">
243 <label>vPRO Actions:<sup><b>*</b></sup></label><br> <select
244 class="form-control" ng-disabled="temp.policy.readOnly"
245 ng-model="temp.policy.jsonBodyData.actions"
246 ng-options="option for option in vsclActionDictionaryDatas track by option">
247 <option value="">{{temp.policy.jsonBodyData.actions}}</option>
250 <div class="form-group col-sm-2">
251 <label>Time Interval:<sup><b>*</b></sup>
252 </label><br> <input type="text" ng-disabled="temp.policy.readOnly"
253 ng-model="temp.policy.jsonBodyData.timeInterval"
254 class="form-control" required />
256 <div class="form-group col-sm-2">
257 <label>App-C TimeOut:<sup><b>*</b></sup></label><br> <input
258 type="text" ng-disabled="temp.policy.readOnly"
259 ng-model="temp.policy.jsonBodyData.timeOutvPRO"
260 class="form-control" required />
262 <div class="form-group col-sm-2">
263 <label>TimeOut for Ruby:<sup><b>*</b></sup></label><br> <input
264 type="text" ng-disabled="temp.policy.readOnly"
265 ng-model="temp.policy.jsonBodyData.timeOutRuby"
266 class="form-control" required />
268 <div class="form-group col-sm-2">
269 <label>Number of Retries:<sup><b>*</b></sup></label><br> <input
270 type="text" ng-disabled="temp.policy.readOnly"
271 ng-model="temp.policy.jsonBodyData.retrys" class="form-control"
275 <div class="form-group row">
276 <div class="form-group col-sm-4">
277 <label>Aging Window:<sup><b>*</b></sup>
278 </label><br> <input type="text" ng-disabled="temp.policy.readOnly"
279 ng-model="temp.policy.jsonBodyData.agingWindow"
280 class="form-control" required />
282 <div class="form-group col-sm-4">
283 <label>Text to Include in UEB messages for AOTS ticket and
284 Geo Link:</label><br> <input type="text"
285 ng-disabled="temp.policy.readOnly"
286 ng-model="temp.policy.jsonBodyData.geoLink" class="form-control"
289 <div class="form-group col-sm-4">
290 <label>Email Address:</label><br> <input type="text"
291 ng-disabled="temp.policy.readOnly"
292 ng-model="temp.policy.jsonBodyData.emailAddress"
293 class="form-control" required />
298 <div class="form-group row">
299 <label>PEP:<sup><b>*</b></sup></label><br>
300 <div class="form-group col-sm-3">
301 <label>PEP Options:<sup><b></b></sup></label><br> <select
302 class="form-control" ng-disabled="temp.policy.readOnly"
303 ng-model="temp.policy.jsonBodyData.pepName"
304 ng-options="option for option in pepOptionsDictionaryDatas track by option"
305 ng-change="getPepActionValues(temp.policy.jsonBodyData.pepName)">
306 <option value="">{{temp.policy.jsonBodyData.pepName}}</option>
307 </select></select></select>
309 <div class="form-group col-sm-3">
310 <label>Actions:<sup><b></b></sup></label><br> <select
311 class="form-control" ng-disabled="temp.policy.readOnly"
312 ng-model="temp.policy.jsonBodyData.pepAction"
313 ng-options="option for option in pepActionDictionaryDatas track by option">
314 <option value="">{{temp.policy.jsonBodyData.pepAction}}</option>
321 <label>Verification Signature:</label><br>
323 <div class="form-group row">
324 <div class="form-group col-sm-1">
325 <button type="button" class="btn btn-default"
326 ng-disabled="temp.policy.readOnly"
327 ng-click="addVerFaultButton()">
328 <i class="fa fa-plus"></i>
330 <button type="button" class="btn btn-default"
331 ng-disabled="temp.policy.readOnly"
332 ng-click="removeVerFaultButton()">
333 <i class="fa fa-minus"></i>
337 <div class="form-group row">
338 <div data-ng-repeat="choice in temp.policy.faulttriggerSignatures">
339 <div class="form-group row" style="margin-left: 2%">
340 <div class="form-group col-sm-3">
341 <label ng-model="choice.label" name="label">{{choice.id}}</label>
342 <button type="button" class="btn btn-default"
343 ng-disabled="temp.policy.readOnly"
344 ng-click="addVerTriggerButton(choice.id)">
345 <i class="fa fa-plus"></i>
347 <button type="button" class="btn btn-default"
348 ng-disabled="temp.policy.readOnly"
349 ng-click="removeVerTriggerButton(choice.id)">
350 <i class="fa fa-minus"></i>
354 <div class="form-group row">
356 data-ng-repeat="choice in temp.policy.triggerfaultSignatures[choice.id]">
357 <div class="form-group row" style="margin-left: 4%">
358 <div class="form-group col-sm-1">
359 <label ng-model="choice.label" name="label">{{choice.id}}</label>
361 <div class="form-group col-sm-1">
362 <select class="form-control"
363 ng-disabled="temp.policy.readOnly" ng-model="choice.notBox"
364 name="notBox"><option>NOT</option></select>
366 <div class="form-group col-sm-4">
367 <select class="form-control"
368 ng-disabled="temp.policy.readOnly"
369 ng-model="choice.trigger1"
370 ng-options="option for option in varbindDictionaryDatas track by option">
371 <option value="">{{choice.trigger1}}</option>
374 <div class="form-group col-sm-1">
375 <select class="form-control"
376 ng-disabled="temp.policy.readOnly"
377 ng-model="choice.operatorBox" name="operatorBox"><option>AND</option>
378 <option>OR</option></select>
380 <div class="form-group col-sm-4">
381 <select class="form-control"
382 ng-disabled="temp.policy.readOnly"
383 ng-model="choice.trigger2"
384 ng-options="option for option in varbindDictionaryDatas track by option">
385 <option value="">{{choice.trigger2}}</option>
396 <label>Connect All Faults:</label><br>
397 <div class="form-group row">
398 <div class="form-group col-sm-1">
399 <button type="button" class="btn btn-default"
400 ng-disabled="temp.policy.readOnly"
401 ng-click="addFaultConnectButton()">
402 <i class="fa fa-plus"></i>
406 <div class="form-group row">
408 data-ng-repeat="choice in temp.policy.connectVerificationSignatures">
409 <div class="form-group row" style="margin-left: 2%">
410 <div class="form-group col-sm-1">
411 <label ng-model="choice.label" name="label">{{choice.id}}</label>
413 <div class="form-group col-sm-1">
414 <select class="form-control" ng-disabled="temp.policy.readOnly"
415 ng-model="choice.notBox" name="notBox"><option>NOT</option></select>
417 <div class="form-group col-sm-1">
418 <select ng-disabled="temp.policy.readOnly"
419 ng-model="choice.connectTrap1" class="form-control"
420 ng-options="option for option in connectTriggerFaultsList track by option">
421 <option value="">{{choice.connectTrap1}}</option>
424 <div class="form-group col-sm-1">
425 <input type="text" ng-disabled="temp.policy.readOnly"
426 ng-model="choice.trapCount1" name="trapCount1"
427 class="form-control" />
429 <div class="form-group col-sm-1">
430 <select class="form-control" ng-disabled="temp.policy.readOnly"
431 ng-model="choice.operatorBox" name="operatorBox"><option>AND</option>
432 <option>OR</option></select>
434 <div class="form-group col-sm-1">
435 <select ng-disabled="temp.policy.readOnly"
436 ng-model="choice.connectTrap2" class="form-control"
437 ng-options="option for option in connectTriggerFaultsList track by option">
438 <option value="">{{choice.connectTrap2}}</option>
441 <div class="form-group col-sm-1">
442 <input type="text" ng-disabled="temp.policy.readOnly"
443 ng-model="choice.trapCount2" name="trapCount1"
444 class="form-control" />
446 <div class="form-group col-sm-1">
447 <button type="button" class="btn btn-default" ng-show="$last"
448 ng-disabled="temp.policy.readOnly"
449 ng-click="removeFaultConnectButton()">
450 <i class="fa fa-minus"></i>
457 <div class="form-group row">
458 <div class="form-group col-sm-2">
459 <label>Clear TimeOut:<sup><b>*</b></sup></label><br> <input
460 type="text" ng-disabled="verificationdisabled"
461 ng-disabled="temp.policy.readOnly"
462 ng-model="temp.policy.verificationclearTimeOut"
463 class="form-control" required />
469 <label>Additional Conditions: If current VM status in A&AI
470 is in Maintenance then the Control Loop will not execute the Action
471 and shall<sup><b>*</b></sup>
474 <input type="radio" ng-disabled="temp.policy.readOnly"
475 ng-model="temp.policy.jsonBodyData.conditions" name="radSize"
476 id="sizeSmall" value="SEND" checked="checked" /><label
477 for="sizeSmall">DCAE should send event notification</label> <input
478 type="radio" ng-disabled="temp.policy.readOnly"
479 ng-model="temp.policy.jsonBodyData.conditions" name="radSize"
480 id="sizeMed" value="NOTSEND" /><label for="sizeMed">DCAE
481 should not send event notification</label>
486 <div id="validate" style="width: 70%"></div>
488 <div class="modal-footer">
489 <button class="btn btn-primary" herf="javascript:void(0)"
490 ng-disabled="temp.policy.readOnly"
491 ng-click="validatePolicy(temp.policy);">Validate</button>
492 <button class="btn btn-success" herf="javascript:void(0)"
493 ng-disabled="savebutton" ng-disabled="temp.policy.readOnly"
494 ng-click="saveFaultPolicy(temp);">Save</button>
495 <button type="button" class="btn btn-default" data-dismiss="modal"
496 ng-disabled="temp.inprocess" ng-model="finalPath"
497 ng-controller="FileManagerCtrl" ng-click="closefunction(finalPath);">Close</button>