Policy 1707 commit to LF
[policy/engine.git] / POLICY-SDK-APP / src / main / webapp / app / policyApp / policy-models / Editor / PolicyTemplates / ClosedLoopFaultPolicyTemplate.html
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/ClosedLoopFaultPolicyTemplate.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/ClosedLoopFaultPolicyTemplate.html
new file mode 100644 (file)
index 0000000..6590d26
--- /dev/null
@@ -0,0 +1,500 @@
+<div ng-controller="clFaultController">
+       <form>
+               <div class="well">
+                       <div class="form-group row">
+                               <div class="form-group col-sm-6">
+                                       <label>Policy Name:<sup><b>*</b></sup></label> <input type="text"
+                                               class="form-control" ng-disabled="temp.policy.readOnly"
+                                               ng-readonly="temp.policy.editPolicy"
+                                               ng-model="temp.policy.policyName" required pattern="\S+"
+                                               title="Enter the Policy Name without any spaces" />
+                               </div>
+                               <div class="form-group col-sm-6">
+                                       <label>Description:</label> <input type="text" class="form-control"
+                                               ng-disabled="temp.policy.readOnly"
+                                               ng-model="temp.policy.policyDescription" />
+                               </div>
+                       </div>
+                       <div class="form-group row">
+                               <div class="form-group col-sm-3">
+                                       <label>Risk Type:<sup><b>*</b></sup></label> <select
+                                               class="form-control" ng-disabled="temp.policy.readOnly"
+                                               ng-model="temp.policy.riskType"
+                                               ng-options="option for option in riskTypeDictionaryDatas track by option"
+                                               required pattern="\S+" title="RiskType is required"></select>
+                               </div>
+                               <div class="form-group col-sm-3">
+                                       <label>Risk Level:<sup><b>*</b></sup></label> <select
+                                               class="form-control" ng-disabled="temp.policy.readOnly"
+                                               ng-model="temp.policy.riskLevel"
+                                               required pattern="\S+" title="RiskLevel is required">
+                                               <option>1</option>
+                                               <option>2</option>
+                                               <option>3</option>
+                                               <option>4</option>
+                                               <option>5</option></select>
+                               </div>
+                               <div class="form-group col-sm-3">
+                                       <label>Guard:<sup><b>*</b></sup></label> <select
+                                               class="form-control" ng-disabled="temp.policy.readOnly"
+                                               ng-model="temp.policy.guard"
+                                               required pattern="\S+" title="Guard is required">
+                                               <option>True</option>
+                                               <option>False</option></select>
+                               </div>
+                               <div class="form-group col-sm-3">
+                                       <label>Ecomp Name:<sup><b>*</b></sup></label> <select
+                                               class="form-control" ng-disabled="temp.policy.readOnly"
+                                               ng-model="temp.policy.ecompName"
+                                               ng-options="option for option in ecompNameDictionaryDatas track by option"
+                                               required pattern="\S+" title="EcompName is required"></select>
+                               </div>
+                       </div>
+                       <div class="form-group row">
+                               <div class="form-group col-sm-3">
+                                       <label>Vnf Type:<sup><b>*</b></sup></label> <select
+                                               class="form-control" ng-disabled="temp.policy.readOnly"
+                                               ng-model="temp.policy.jsonBodyData.vnfType"
+                                               ng-options="option for option in vnfTypeDictionaryDatas  track by option">
+                                               <option value="">{{temp.policy.jsonBodyData.vnfType}}</option>
+                                       </select>
+                               </div>
+                               <div class="form-group col-sm-3">
+                                       <label>Policy Status:<sup><b>*</b></sup></label> <select
+                                               class="form-control" ng-disabled="temp.policy.readOnly"
+                                               ng-init="init(temp.policy.jsonBodyData);"
+                                               ng-model="temp.policy.jsonBodyData.closedLoopPolicyStatus">
+                                               <option value="Active">Active</option>
+                                               <option>InActive</option>
+                                       </select>
+                               </div>
+                               <div class="form-group col-sm-6">
+                                       <label>D2/Virtualized Services(s):<sup><b>*</b></sup></label><br>
+                                       <input type="checkbox" ng-disabled="temp.policy.readOnly"
+                                               ng-model="temp.policy.jsonBodyData.trinity"> Hosted Voice
+                                       (Trinity)</input> <input type="checkbox" ng-disabled="temp.policy.readOnly"
+                                               ng-model="temp.policy.jsonBodyData.vUSP"> vUSP</input> <input
+                                               type="checkbox" ng-disabled="temp.policy.readOnly"
+                                               ng-model="temp.policy.jsonBodyData.mcr"> MCR</input> <input
+                                               type="checkbox" ng-disabled="temp.policy.readOnly"
+                                               ng-model="temp.policy.jsonBodyData.gamma"> Gamma</input> <input
+                                               type="checkbox" ng-disabled="temp.policy.readOnly"
+                                               ng-model="temp.policy.jsonBodyData.vDNS"> vDNS</input>
+                               </div>
+                       </div>
+               </div>
+               <div class="well">
+                       <div>
+                               <label>Trigger Signature:</label><br>
+                               <form>
+                                       <div class="form-group row">
+                                               <div class="form-group col-sm-1">
+                                                       <button type="button" class="btn btn-default"
+                                                               ng-disabled="temp.policy.readOnly" ng-click="addTriggerButton()">
+                                                               <i class="fa fa-plus"></i>
+                                                       </button>
+                                                       <button type="button" class="btn btn-default"
+                                                               ng-disabled="temp.policy.readOnly"
+                                                               ng-click="removeTriggerButton()">
+                                                               <i class="fa fa-minus"></i>
+                                                       </button>
+                                               </div>
+                                       </div>
+                                       <div class="form-group row">
+                                               <div data-ng-repeat="choice in temp.policy.traptriggerSignatures">
+                                                       <div class="form-group row" style="margin-left: 2%">
+                                                               <div class="form-group col-sm-3">
+                                                                       <label ng-model="choice.label" name="label">{{choice.id}}</label>
+                                                                       <button type="button" class="btn btn-default"
+                                                                               ng-disabled="temp.policy.readOnly"
+                                                                               ng-click="addTrapTriggerButton(choice.id)">
+                                                                               <i class="fa fa-plus"></i>
+                                                                       </button>
+                                                                       <button type="button" class="btn btn-default"
+                                                                               ng-disabled="temp.policy.readOnly"
+                                                                               ng-click="removeTrapTriggerButton(choice.id)">
+                                                                               <i class="fa fa-minus"></i>
+                                                                       </button>
+                                                               </div>
+                                                       </div>
+                                                       <div class="form-group row">
+                                                               <div
+                                                                       data-ng-repeat="choice in temp.policy.triggerTrapSignatures[choice.id]">
+                                                                       <div class="form-group row" style="margin-left: 4%">
+                                                                               <div class="form-group col-sm-1">
+                                                                                       <label ng-model="choice.label" name="label">{{choice.id}}</label>
+                                                                               </div>
+                                                                               <div class="form-group col-sm-1">
+                                                                                       <select class="form-control"
+                                                                                               ng-disabled="temp.policy.readOnly" ng-model="choice.notBox"
+                                                                                               name="notBox"><option>NOT</option></select>
+                                                                               </div>
+                                                                               <div class="form-group col-sm-4">
+                                                                                       <select class="form-control"
+                                                                                               ng-disabled="temp.policy.readOnly"
+                                                                                               ng-model="choice.trigger1"
+                                                                                               ng-options="option for option in varbindDictionaryDatas track by option">
+                                                                                               <option value="">{{choice.trigger1}}</option>
+                                                                                       </select>
+                                                                               </div>
+                                                                               <div class="form-group col-sm-1">
+                                                                                       <select class="form-control"
+                                                                                               ng-disabled="temp.policy.readOnly"
+                                                                                               ng-model="choice.operatorBox" name="operatorBox"><option>AND</option>
+                                                                                               <option>OR</option></select>
+                                                                               </div>
+                                                                               <div class="form-group col-sm-4">
+                                                                                       <select class="form-control"
+                                                                                               ng-disabled="temp.policy.readOnly"
+                                                                                               ng-model="choice.trigger2"
+                                                                                               ng-options="option for option in varbindDictionaryDatas track by option">
+                                                                                               <option value="">{{choice.trigger2}}</option>
+                                                                                       </select>
+                                                                               </div>
+                                                                       </div>
+                                                               </div>
+                                                       </div>
+                                               </div>
+                                       </div>
+                               </form>
+                       </div>
+                       </br>
+                       <div>
+                               <label>Connect Traps:</label><br>
+                               <div class="form-group row">
+                                       <div class="form-group col-sm-1">
+                                               <button type="button" class="btn btn-default"
+                                                       ng-disabled="temp.policy.readOnly"
+                                                       ng-click="addTriggerConnectButton()">
+                                                       <i class="fa fa-plus"></i>
+                                               </button>
+                                       </div>
+                               </div>
+                               <div class="form-group row">
+                                       <div
+                                               data-ng-repeat="choice in temp.policy.connecttriggerSignatures">
+                                               <div class="form-group row" style="margin-left: 2%">
+                                                       <div class="form-group col-sm-1">
+                                                               <label ng-model="choice.label" name="label">{{choice.id}}</label>
+                                                       </div>
+                                                       <div class="form-group col-sm-1">
+                                                               <select class="form-control" ng-disabled="temp.policy.readOnly"
+                                                                       ng-model="choice.notBox" name="notBox"><option>NOT</option></select>
+                                                       </div>
+                                                       <div class="form-group col-sm-1">
+                                                               <select ng-disabled="temp.policy.readOnly"
+                                                                       ng-model="choice.connectTrap1" class="form-control"
+                                                                       ng-options="option for option in connectTriggerTrapsList track by option">
+                                                                       <option value="">{{choice.connectTrap1}}</option>
+                                                               </select>
+                                                       </div>
+                                                       <div class="form-group col-sm-1">
+                                                               <input type="text" ng-disabled="temp.policy.readOnly"
+                                                                       ng-model="choice.trapCount1" name="trapCount1"
+                                                                       class="form-control" />
+                                                       </div>
+                                                       <div class="form-group col-sm-1">
+                                                               <select class="form-control" ng-disabled="temp.policy.readOnly"
+                                                                       ng-model="choice.operatorBox" name="operatorBox"><option>AND</option>
+                                                                       <option>OR</option></select>
+                                                       </div>
+                                                       <div class="form-group col-sm-1">
+                                                               <select class="form-control" ng-disabled="temp.policy.readOnly"
+                                                                       ng-model="choice.connectTrap2"
+                                                                       ng-options="option for option in connectTriggerTrapsList track by option">
+                                                                       <option value="">{{choice.connectTrap2}}</option>
+                                                               </select>
+                                                       </div>
+                                                       <div class="form-group col-sm-1">
+                                                               <input type="text" ng-disabled="temp.policy.readOnly"
+                                                                       ng-model="choice.trapCount2" name="trapCount1"
+                                                                       class="form-control" />
+                                                       </div>
+                                                       <div class="form-group col-sm-1">
+                                                               <button type="button" class="btn btn-default" ng-show="$last"
+                                                                       ng-disabled="temp.policy.readOnly"
+                                                                       ng-click="removeTriggerConnectButton()">
+                                                                       <i class="fa fa-minus"></i>
+                                                               </button>
+                                                       </div>
+                                               </div>
+                                       </div>
+                               </div>
+                       </div>
+                       <div class="form-group row">
+                               <div class="form-group col-sm-2">
+                                       <label>Clear TimeOut:<sup><b>*</b></sup>
+                                       </label><br> <input type="text" ng-disabled="triggerdisabled"
+                                               ng-model="temp.policy.clearTimeOut" class="form-control" required />
+                               </div>
+                               <div class="form-group col-sm-2">
+                                       <label>Trap Max Age:<sup><b>*</b></sup></label><br> <input
+                                               type="text" ng-disabled="triggerdisabled"
+                                               ng-model="temp.policy.trapMaxAge" class="form-control"
+                                               ng-init="temp.policy.jsonBodyData.trapMaxAge='300'" value="300"
+                                               required />
+                               </div>
+                       </div>
+               </div>
+               <div class="well">
+                       <div class="form-group row">
+                               <label>VSCL Action:<sup><b>*</b></sup></label><br>
+                               <div class="form-group col-sm-4">
+                                       <label>vPRO Actions:<sup><b>*</b></sup></label><br> <select
+                                               class="form-control" ng-disabled="temp.policy.readOnly"
+                                               ng-model="temp.policy.jsonBodyData.actions"
+                                               ng-options="option for option in vsclActionDictionaryDatas  track by option">
+                                               <option value="">{{temp.policy.jsonBodyData.actions}}</option>
+                                       </select>
+                               </div>
+                               <div class="form-group col-sm-2">
+                                       <label>Time Interval:<sup><b>*</b></sup>
+                                       </label><br> <input type="text" ng-disabled="temp.policy.readOnly"
+                                               ng-model="temp.policy.jsonBodyData.timeInterval"
+                                               class="form-control" required />
+                               </div>
+                               <div class="form-group col-sm-2">
+                                       <label>App-C TimeOut:<sup><b>*</b></sup></label><br> <input
+                                               type="text" ng-disabled="temp.policy.readOnly"
+                                               ng-model="temp.policy.jsonBodyData.timeOutvPRO"
+                                               class="form-control" required />
+                               </div>
+                               <div class="form-group col-sm-2">
+                                       <label>TimeOut for Ruby:<sup><b>*</b></sup></label><br> <input
+                                               type="text" ng-disabled="temp.policy.readOnly"
+                                               ng-model="temp.policy.jsonBodyData.timeOutRuby"
+                                               class="form-control" required />
+                               </div>
+                               <div class="form-group col-sm-2">
+                                       <label>Number of Retries:<sup><b>*</b></sup></label><br> <input
+                                               type="text" ng-disabled="temp.policy.readOnly"
+                                               ng-model="temp.policy.jsonBodyData.retrys" class="form-control"
+                                               required />
+                               </div>
+                       </div>
+                       <div class="form-group row">
+                               <div class="form-group col-sm-4">
+                                       <label>Aging Window:<sup><b>*</b></sup>
+                                       </label><br> <input type="text" ng-disabled="temp.policy.readOnly"
+                                               ng-model="temp.policy.jsonBodyData.agingWindow"
+                                               class="form-control" required />
+                               </div>
+                               <div class="form-group col-sm-4">
+                                       <label>Text to Include in UEB messages for AOTS ticket and
+                                               Geo Link:</label><br> <input type="text"
+                                               ng-disabled="temp.policy.readOnly"
+                                               ng-model="temp.policy.jsonBodyData.geoLink" class="form-control"
+                                               required />
+                               </div>
+                               <div class="form-group col-sm-4">
+                                       <label>Email Address:</label><br> <input type="text"
+                                               ng-disabled="temp.policy.readOnly"
+                                               ng-model="temp.policy.jsonBodyData.emailAddress"
+                                               class="form-control" required />
+                               </div>
+                       </div>
+               </div>
+               <div class="well">
+                       <div class="form-group row">
+                               <label>PEP:<sup><b>*</b></sup></label><br>
+                               <div class="form-group col-sm-3">
+                                       <label>PEP Options:<sup><b></b></sup></label><br> <select
+                                               class="form-control" ng-disabled="temp.policy.readOnly"
+                                               ng-model="temp.policy.jsonBodyData.pepName"
+                                               ng-options="option for option in pepOptionsDictionaryDatas  track by option"
+                                               ng-change="getPepActionValues(temp.policy.jsonBodyData.pepName)">
+                                               <option value="">{{temp.policy.jsonBodyData.pepName}}</option>
+                                       </select></select></select>
+                               </div>
+                               <div class="form-group col-sm-3">
+                                       <label>Actions:<sup><b></b></sup></label><br> <select
+                                               class="form-control" ng-disabled="temp.policy.readOnly"
+                                               ng-model="temp.policy.jsonBodyData.pepAction"
+                                               ng-options="option for option in pepActionDictionaryDatas  track by option">
+                                               <option value="">{{temp.policy.jsonBodyData.pepAction}}</option>
+                                       </select>
+                               </div>
+                       </div>
+               </div>
+               <div class="well">
+                       <div>
+                               <label>Verification Signature:</label><br>
+                               <form>
+                                       <div class="form-group row">
+                                               <div class="form-group col-sm-1">
+                                                       <button type="button" class="btn btn-default"
+                                                               ng-disabled="temp.policy.readOnly"
+                                                               ng-click="addVerFaultButton()">
+                                                               <i class="fa fa-plus"></i>
+                                                       </button>
+                                                       <button type="button" class="btn btn-default"
+                                                               ng-disabled="temp.policy.readOnly"
+                                                               ng-click="removeVerFaultButton()">
+                                                               <i class="fa fa-minus"></i>
+                                                       </button>
+                                               </div>
+                                       </div>
+                                       <div class="form-group row">
+                                               <div data-ng-repeat="choice in temp.policy.faulttriggerSignatures">
+                                                       <div class="form-group row" style="margin-left: 2%">
+                                                               <div class="form-group col-sm-3">
+                                                                       <label ng-model="choice.label" name="label">{{choice.id}}</label>
+                                                                       <button type="button" class="btn btn-default"
+                                                                               ng-disabled="temp.policy.readOnly"
+                                                                               ng-click="addVerTriggerButton(choice.id)">
+                                                                               <i class="fa fa-plus"></i>
+                                                                       </button>
+                                                                       <button type="button" class="btn btn-default"
+                                                                               ng-disabled="temp.policy.readOnly"
+                                                                               ng-click="removeVerTriggerButton(choice.id)">
+                                                                               <i class="fa fa-minus"></i>
+                                                                       </button>
+                                                               </div>
+                                                       </div>
+                                                       <div class="form-group row">
+                                                               <div
+                                                                       data-ng-repeat="choice in temp.policy.triggerfaultSignatures[choice.id]">
+                                                                       <div class="form-group row" style="margin-left: 4%">
+                                                                               <div class="form-group col-sm-1">
+                                                                                       <label ng-model="choice.label" name="label">{{choice.id}}</label>
+                                                                               </div>
+                                                                               <div class="form-group col-sm-1">
+                                                                                       <select class="form-control"
+                                                                                               ng-disabled="temp.policy.readOnly" ng-model="choice.notBox"
+                                                                                               name="notBox"><option>NOT</option></select>
+                                                                               </div>
+                                                                               <div class="form-group col-sm-4">
+                                                                                       <select class="form-control"
+                                                                                               ng-disabled="temp.policy.readOnly"
+                                                                                               ng-model="choice.trigger1"
+                                                                                               ng-options="option for option in varbindDictionaryDatas track by option">
+                                                                                               <option value="">{{choice.trigger1}}</option>
+                                                                                       </select>
+                                                                               </div>
+                                                                               <div class="form-group col-sm-1">
+                                                                                       <select class="form-control"
+                                                                                               ng-disabled="temp.policy.readOnly"
+                                                                                               ng-model="choice.operatorBox" name="operatorBox"><option>AND</option>
+                                                                                               <option>OR</option></select>
+                                                                               </div>
+                                                                               <div class="form-group col-sm-4">
+                                                                                       <select class="form-control"
+                                                                                               ng-disabled="temp.policy.readOnly"
+                                                                                               ng-model="choice.trigger2"
+                                                                                               ng-options="option for option in varbindDictionaryDatas track by option">
+                                                                                               <option value="">{{choice.trigger2}}</option>
+                                                                                       </select>
+                                                                               </div>
+                                                                       </div>
+                                                               </div>
+                                                       </div>
+                                               </div>
+                               </form>
+                       </div>
+                       </br>
+                       <div>
+                               <label>Connect All Faults:</label><br>
+                               <div class="form-group row">
+                                       <div class="form-group col-sm-1">
+                                               <button type="button" class="btn btn-default"
+                                                       ng-disabled="temp.policy.readOnly"
+                                                       ng-click="addFaultConnectButton()">
+                                                       <i class="fa fa-plus"></i>
+                                               </button>
+                                       </div>
+                               </div>
+                               <div class="form-group row">
+                                       <div
+                                               data-ng-repeat="choice in temp.policy.connectVerificationSignatures">
+                                               <div class="form-group row" style="margin-left: 2%">
+                                                       <div class="form-group col-sm-1">
+                                                               <label ng-model="choice.label" name="label">{{choice.id}}</label>
+                                                       </div>
+                                                       <div class="form-group col-sm-1">
+                                                               <select class="form-control" ng-disabled="temp.policy.readOnly"
+                                                                       ng-model="choice.notBox" name="notBox"><option>NOT</option></select>
+                                                       </div>
+                                                       <div class="form-group col-sm-1">
+                                                               <select ng-disabled="temp.policy.readOnly"
+                                                                       ng-model="choice.connectTrap1" class="form-control"
+                                                                       ng-options="option for option in connectTriggerFaultsList track by option">
+                                                                       <option value="">{{choice.connectTrap1}}</option>
+                                                               </select>
+                                                       </div>
+                                                       <div class="form-group col-sm-1">
+                                                               <input type="text" ng-disabled="temp.policy.readOnly"
+                                                                       ng-model="choice.trapCount1" name="trapCount1"
+                                                                       class="form-control" />
+                                                       </div>
+                                                       <div class="form-group col-sm-1">
+                                                               <select class="form-control" ng-disabled="temp.policy.readOnly"
+                                                                       ng-model="choice.operatorBox" name="operatorBox"><option>AND</option>
+                                                                       <option>OR</option></select>
+                                                       </div>
+                                                       <div class="form-group col-sm-1">
+                                                               <select ng-disabled="temp.policy.readOnly"
+                                                                       ng-model="choice.connectTrap2" class="form-control"
+                                                                       ng-options="option for option in connectTriggerFaultsList track by option">
+                                                                       <option value="">{{choice.connectTrap2}}</option>
+                                                               </select>
+                                                       </div>
+                                                       <div class="form-group col-sm-1">
+                                                               <input type="text" ng-disabled="temp.policy.readOnly"
+                                                                       ng-model="choice.trapCount2" name="trapCount1"
+                                                                       class="form-control" />
+                                                       </div>
+                                                       <div class="form-group col-sm-1">
+                                                               <button type="button" class="btn btn-default" ng-show="$last"
+                                                                       ng-disabled="temp.policy.readOnly"
+                                                                       ng-click="removeFaultConnectButton()">
+                                                                       <i class="fa fa-minus"></i>
+                                                               </button>
+                                                       </div>
+                                               </div>
+                                       </div>
+                               </div>
+                       </div>
+                       <div class="form-group row">
+                               <div class="form-group col-sm-2">
+                                       <label>Clear TimeOut:<sup><b>*</b></sup></label><br> <input
+                                               type="text" ng-disabled="verificationdisabled"
+                                               ng-disabled="temp.policy.readOnly"
+                                               ng-model="temp.policy.verificationclearTimeOut"
+                                               class="form-control" required />
+                               </div>
+                       </div>
+               </div>
+               <div class="well">
+                       <div>
+                               <label>Additional Conditions: If current VM status in A&AI
+                                       is in Maintenance then the Control Loop will not execute the Action
+                                       and shall<sup><b>*</b></sup>
+                               </label><br>
+                               <p>
+                                       <input type="radio" ng-disabled="temp.policy.readOnly"
+                                               ng-model="temp.policy.jsonBodyData.conditions" name="radSize"
+                                               id="sizeSmall" value="SEND" checked="checked" /><label
+                                               for="sizeSmall">DCAE should send event notification</label> <input
+                                               type="radio" ng-disabled="temp.policy.readOnly"
+                                               ng-model="temp.policy.jsonBodyData.conditions" name="radSize"
+                                               id="sizeMed" value="NOTSEND" /><label for="sizeMed">DCAE
+                                               should not send event notification</label>
+                               </p>
+                       </div>
+               </div>
+               <br />
+               <div id="validate" style="width: 70%"></div>
+               <br>
+               <div class="modal-footer">
+                       <button class="btn btn-primary" herf="javascript:void(0)"
+                               ng-disabled="temp.policy.readOnly"
+                               ng-click="validatePolicy(temp.policy);">Validate</button>
+                       <button class="btn btn-success" herf="javascript:void(0)"
+                               ng-disabled="savebutton" ng-disabled="temp.policy.readOnly"
+                               ng-click="saveFaultPolicy(temp);">Save</button>
+                       <button type="button" class="btn btn-default" data-dismiss="modal"
+                               ng-disabled="temp.inprocess" ng-model="finalPath"
+                               ng-controller="FileManagerCtrl" ng-click="closefunction(finalPath);">Close</button>
+               </div>
+       </form>
+</div>
\ No newline at end of file