diff options
author | Pamela Dragosh <pdragosh@research.att.com> | 2017-02-14 19:41:00 -0500 |
---|---|---|
committer | Pamela Dragosh <pdragosh@research.att.com> | 2017-02-14 19:41:32 -0500 |
commit | 91d04c64771832a0b8815ffbe1f0f9920320d94d (patch) | |
tree | fb02d5e1c84a3d91def9a7ee95bc87f9c046cc96 /ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates | |
parent | b9d4caa40ef8e3566ac475968bce17b9b64b6939 (diff) |
Initial OpenECOMP policy/engine commit
Change-Id: I7dbff37733b661643dd4d1caefa3d7dccc361b6e
Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
Diffstat (limited to 'ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates')
12 files changed, 1449 insertions, 0 deletions
diff --git a/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/ActionPolicyTemplate.html b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/ActionPolicyTemplate.html new file mode 100644 index 000000000..30bf9fa2c --- /dev/null +++ b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/ActionPolicyTemplate.html @@ -0,0 +1,103 @@ +<!-- + ============LICENSE_START======================================================= + ECOMP Policy Engine + ================================================================================ + Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ============LICENSE_END========================================================= + --> + +<div ng-app= "abs" ng-controller= "actionPolicyController" > +<div class="modal__content"> + <div> + <label>Policy Name:<sup><b>*</b></sup></label><br> + <input type="text" class="form-control" ng-disabled ="temp.policy.readOnly" ng-readonly="temp.policy.editPolicy" ng-model="temp.policy.policyName" style="width:800px;"/> + </div> + <br/> + <div> + <label>Description:</label><br> + <input type="text" class="form-control" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.policyDescription" style="width:800px;"/> + </div> + <br/> + <div class="fn-ebz-container" > + <label>Component Attributes:</label><br> + <form method="post" class="form-horizontal" > + <div class="form-group"> + <div class="col-xs-1"> + <button type="button" class="btn btn-default" ng-disabled ="temp.policy.readOnly" ng-click="addNewChoice()"><i class="fa fa-plus"></i></button> + </div> + </div> + + <div data-ng-repeat="choice in temp.policy.attributes" class="form-horizontal" > + <div class="fn-ebz-container"> + <select class="form-field" ng-disabled ="temp.policy.readOnly" ng-model="choice.option" ng-options="option for option in attributeDictionaryDatas track by option" ></select> + </div> + <div class="fn-ebz-container"> + <input type="text" class="form-field" ng-disabled ="temp.policy.readOnly" ng-model= "choice.number" placeholder="Attribute Value" /> + </div> + <div class="fn-ebz-container"> + <button type="button" class="btn btn-default" ng-show="$last" ng-disabled ="temp.policy.readOnly" ng-click="removeChoice()"><i class="fa fa-minus"></i></button> + </div> + </div> + </form> + </div> + <br/> + <div class="fn-ebz-container" > + <label>Rule Algorithms:<sup><b>*</b></sup></label><br> + <form method="post" class="form-horizontal" > + <div class="form-group"> + <div class="col-xs-1"> + <button type="button" class="btn btn-default" ng-disabled ="temp.policy.readOnly" ng-click="addNewRuleAlgorithm()"><i class="fa fa-plus"></i></button> + </div> + </div> + <div data-ng-repeat="ruleAlgorithmschoice in temp.policy.ruleAlgorithmschoices" class="form-horizontal" > + <div class="fn-ebz-container "> + <label ng-model="ruleAlgorithmschoice.dynamicRuleAlgorithmLabels" ng-disabled ="temp.policy.readOnly" name="dynamicRuleAlgorithmLabels" >{{ruleAlgorithmschoice.id}}</label> + </div> + <div class="fn-ebz-container"> + <select type="text" class="form-field" ng-disabled ="temp.policy.readOnly" ng-model="ruleAlgorithmschoice.dynamicRuleAlgorithmField1" ng-options="option for option in attributeDictionaryDatas track by option" name="dynamicRuleAlgorithmField1" > + <option value="">{{ruleAlgorithmschoice.dynamicRuleAlgorithmField1}}</option></select> + </div> + <div class="fn-ebz-container "> + <select type="text" class="form-field" ng-disabled ="temp.policy.readOnly" ng-model="ruleAlgorithmschoice.dynamicRuleAlgorithmCombo" ng-options="option for option in functionDefinitionDatas" name="dynamicRuleAlgorithmCombo"> + <option value="">{{ruleAlgorithmschoice.dynamicRuleAlgorithmCombo}}</option></select> + </div> + <div class="fn-ebz-container"> + <input type="text" class="form-field" ng-disabled ="temp.policy.readOnly" ng-model= "ruleAlgorithmschoice.dynamicRuleAlgorithmField2" name="dynamicRuleAlgorithmField2"/> + </div> + <div class="fn-ebz-container"> + <button type="button" class="btn btn-default" ng-show="$last" ng-disabled ="temp.policy.readOnly" ng-click="removeRuleAlgorithm()"><i class="fa fa-minus"></i></button> + </div> + </div> + </form> + </div> + <br/> + <div class="fn-ebz-container"> + <label>Action Performer:<sup><b>*</b></sup></label><BR> + <select class="form-field" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.actionPerformer"> + <option>PEP</option> + <option>PDP</option> + </select> + </div> + <div class="fn-ebz-container" > + <label>Action Attribute:<sup><b>*</b></sup></label><br> + <select class="form-field" style="width:400px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.actionAttributeValue" ng-options="option for option in actionPolicyDictionaryDatas track by option"></select> + </div> + </div> + <div class="modal__footer"> + <button class="button button--primary button--small" 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 ="temp.policy.readOnly" ng-click="saveActionPolicy(temp);">Save</button> + <button class="btn btn-default" data-dismiss="modal" ng-disabled="temp.inprocess">Close</button> + </div> +</div> diff --git a/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/BRMSParamPolicyTemplate.html b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/BRMSParamPolicyTemplate.html new file mode 100644 index 000000000..a2bd4162f --- /dev/null +++ b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/BRMSParamPolicyTemplate.html @@ -0,0 +1,112 @@ +<!-- + ============LICENSE_START======================================================= + ECOMP Policy Engine + ================================================================================ + Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ============LICENSE_END========================================================= + --> + +<div ng-app= "abs" ng-controller= "brmsParamPolicyController" ng-init="addDataToFields(temp.policy.ruleName);"> +<div class="modal__content"> + <form class="form-horizontal" role="form" name="myform"> + <div class="form-group"> + <label>Policy Name:<sup><b>*</b></sup></label> + <div> + <input type="text" class="form-control" ng-disabled ="temp.policy.readOnly" ng-readonly="temp.policy.editPolicy" ng-model="temp.policy.policyName" style="width:800px;" required pattern="\S+" title="Enter the Policy Name without any spaces"> + </div> + </div> + <div class ="form-group"> + <label>Description:</label> + <div> + <input type="text" class="form-control" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.policyDescription" style="width:800px;"/> + </div> + </div> + <div class="fn-ebz-container" > + <label>Risk Type:<sup><b>*</b></sup></label> + <div> + <select class="form-field" style="width:450px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.riskType" ng-options="option for option in riskTypeDictionaryDatas track by option"></select> + </div> + <p><span ng-show="validateRiskType" style="color:red">Risk Type Field shouldn't be Empty</span></p> + </div> + <div class="fn-ebz-container" > + <label>Risk Level:<sup><b>*</b></sup></label> + <div> + <select class="form-field" style="width:450px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.riskLevel" ng-options="option for option in riskLevelDatas track by option"></select> + </div> + <p><span ng-show="validateRiskLevel" style="color:red">Risk Level Field shouldn't be Empty</span></p> + </div> + <div class="fn-ebz-container" > + <label>Guard:<sup><b>*</b></sup></label> + <div> + <select class="form-field" style="width:450px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.guard" ng-options="option for option in guardDatas track by option"></select> + </div> + <p><span ng-show="validateGuard" style="color:red">Guard Field shouldn't be Empty</span></p> + </div> + <div class ="fn-ebz-container"> + <label>Time to Live Date:<sup><b>*</b></sup></label> + <div> + <input type="date" name="ttlDate" class="date" ng-model="temp.policy.ttlDate"/> + </div> + </div> + <div class ="form-group"> + <label>Rule Attributes:<sup><b>*</b></sup></label> + <form method="post" class="form-horizontal" > + <div class="form-group"> + <div class="col-xs-1"> + <button type="button" class="btn btn-default" ng-disabled ="temp.policy.readOnly" ng-click="addNewChoice()"><i class="fa fa-plus"></i></button> + </div> + </div> + <div data-ng-repeat="choice in temp.policy.attributes" class="form-horizontal" > + <div class="fn-ebz-container"> + <input type="text" class="form-field" ng-disabled ="temp.policy.readOnly" ng-model= "choice.key" placeholder="Attribute Key" /> + </div> + <div class="fn-ebz-container"> + <input type="text" class="form-field" ng-disabled ="temp.policy.readOnly" ng-model= "choice.value" placeholder="Attribute Value" /> + </div> + <div class="fn-ebz-container"> + <button type="button" class="btn btn-default" ng-show="$last" ng-disabled ="temp.policy.readOnly" ng-click="removeChoice()"><i class="fa fa-minus"></i></button> + </div> + </div> + </form> + </div> + <div class ="form-group"> + <label>BRMS Template:<sup><b>*</b></sup></label> + <div> + <select class="form-field" style="width:400px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.ruleName" ng-options="option for option in brmsParamDictionaryDatas track by option" + ng-click="addDataToFields(temp.policy.ruleName);"> + <option value = "">{{temp.policy.ruleName}}</option></select> + </div> + </div> + <div class ="form-group"> + <div ng-repeat="(key, data) in temp.policy.dynamicLayoutMap" > + <div class ="form-group"> + <label class="control-label col-md-4">{{key}}:</label> + <div class="col-md-8"> + <input type="text" class="form-control" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.ruleData[key]" style="width:500px;"/> + </div> + </div> + </div> + </div> + <div class="form-group"> + <div> + <button class="button button--primary button--small" herf="javascript:void(0)" ng-disabled ="temp.policy.readOnly" ng-click="validatePolicy(temp.policy);">Validate</button> + <button class="btn btn-default" herf="javascript:void(0)" ng-disabled ="validateSuccess" ng-click="ShowRule(temp);">Show Rule</button> + <button class="btn btn-success" herf="javascript:void(0)" ng-disabled ="temp.policy.readOnly" ng-click="saveBrmsParamPolicy(temp);">Save</button> + <button type="button" class="btn btn-default" data-dismiss="modal" ng-disabled="temp.inprocess">Close</button> + </div> + </div> + </form> + </div> +</div> diff --git a/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/BRMSRawPolicyTemplate.html b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/BRMSRawPolicyTemplate.html new file mode 100644 index 000000000..a32971463 --- /dev/null +++ b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/BRMSRawPolicyTemplate.html @@ -0,0 +1,99 @@ +<!-- + ============LICENSE_START======================================================= + ECOMP Policy Engine + ================================================================================ + Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ============LICENSE_END========================================================= + --> + +<div ng-app= "abs" ng-controller= "brmsRawPolicyController"> +<div class="modal__content"> + <form class="form-horizontal" role="form" name="myform"> + <div class="form-group"> + <label>Policy Name:<sup><b>*</b></sup></label> + <div> + <input type="text" class="form-control" ng-disabled ="temp.policy.readOnly" ng-readonly="temp.policy.editPolicy" ng-model="temp.policy.policyName" style="width:800px;" required pattern="\S+" title="Enter the Policy Name without any spaces"> + </div> + </div> + <div class ="form-group"> + <label>Description:</label> + <div> + <input type="text" class="form-control" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.policyDescription" style="width:800px;"/> + </div> + </div> + <div class="fn-ebz-container" > + <label>Risk Type:<sup><b>*</b></sup></label> + <div> + <select class="form-field" style="width:450px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.riskType" ng-options="option for option in riskTypeDictionaryDatas track by option"></select> + </div> + <p><span ng-show="validateRiskType" style="color:red">Risk Type Field shouldn't be Empty</span></p> + </div> + <div class="fn-ebz-container" > + <label>Risk Level:<sup><b>*</b></sup></label> + <div> + <select class="form-field" style="width:450px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.riskLevel" ng-options="option for option in riskLevelDatas track by option"></select> + </div> + <p><span ng-show="validateRiskLevel" style="color:red">Risk Level Field shouldn't be Empty</span></p> + </div> + <div class="fn-ebz-container" > + <label>Guard:<sup><b>*</b></sup></label> + <div> + <select class="form-field" style="width:450px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.guard" ng-options="option for option in guardDatas track by option"></select> + </div> + <p><span ng-show="validateGuard" style="color:red">Guard Field shouldn't be Empty</span></p> + </div> + <div class ="fn-ebz-container"> + <label>Time to Live Date:<sup><b>*</b></sup></label> + <div> + <input type="date" name="ttlDate" class="date" ng-model="temp.policy.ttlDate"/> + </div> + </div> + <div class="form-group"> + <label>Rule Attributes:</label> + <form method="post" class="form-horizontal" > + <div class="form-group"> + <div class="col-xs-1"> + <button type="button" class="btn btn-default" ng-disabled ="temp.policy.readOnly" ng-click="addNewChoice()"><i class="fa fa-plus"></i></button> + </div> + </div> + <div data-ng-repeat="choice in temp.policy.attributes" class="form-horizontal" > + <div class="fn-ebz-container"> + <input type="text" class="form-field" ng-disabled ="temp.policy.readOnly" ng-model= "choice.key" placeholder="Attribute Key" /> + </div> + <div class="fn-ebz-container"> + <input type="text" class="form-field" ng-disabled ="temp.policy.readOnly" ng-model= "choice.value" placeholder="Attribute Value" /> + </div> + <div class="fn-ebz-container"> + <button type="button" class="btn btn-default" ng-show="$last" ng-disabled ="temp.policy.readOnly" ng-click="removeChoice()"><i class="fa fa-minus"></i></button> + </div> + </div> + </form> + </div> + <div class="form-group"> + <label>Raw Rule:<sup><b>*</b></sup></label> + <div> + <textarea class="form-control" ng-model="temp.policy.configBodyData" ng-disabled ="temp.policy.readOnly" style="height :400px; width:400px;" ></textarea> + </div> + </div> + <div class="form-group"> + <div> + <button class="button button--primary button--small" 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 ="temp.policy.readOnly" ng-click="saveBrmsRawPolicy(temp);">Save</button> + <button type="button" class="btn btn-default" data-dismiss="modal" ng-disabled="temp.inprocess">Close</button> + </div> + </div> + </form> + </div> +</div>
\ No newline at end of file diff --git a/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/BasePolicyTemplate.html b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/BasePolicyTemplate.html new file mode 100644 index 000000000..b73092fd8 --- /dev/null +++ b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/BasePolicyTemplate.html @@ -0,0 +1,126 @@ +<!-- + ============LICENSE_START======================================================= + ECOMP Policy Engine + ================================================================================ + Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ============LICENSE_END========================================================= + --> + +<div ng-app ng-controller= "baseConfigController"> +<div class="modal__content"> +<form class="form-horizontal" role="form" name="myform"> + <div class="form-group"> + <label>Policy Name:<sup><b>*</b></sup></label> + <div> + <input type="text" class="form-control" ng-disabled ="temp.policy.readOnly" ng-readonly="temp.policy.editPolicy" ng-model="temp.policy.policyName" style="width:800px;" required pattern="\S+" title="Enter the Policy Name without any spaces"> + </div> + </div> + <div class ="form-group"> + <label>Description:</label> + <div> + <input type="text" class="form-control" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.policyDescription" style="width:800px;"/> + </div> + </div> + <div class ="form-group"> + <label>Ecomp Name:<sup><b>*</b></sup></label> + <div> + <select class="form-control" style="width:800px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.ecompName" ng-options="option for option in ecompNameDictionaryDatas track by option"></select> + </div> + <!-- <p><span ng-show="validateEcompName" style="color:red">Ecomp Name Field shouldn't be Empty</span></p> --> + </div> + <div class="fn-ebz-container" > + <label>Risk Type:<sup><b>*</b></sup></label> + <div> + <select class="form-field" style="width:450px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.riskType" ng-options="option for option in riskTypeDictionaryDatas track by option"></select> + </div> + <!-- <p><span ng-show="validateRiskType" style="color:red">Risk Type Field shouldn't be Empty</span></p> --> + </div> + <div class="fn-ebz-container" > + <label>Risk Level:<sup><b>*</b></sup></label> + <div> + <select class="form-field" style="width:450px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.riskLevel" ng-options="option for option in riskLevelDatas track by option"></select> + </div> + <!-- <p><span ng-show="validateRiskLevel" style="color:red">Risk Level Field shouldn't be Empty</span></p> --> + </div> + <div class="fn-ebz-container" > + <label>Guard:<sup><b>*</b></sup></label> + <div> + <select class="form-field" style="width:450px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.guard" ng-options="option for option in guardDatas track by option"></select> + </div> + <!-- <p><span ng-show="validateGuard" style="color:red">Guard Field shouldn't be Empty</span></p> --> + </div> + <div class ="fn-ebz-container"> + <label>Time to Live Date:<sup><b>*</b></sup></label> + <div> + <input type="date" name="ttlDate" class="date" ng-model="temp.policy.ttlDate"/> + </div> + </div> + <div class ="form-group"> + <label>Config Name:<sup><b>*</b></sup></label> + <div> + <input type="text" class="form-control" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.configName" style="width:800px;" required pattern="\S+" title="Enter the Config Name without any spaces"/> + </div> + </div> + <div class ="form-group"> + <label>Attributes:</label> + <form method="post" class="form-horizontal" > + <div class="form-group"> + <div class="col-xs-1"> + <button type="button" class="btn btn-default" ng-disabled ="temp.policy.readOnly" ng-click="addNewChoice()"><i class="fa fa-plus"></i></button> + </div> + </div> + <div ng-repeat="choice in temp.policy.attributes"> + <div class="fn-ebz-container"> + <select class="form-field" required ng-disabled ="temp.policy.readOnly" ng-model="choice.option" ng-options="option for option in attributeDictionaryDatas track by option" ></select> + </div> + <div class="fn-ebz-container"> + <input type="text" class="form-field" ng-disabled ="temp.policy.readOnly" ng-model= "choice.number" placeholder="Attribute Value" required pattern="\S+" title="Enter the Attribute Value without any spaces"/> + </div> + <div class="fn-ebz-container"> + <button type="button" class="btn btn-default" ng-disabled ="temp.policy.readOnly" ng-show="$last" ng-click="removeChoice()"><i class="fa fa-minus"></i></button> + </div> + </div> + </form> + </div> + <div class ="form-group"> + <label>Config Type:<sup><b>*</b></sup></label> + <div> + <select class="form-field" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.configType"> + <option>JSON</option> + <option>XML</option> + <option>PROPERTIES</option> + <option>OTHER</option> + </select> + </div> + <!-- <p><span ng-show="validateConfigType" style="color:red">Config Type Field shouldn't be Empty</span></p> --> + </div> + <div class ="form-group"> + <label>Body:<sup><b>*</b></sup></label> + <div> + <textarea class="form-control" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.configBodyData" style="height :400px; width:400px;" ></textarea> + <!-- <p><span ng-show="validateConfigTypeNull" style="color:red">Config Type Field shouldn't be Empty</span></p> + <p><span ng-show="validateConfigTypeBody" style="color:red">{{errorMessage}}</span></p> --> + </div> + </div> + <div class="form-group"> + <div> + <button class="button button--primary button--small" ng-disabled ="temp.policy.readOnly" herf="javascript:void(0)" ng-click="validatePolicy(temp.policy);">Validate</button> + <button class="btn btn-success" ng-disabled ="savebutton" herf="javascript:void(0)" ng-click="savePolicy(temp);">Save</button> + <button type="button" class="btn btn-default" data-dismiss="modal" ng-click = "close();">Close</button> + </div> + </div> +</form> +</div> +</div>
\ No newline at end of file diff --git a/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/ClosedLoopFaultPolicyTemplate.html b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/ClosedLoopFaultPolicyTemplate.html new file mode 100644 index 000000000..8f44fab98 --- /dev/null +++ b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/ClosedLoopFaultPolicyTemplate.html @@ -0,0 +1,350 @@ +<!-- + ============LICENSE_START======================================================= + ECOMP Policy Engine + ================================================================================ + Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ============LICENSE_END========================================================= + --> + +<div ng-app= "abs" ng-controller= "clFaultController"> +<div class="modal__content"> + <div class ="form-group"> + <label>Policy Name:<sup><b>*</b></sup> </label><br> + <input type="text" class="form-control" ng-disabled ="temp.policy.readOnly" ng-readonly="temp.policy.editPolicy" ng-model="temp.policy.policyName" style="width:800px;"/> + </div> + <div class ="form-group"> + <label>Description:</label><br> + <input type="text" class="form-control" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.policyDescription" style="width:800px;"/> + </div> + <div class ="form-group"> + <label>Ecomp Name:<sup><b>*</b></sup></label><br> + <select class="form-control" style="width:800px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.ecompName" ng-options="option for option in ecompNameDictionaryDatas track by option"></select> + </div> + </br> + <div class="fn-ebz-container" > + <label>Risk Type:<sup><b>*</b></sup></label> + <div> + <select class="form-field" style="width:450px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.riskType" ng-options="option for option in riskTypeDictionaryDatas track by option"></select> + </div> + <p><span ng-show="validateRiskType" style="color:red">Risk Type Field shouldn't be Empty</span></p> + </div> + <div class="fn-ebz-container" > + <label>Risk Level:<sup><b>*</b></sup></label> + <div> + <select class="form-field" style="width:450px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.riskLevel" ng-options="option for option in riskLevelDatas track by option"></select> + </div> + <p><span ng-show="validateRiskLevel" style="color:red">Risk Level Field shouldn't be Empty</span></p> + </div> + <div class="fn-ebz-container" > + <label>Guard:<sup><b>*</b></sup></label> + <div> + <select class="form-field" style="width:450px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.guard" ng-options="option for option in guardDatas track by option"></select> + </div> + <p><span ng-show="validateGuard" style="color:red">Guard Field shouldn't be Empty</span></p> + </div> + <div class ="fn-ebz-container"> + <label>Time to Live Date:<sup><b>*</b></sup></label> + <div> + <input type="date" name="ttlDate" class="date" ng-model="temp.policy.ttlDate"/> + </div> + </div> + <div> + <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> + <br/> + <div class="fn-ebz-container" > + <label>Vnf Type:<sup><b>*</b></sup></label><br> + <select class="form-field" style="width:400px;" 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="fn-ebz-container" > + <label>Policy Status:<sup><b>*</b></sup></label><BR> + <select class="form-field" 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> + <br/> + <fieldset style="width:140%;"> + <div class="fn-ebz-container" > + <label>Trigger Signature:</label><br> + <form method="post" class="form-horizontal" > + <div class="form-group"> + <div class="fn-ebz-container"> + <button type="button" class="btn btn-default" ng-disabled ="temp.policy.readOnly" ng-click="addTriggerButton()"><i class="fa fa-plus"></i></button> + </div> + <div class="fn-ebz-container"> + <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 data-ng-repeat="choice in temp.policy.traptriggerSignatures" class="form-horizontal" > + <div class="fn-ebz-container "> + <label ng-model="choice.label" name="label" >{{choice.id}}</label> + </div> + <div class="fn-ebz-container"> + <button type="button" class="btn btn-default" ng-disabled ="temp.policy.readOnly" ng-click="addTrapTriggerButton(choice.id)"><i class="fa fa-plus"></i></button> + </div> + <div class="fn-ebz-container"> + <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 data-ng-repeat="choice in temp.policy.triggerTrapSignatures[choice.id]" class="form-horizontal" > + <div class="fn-ebz-container "> + <label ng-model="choice.label" name="label" >{{choice.id}}</label> + </div> + <div class="fn-ebz-container"> + <select class="form-field" ng-disabled ="temp.policy.readOnly" ng-model="choice.notBox" name="notBox" ><option>NOT</option></select> + </div> + <div class="fn-ebz-container"> + <select class="form-field" 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="fn-ebz-container "> + <select class="form-field" ng-disabled ="temp.policy.readOnly" ng-model="choice.operatorBox" name="operatorBox"><option>AND</option><option>OR</option></select> + </div> + <div class="fn-ebz-container"> + <select class="form-field" 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> + </form> + </div> + </br> + <div class="fn-ebz-container" > + <label>Connect Traps:</label><br> + <form method="post" class="form-horizontal" > + <div class="form-group"> + <div class="col-xs-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 data-ng-repeat="choice in temp.policy.connecttriggerSignatures" class="form-horizontal" > + <div class="fn-ebz-container "> + <label ng-model="choice.label" name="label" >{{choice.id}}</label> + </div> + <div class="fn-ebz-container"> + <select class="form-field" ng-disabled ="temp.policy.readOnly" ng-model="choice.notBox" name="notBox" ><option>NOT</option></select> + </div> + <div class="fn-ebz-container"> + <select ng-disabled ="temp.policy.readOnly" ng-model="choice.connectTrap1" ng-options="option for option in connectTriggerTrapsList track by option"> + <option value="">{{choice.connectTrap1}}</option></select> + </div> + <div class="fn-ebz-container "> + <input type="text" ng-disabled ="temp.policy.readOnly" ng-model="choice.trapCount1" name="trapCount1"/> + </div> + <div class="fn-ebz-container"> + <select class="form-field" ng-disabled ="temp.policy.readOnly" ng-model="choice.operatorBox" name="operatorBox"><option>AND</option><option>OR</option></select> + </div> + <div class="fn-ebz-container"> + <select 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="fn-ebz-container "> + <input type="text" ng-disabled ="temp.policy.readOnly" ng-model="choice.trapCount2" name="trapCount1"/> + </div> + <div class="fn-ebz-container"> + <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> + </form> + </div> + </br> + <div class="fn-ebz-container" > + <label>Clear TimeOut:<sup><b>*</b></sup> </label><br> + <input type="text" ng-disabled="triggerdisabled" ng-model="temp.policy.clearTimeOut" style="width:200px;"/> + </div> + <div class="fn-ebz-container" > + <label>Trap Max Age:<sup><b>*</b></sup></label><br> + <input type="text" ng-disabled="triggerdisabled" ng-model="temp.policy.trapMaxAge" ng-init="temp.policy.jsonBodyData.trapMaxAge='300'" value="300" style="width:200px;"/> + </div> + </fieldset> + <br/> + <form> + <fieldset style="width:140%;"> + <div> + <label>VSCL Action:<sup><b>*</b></sup></label><br> + <div class="fn-ebz-container" > + <label>vPRO Actions:<sup><b>*</b></sup></label><br> + <select class="form-field" style="width:400px;" 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></select> + </div> + <div class="fn-ebz-container" > + <label>Time Interval:<sup><b>*</b></sup> </label><br> + <input type="text" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.jsonBodyData.timeInterval" style="width:200px;"/> + </div> + <div class="fn-ebz-container" > + <label>App-C TimeOut:<sup><b>*</b></sup></label><br> + <input type="text" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.jsonBodyData.timeOutvPRO" style="width:200px;"/> + </div> + </br> + <div class="fn-ebz-container" > + <label>TimeOut for Ruby:<sup><b>*</b></sup></label><br> + <input type="text" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.jsonBodyData.timeOutRuby" style="width:200px;"/> + </div> + <div class="fn-ebz-container" > + <label>Number of Retries:<sup><b>*</b></sup></label><br> + <input type="text" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.jsonBodyData.retrys" style="width:200px;"/> + </div> + <div class="fn-ebz-container" > + <label>Aging Window:<sup><b>*</b></sup> </label><br> + <input type="text" class="fn-ebz-text" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.jsonBodyData.agingWindow" style="width:200px;"/> + </div> + </br> + <div> + <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" style="width:500px;"/> + </div> + <div class="fn-ebz-container" > + <label>Email Address:</label><br> + <input type="text" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.jsonBodyData.emailAddress" style="width:500px;"/> + </div> + </div> + </fieldset> + </form> + <br/> + <form> + <fieldset style="width:140%;"> + <div> + <label>PEP:<sup><b>*</b></sup></label><br> + <div class="fn-ebz-container" > + <label>PEP Options:<sup><b>*</b></sup></label><br> + <select class="form-field" style="width:400px;" 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="fn-ebz-container" > + <label>Actions:<sup><b>*</b></sup></label><br> + <select class="form-field" style="width:400px;" 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></select></select> + </div> + </div> + </fieldset> + </form> + <br/> + <form> + <fieldset style="width:140%;"> + <div class="fn-ebz-container" > + <label><sup><b></b></sup>Verification Signature:</label><br> + <form method="post" class="form-horizontal" > + <div class="form-group"> + <div class="fn-ebz-container"> + <button type="button" class="btn btn-default" ng-disabled ="temp.policy.readOnly" ng-click="addVerFaultButton()"><i class="fa fa-plus"></i></button> + </div> + <div class="fn-ebz-container"> + <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 data-ng-repeat="choice in temp.policy.faulttriggerSignatures" class="form-horizontal" > + <div class="fn-ebz-container "> + <label ng-model="choice.label" name="label" >{{choice.id}}</label> + </div> + <div class="fn-ebz-container"> + <button type="button" class="btn btn-default" ng-disabled ="temp.policy.readOnly" ng-click="addVerTriggerButton(choice.id)"><i class="fa fa-plus"></i></button> + </div> + <div class="fn-ebz-container"> + <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 data-ng-repeat="choice in temp.policy.triggerfaultSignatures[choice.id]" class="form-horizontal" > + <div class="fn-ebz-container "> + <label ng-model="choice.label" name="label" >{{choice.id}}</label> + </div> + <div class="fn-ebz-container"> + <select class="form-field" ng-disabled ="temp.policy.readOnly" ng-model="choice.notBox" name="notBox" ><option>NOT</option></select> + </div> + <div class="fn-ebz-container"> + <select class="form-field" 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="fn-ebz-container "> + <select class="form-field" ng-disabled ="temp.policy.readOnly" ng-model="choice.operatorBox" name="operatorBox"><option>AND</option><option>OR</option></select> + </div> + <div class="fn-ebz-container"> + <select class="form-field" 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> + </form> + </div> + </br> + <div class="fn-ebz-container" > + <label>Connect All Faults:</label><br> + <form method="post" class="form-horizontal" > + <div class="form-group"> + <div class="col-xs-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 data-ng-repeat="choice in temp.policy.connectVerificationSignatures" class="form-horizontal" > + <div class="fn-ebz-container "> + <label ng-model="choice.label" name="label" >{{choice.id}}</label> + </div> + <div class="fn-ebz-container"> + <select class="form-field" ng-disabled ="temp.policy.readOnly" ng-model="choice.notBox" name="notBox" ><option>NOT</option></select> + </div> + <div class="fn-ebz-container"> + <select ng-disabled ="temp.policy.readOnly" ng-model="choice.connectTrap1" ng-options="option for option in connectTriggerFaultsList track by option"> + <option value="">{{choice.connectTrap1}}</option></select> + </div> + <div class="fn-ebz-container "> + <input type="text" ng-disabled ="temp.policy.readOnly" ng-model="choice.trapCount1" name="trapCount1"/> + </div> + <div class="fn-ebz-container"> + <select class="form-field" ng-disabled ="temp.policy.readOnly" ng-model="choice.operatorBox" name="operatorBox"><option>AND</option><option>OR</option></select> + </div> + <div class="fn-ebz-container"> + <select ng-disabled ="temp.policy.readOnly" ng-model="choice.connectTrap2" ng-options="option for option in connectTriggerFaultsList track by option"> + <option value="">{{choice.connectTrap2}}</option></select> + </div> + <div class="fn-ebz-container "> + <input type="text" ng-disabled ="temp.policy.readOnly" ng-model="choice.trapCount2" name="trapCount1"/> + </div> + <div class="fn-ebz-container"> + <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> + </form> + </div> + </br> + <div class="fn-ebz-container" > + <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" style="width:200px;"/> + </div> + </fieldset> + </form> + <br/> + <form> + <fieldset style="width:140%;"> + <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> + </fieldset> + </form> + <br/> + </div> + <div class="modal__footer"> + <button class="button button--primary button--small" 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 ="temp.policy.readOnly" ng-click="saveFaultPolicy(temp);">Save</button> + <button type="button" class="btn btn-default" data-dismiss="modal" ng-disabled="temp.inprocess">Close</button> + </div> +</div>
\ No newline at end of file diff --git a/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/ClosedLoopPMPolicyTemplate.html b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/ClosedLoopPMPolicyTemplate.html new file mode 100644 index 000000000..c9a384656 --- /dev/null +++ b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/ClosedLoopPMPolicyTemplate.html @@ -0,0 +1,141 @@ +<!-- + ============LICENSE_START======================================================= + ECOMP Policy Engine + ================================================================================ + Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ============LICENSE_END========================================================= + --> + +<div ng-controller= "clPMController"> +<div class="modal__content"> + <form class="form-horizontal" role="form" name="myform"> + <div class="form-group"> + <label>Policy Name:<sup><b>*</b></sup></label> + <div> + <input type="text" class="form-control" ng-disabled ="temp.policy.readOnly" ng-readonly="temp.policy.editPolicy" ng-model="temp.policy.policyName" style="width:800px;" required pattern="\S+" title="Enter the Policy Name without any spaces"> + </div> + </div> + <div class ="form-group"> + <label>Description:</label> + <div> + <input type="text" class="form-control" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.policyDescription" style="width:800px;"/> + </div> + </div> + <div class ="form-group"> + <label>Ecomp Name:<sup><b>*</b></sup></label> + <div> + <select class="form-field" style="width:500px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.ecompName" ng-options="option for option in ecompNameDictionaryDatas track by option"></select> + </div> + <!-- <p><span ng-show="validateEcompName" style="color:red">Ecomp Name Field shouldn't be Empty</span></p> --> + </div> + <div class="fn-ebz-container" > + <label>Risk Type:<sup><b>*</b></sup></label> + <div> + <select class="form-field" style="width:450px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.riskType" ng-options="option for option in riskTypeDictionaryDatas track by option"></select> + </div> + <p><span ng-show="validateRiskType" style="color:red">Risk Type Field shouldn't be Empty</span></p> + </div> + <div class="fn-ebz-container" > + <label>Risk Level:<sup><b>*</b></sup></label> + <div> + <select class="form-field" style="width:450px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.riskLevel" ng-options="option for option in riskLevelDatas track by option"></select> + </div> + <p><span ng-show="validateRiskLevel" style="color:red">Risk Level Field shouldn't be Empty</span></p> + </div> + <div class="fn-ebz-container" > + <label>Guard:<sup><b>*</b></sup></label> + <div> + <select class="form-field" style="width:450px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.guard" ng-options="option for option in guardDatas track by option"></select> + </div> + <p><span ng-show="validateGuard" style="color:red">Guard Field shouldn't be Empty</span></p> + </div> + <div class ="fn-ebz-container"> + <label>Time to Live Date:<sup><b>*</b></sup></label> + <div> + <input type="date" name="ttlDate" class="date" ng-model="temp.policy.ttlDate"/> + </div> + </div> + <div class ="form-group"> + <label>D2/Virtualized Services(s):<sup><b>*</b></sup></label> + <div> + <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 class ="form-group"> + <label>Service Type PolicyName:<sup><b>*</b></sup></label> + <div> + <select class="form-field" id="MyButtonTest" style="width:400px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.serviceTypePolicyName" + ng-options="option.serviceTypePolicyName for option in PMData track by option.serviceTypePolicyName" ng-init="addDataToFields(temp.policy.serviceTypePolicyName);" + ng-click="addDataToFields(temp.policy.serviceTypePolicyName);"></select> + </div> + </div> + <fieldset> + <div class ="form-group"> + <label>Vertica Metrics:<sup><b>*</b></sup></label> + <div> + <textarea class="form-control" ng-model="temp.policy.verticaMetrics.verticaMetrics" ng-disabled ="temp.policy.readOnly" style="height :150px; width:500px;" ></textarea> + </div> + </div> + </fieldset> + <fieldset> + <div class ="form-group"> + <label>Attributes:<sup><b>*</b></sup></label> + <div> + <div ng-repeat="(key, data) in temp.policy.attributeFields.attributes" > + <label >{{key}}</label> + <div ng-repeat="(key, data) in data" > + <label >{{key}}</label><br/> + <input type="text" class="form-control" title = {{data}} ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.jsonBodyData.attributes[key]" style="width:500px;"/> + </div> + </div> + </div> + </div> + </fieldset> + <fieldset> + <div class ="form-group"> + <label>Policy Description:<sup><b>*</b></sup></label> + <div> + <textarea class="form-control" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.description.policyDescription" style="height :150px; width:500px;" ></textarea> + </div> + </div> + </fieldset> + <fieldset> + <div class ="form-group"> + <label>Text to Include in UEB messages for AOTS ticket and Geo Link:</label> + <div> + <input type="text" class="form-control" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.jsonBodyData.geoLink" style="width:500px;"/> + </div> + </div> + <div class ="form-group"> + <label>Email Address:</label> + <div> + <input type="text" class="form-control" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.jsonBodyData.emailAddress" style="width:500px;"/> + </div> + </div> + </fieldset> + <div class ="form-group"> + <div> + <button class="button button--primary button--small" 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 ="temp.policy.readOnly" ng-click="saveCLPMPolicy(temp);">Save</button> + <button type="button" class="btn btn-default" data-dismiss="modal" ng-disabled="temp.inprocess">Close</button> + </div> + </div> + </form> +</div> +</div>
\ No newline at end of file diff --git a/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/DCAEMicroServicePolicyTemplate.html b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/DCAEMicroServicePolicyTemplate.html new file mode 100644 index 000000000..183489816 --- /dev/null +++ b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/DCAEMicroServicePolicyTemplate.html @@ -0,0 +1,108 @@ +<!-- + ============LICENSE_START======================================================= + ECOMP Policy Engine + ================================================================================ + Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ============LICENSE_END========================================================= + --> + +<div ng-app = "abs" ng-controller="dcaeMicroServiceController" style="margin-bottom: 20px; width: 100%"> + <div class="modal__content"> + <div class ="form-group"> + <label>Policy Name:<sup><b>*</b></sup></label><br> + <div> + <input type="text" class="form-control" ng-disabled ="temp.policy.readOnly" ng-readonly="temp.policy.editPolicy" ng-model="temp.policy.policyName" style="width:800px;"/> + </div> + </div> + <div class ="form-group"> + <label>Description:</label><br> + <div> + <input type="text" class="form-control" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.policyDescription" style="width:800px;"/> + </div> + </div> + <div class ="form-group" > + <label>Ecomp Name:<sup><b>*</b></sup></label><br> + <div> + <select class="form-control" style="width:800px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.ecompName" ng-options="option for option in ecompNameDictionaryDatas track by option"></select> + </div> + </div> + <br/> + <div class="fn-ebz-container" > + <label>Risk Type:<sup><b>*</b></sup></label> + <div> + <select class="form-field" style="width:450px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.riskType" ng-options="option for option in riskTypeDictionaryDatas track by option"></select> + </div> + <p><span ng-show="validateRiskType" style="color:red">Risk Type Field shouldn't be Empty</span></p> + </div> + <div class="fn-ebz-container" > + <label>Risk Level:<sup><b>*</b></sup></label> + <div> + <select class="form-field" style="width:450px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.riskLevel" ng-options="option for option in riskLevelDatas track by option"></select> + </div> + <p><span ng-show="validateRiskLevel" style="color:red">Risk Level Field shouldn't be Empty</span></p> + </div> + <div class="fn-ebz-container" > + <label>Guard:<sup><b>*</b></sup></label> + <div> + <select class="form-field" style="width:450px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.guard" ng-options="option for option in guardDatas track by option"></select> + </div> + <p><span ng-show="validateGuard" style="color:red">Guard Field shouldn't be Empty</span></p> + </div> + </br> + <div class ="fn-ebz-container"> + <label>Time to Live Date:<sup><b>*</b></sup></label> + <div> + <input type="date" name="ttlDate" class="date" ng-model="temp.policy.ttlDate"/> + </div> + </div> + <div class="fn-ebz-container" > + <label>Configuration Name:<sup><b>*</b></sup></label><br> + <select class="form-field" style="width:400px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.configName" ng-options="option for option in microServiceCongigNameDictionaryDatas track by option"></select> + </div> + <div class="fn-ebz-container" > + <label>Location:<sup><b>*</b></sup></label><br> + <select class="form-field" style="width:400px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.location" ng-options="option for option in microServiceLocationDictionaryDatas track by option"></select> + </div> + <br/> + <div class="fn-ebz-container" > + <label>UUID:<sup><b>*</b></sup></label><br> + <select class="form-field" style="width:400px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.uuid" ng-options="option for option in dcaeUUIDDictionaryDatas track by option"></select> + </div> + <div class="fn-ebz-container" > + <label>Priority:<sup><b>*</b></sup></label><br> + <select class="form-field" style="width:400px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.priority" ng-options="option for option in priorityDatas track by option"> + <option value="">{{temp.policy.priority}}</option></select> + </div> + <div class="fn-ebz-container" > + <label>Policy Scope:<sup><b>*</b></sup></label><br> + <select class="form-field" style="width:400px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.policyScope" ng-options="option for option in groupPolicyScopeListDatas track by option"></select> + </div> + <br/> + <div > + <label>Micro Service:<sup><b>*</b></sup></label><br> + <select style="width:800px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.serviceType" ng-options="option for option in microServiceModelsDictionaryDatas track by option" + ng-init="addDataToFields(temp.policy.serviceType);" ng-click="addDataToFields(temp.policy.serviceType);"></select> + </div> + <br/> + <div class="fn-ebz-container" id="DynamicTemplate"> + <label>Micro Service Attributes:<sup><b>*</b></sup></label><br> + </div> + </div> + <div class="modal__footer"> + <button class="button button--primary button--small" 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 ="temp.policy.readOnly" ng-click="savePolicy(temp);">Save</button> + <button type="button" class="btn btn-default" data-dismiss="modal" ng-disabled="temp.inprocess">Close</button> + </div> +</div> diff --git a/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/DecisionPolicyTemplate.html b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/DecisionPolicyTemplate.html new file mode 100644 index 000000000..a79a193c7 --- /dev/null +++ b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/DecisionPolicyTemplate.html @@ -0,0 +1,130 @@ +<!-- + ============LICENSE_START======================================================= + ECOMP Policy Engine + ================================================================================ + Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ============LICENSE_END========================================================= + --> + +<div ng-app= "abs" ng-controller= "decisionPolicyController" > +<div class="modal__content"> + <div> + <label>Policy Name:<sup><b>*</b></sup></label><br> + <input type="text" class="form-control" ng-disabled ="temp.policy.readOnly" ng-readonly="temp.policy.editPolicy" ng-model="temp.policy.policyName" style="width:800px;"/> + </div> + <br/> + <div> + <label>Description:</label><br> + <input type="text" class="form-control" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.policyDescription" style="width:800px;"/> + </div> + <br/> + <div class="fn-ebz-container" > + <label>Ecomp Name:<sup><b>*</b></sup></label><br> + <select class="form-field" style="width:400px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.ecompName" ng-options="option for option in ecompNameDictionaryDatas track by option"></select> + </div> + <br/> + <div class="fn-ebz-container" > + <label>Rule Provider:<sup><b>*</b></sup></label><br> + <select class="form-field" style="width:400px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.ruleProvider" ng-init="providerListener(temp.policy.ruleProvider);" ng-click="providerListener(temp.policy.ruleProvider);"> + <option>Custom</option> + <option>AAF</option> + </select> + </div> + <br/> + <div ng-if="temp.policy.ruleProvider == 'Custom'" class="fn-ebz-container" > + <label>Component Attributes:</label><br> + <form method="post" class="form-horizontal" > + <div class="form-group"> + <div class="col-xs-1"> + <button type="button" class="btn btn-default" ng-disabled ="temp.policy.readOnly" ng-click="addNewChoice()"><i class="fa fa-plus"></i></button> + </div> + </div> + + <div data-ng-repeat="choice in temp.policy.attributes" class="form-horizontal" > + <div class="fn-ebz-container"> + <select class="form-field" ng-disabled ="temp.policy.readOnly" ng-model="choice.option" ng-options="option for option in attributeDictionaryDatas track by option" > + <option value="">{{choice.option}}</option></select> + </div> + <div class="fn-ebz-container"> + <input type="text" class="form-field" ng-disabled ="temp.policy.readOnly" ng-model= "choice.number" placeholder="Attribute Value" /> + </div> + <div class="fn-ebz-container"> + <button type="button" class="btn btn-default" ng-show="$last" ng-disabled ="temp.policy.readOnly" ng-click="removeChoice()"><i class="fa fa-minus"></i></button> + </div> + </div> + </form> + </div> + <br/> + <div ng-if="temp.policy.ruleProvider == 'Custom'" class="fn-ebz-container" > + <label>Settings Attributes:</label><br> + <form method="post" class="form-horizontal" > + <div class="form-group"> + <div class="col-xs-1"> + <button type="button" class="btn btn-default" ng-disabled ="temp.policy.readOnly" ng-click="addNewSettingsChoice()"><i class="fa fa-plus"></i></button> + </div> + </div> + + <div data-ng-repeat="settingschoice in temp.policy.settings" class="form-horizontal" > + <div class="fn-ebz-container"> + <select class="form-field" ng-disabled ="temp.policy.readOnly" ng-model="settingschoice.option" ng-options="option for option in settingsDictionaryDatas track by option" > + <option value="">{{settingschoice.option}}</option></select> + </div> + <div class="fn-ebz-container"> + <input type="text" class="form-field" ng-disabled ="temp.policy.readOnly" ng-model= "settingschoice.number" placeholder="Settings Value" /> + </div> + <div class="fn-ebz-container"> + <button type="button" class="btn btn-default" ng-show="$last" ng-disabled ="temp.policy.readOnly" ng-click="removeSettingsChoice()"><i class="fa fa-minus"></i></button> + </div> + </div> + </form> + </div> + <br/> + <div ng-if="temp.policy.ruleProvider == 'Custom'" class="fn-ebz-container" > + <label>Decision Rule Algorithms:<sup><b>*</b></sup></label><br> + <form method="post" class="form-horizontal" > + <div class="form-group"> + <div class="col-xs-1"> + <button type="button" class="btn btn-default" ng-disabled ="temp.policy.readOnly" ng-click="addNewRuleAlgorithm()"><i class="fa fa-plus"></i></button> + </div> + </div> + <div data-ng-repeat="ruleAlgorithmschoice in temp.policy.ruleAlgorithmschoices" class="form-horizontal" > + <div class="fn-ebz-container "> + <label ng-model="ruleAlgorithmschoice.dynamicRuleAlgorithmLabels" name="dynamicRuleAlgorithmLabels" >{{ruleAlgorithmschoice.id}}</label> + </div> + <div class="fn-ebz-container"> + <select class="form-field" id="mySelect" ng-disabled ="temp.policy.readOnly" ng-model="ruleAlgorithmschoice.dynamicRuleAlgorithmField1" ng-options="option for option in attributeDictionaryDatas track by option" name="dynamicRuleAlgorithmField1" > + <option value="">{{ruleAlgorithmschoice.dynamicRuleAlgorithmField1}}</option></select> + </div> + <div class="fn-ebz-container "> + <select type="text" class="form-field" ng-disabled ="temp.policy.readOnly" ng-model="ruleAlgorithmschoice.dynamicRuleAlgorithmCombo" ng-options="option for option in functionDefinitionDatas track by option" name="dynamicRuleAlgorithmCombo"></select> + </div> + <div class="fn-ebz-container"> + <input type="text" class="form-field" ng-disabled ="temp.policy.readOnly" ng-model= "ruleAlgorithmschoice.dynamicRuleAlgorithmField2" name="dynamicRuleAlgorithmField2"/> + </div> + <div class="fn-ebz-container"> + <button type="button" class="btn btn-default" ng-disabled ="temp.policy.readOnly" ng-click="removeRuleAlgorithm()"><i class="fa fa-minus"></i></button> + </div> + </div> + </form> + </div> + <br/> + <br/> + </div> + <div class="modal__footer"> + <button class="button button--primary button--small" 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 ="temp.policy.readOnly" ng-click="saveDecisionPolicy(temp);">Save</button> + <button class="btn btn-default" data-dismiss="modal" ng-disabled="temp.inprocess">Close</button> + </div> +</div> diff --git a/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/DescribePolicyTemplate.html b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/DescribePolicyTemplate.html new file mode 100644 index 000000000..7fadd9438 --- /dev/null +++ b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/DescribePolicyTemplate.html @@ -0,0 +1,50 @@ +<!-- + ============LICENSE_START======================================================= + ECOMP Policy Engine + ================================================================================ + Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ============LICENSE_END========================================================= + --> + +<div class="modal animated fadeIn" id="describePolicy" ng-app = "abs" style="margin-bottom: 20px; width: 100%" ng-class="{'modal-fullscreen': fullscreen}" data-toggle="modal" data-backdrop="static" data-keyboard="false"> + <div class="modal__informative font-showcase" style="width:80%;"> + <div class="modal-content"> + <form> + <div class="modal-header"> + <button type="button" class="close" data-dismiss="modal"> + <span aria-hidden="true">×</span> + <span class="sr-only">{{"close" | translate}}</span> + </button> + <button type="button" class="close mr5" ng-click="fullscreen=!fullscreen"> + <span>◊</span> + <span class="sr-only">{{'toggle_fullscreen' | translate}}</span> + </button> + <h4 class="modal-title">Describe Policy</h4> + </div> + <div class="modal-body"> + <div ng-bind-html="temp.tempModel.content"></div> + <div> + <span class="label label-warning" ng-show="temp.inprocess">{{'loading' | translate}} ...</span> + <div ng-show="!temp.inprocess" autofocus="autofocus"></div> + <div ng-include data-src="'error-bar'" class="clearfix"></div> + </div> + </div> + <div class="modal-footer"> + <button type="button" class="btn btn-default" data-dismiss="modal" ng-disabled="temp.inprocess">{{'close' | translate}}</button> + </div> + </form> + </div> + </div> +</div>
\ No newline at end of file diff --git a/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/ExportPolicyTemplate.html b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/ExportPolicyTemplate.html new file mode 100644 index 000000000..0a3013381 --- /dev/null +++ b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/ExportPolicyTemplate.html @@ -0,0 +1,35 @@ +<!-- + ============LICENSE_START======================================================= + ECOMP Policy Engine + ================================================================================ + Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ============LICENSE_END========================================================= + --> + +<div class="modal animated fadeIn" id = "exportPolicy" ng-controller="exportPolicyController" ng-app = "abs" data-toggle="modal" data-backdrop="static" data-keyboard="false"> +<div class="modal__informative font-showcase" style="width:80%;"> + <div class="modal__header"> + <h2 class="font-showcase-font-name">Export the Policies</h2> + </div> + <div class="divider-container"><hr> </div> + <div class="modal__content"> + <div id="grid1" ui-grid="gridOptions" ui-grid-tree-view ui-grid-pagination ui-grid-selection class="grid"></div> + </div> + <div class="modal__footer"> + <button class="btn btn-success" herf="javascript:void(0)" ng-click="download();">Download</button> + <button type="button" class="btn btn-default" data-dismiss="modal" ng-disabled="temp.inprocess">Close</button> + </div> + </div> +</div>
\ No newline at end of file diff --git a/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/FirewallPolicyTemplate.html b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/FirewallPolicyTemplate.html new file mode 100644 index 000000000..a143fbd52 --- /dev/null +++ b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/FirewallPolicyTemplate.html @@ -0,0 +1,116 @@ +<!-- + ============LICENSE_START======================================================= + ECOMP Policy Engine + ================================================================================ + Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ============LICENSE_END========================================================= + --> + +<div ng-app= "abs" ng-controller= "fwPolicyController"> +<div class="modal__content"> + <div> + <label>Policy Name:<sup><b>*</b></sup> </label><br> + <input type="text" class="form-control" ng-disabled ="temp.policy.readOnly" ng-readonly="temp.policy.editPolicy" ng-model="temp.policy.policyName" style="width:800px;"/> + </div> + <div> + <label>Description:</label><br> + <input type="text" class="form-control" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.policyDescription" style="width:800px;"/> + </div> + <div class="fn-ebz-container" > + <label>Risk Type:<sup><b>*</b></sup></label> + <div> + <select class="form-field" style="width:450px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.riskType" ng-options="option for option in riskTypeDictionaryDatas track by option"></select> + </div> + <p><span ng-show="validateRiskType" style="color:red">Risk Type Field shouldn't be Empty</span></p> + </div> + <div class="fn-ebz-container" > + <label>Risk Level:<sup><b>*</b></sup></label> + <div> + <select class="form-field" style="width:450px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.riskLevel" ng-options="option for option in riskLevelDatas track by option"></select> + </div> + <p><span ng-show="validateRiskLevel" style="color:red">Risk Level Field shouldn't be Empty</span></p> + </div> + <div class="fn-ebz-container" > + <label>Guard:<sup><b>*</b></sup></label> + <div> + <select class="form-field" style="width:450px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.guard" ng-options="option for option in guardDatas track by option"></select> + </div> + <p><span ng-show="validateGuard" style="color:red">Guard Field shouldn't be Empty</span></p> + </div> + <div class ="fn-ebz-container"> + <label>Time to Live Date:<sup><b>*</b></sup></label> + <div> + <input type="date" name="ttlDate" class="date" ng-model="temp.policy.ttlDate"/> + </div> + </div> + <div> + <label>Config Name:<sup><b>*</b></sup></label><br> + <input type="text" class="form-control" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.configName" style="width:800px;"/> + </div> + <div> + <label>Security Zone:<sup><b>*</b></sup></label><br> + <select class="form-field" style="width:400px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.securityZone" ng-options="option for option in securityZoneDictionaryDatas track by option"></select> + </div> + <div ng-if ="temp.policy.fwPolicyType == 'Child Policy'"> + <label>Select the Parent to assosciate:<sup><b>*</b></sup></label><br> + <select class="form-field" style="width:400px;" ng-disabled ="temp.policy.readOnly" ng-model="temp.policy.parentForChild" ng-options="option for option in fwParentListDictionaryDatas track by option"></select> + </div> + <br/> + <div class="fn-ebz-container" ng-if ="temp.policy.fwPolicyType == 'Parent Policy'"> + <label>Parent Dictionary Setup:</label><br> + <form method="post" class="form-horizontal" > + <div class="form-group"> + <div class="col-xs-1"> + <button type="button" class="btn btn-default" ng-disabled ="temp.policy.readOnly" ng-click="addNewFWDictList()"><i class="fa fa-plus"></i></button> + </div> + </div> + <div data-ng-repeat="choice in temp.policy.fwattributes" class="form-horizontal" > + <div class="fn-ebz-container"> + <select class="form-field" ng-model="choice.option" ng-disabled ="temp.policy.readOnly" ng-options="option for option in fwDictListDictionaryDatas track by option" ></select> + </div> + <div class="fn-ebz-container"> + <button type="button" class="btn btn-default" ng-disabled ="temp.policy.readOnly" ng-show="$last" ng-click="removefwDictChoice()"><i class="fa fa-minus"></i></button> + </div> + </div> + </form> + </div> + <br/> + <div class="fn-ebz-container" > + <label>Rule Setup:</label><br> + <form method="post" class="form-horizontal" > + <div class="form-group"> + <div class="col-xs-1"> + + <button type="button" class="btn btn-default" ng-disabled ="temp.policy.readOnly" ng-click="addNewChoice()"><i class="fa fa-plus"></i></button> + </div> + </div> + <div data-ng-repeat="choice in temp.policy.attributes" class="form-horizontal" > + <div class="fn-ebz-container"> + <select class="form-field" ng-model="choice.option" ng-disabled ="temp.policy.readOnly" ng-options="option for option in termListDictionaryDatas track by option" ><option value="">{{choice.option}}</option></select> + </div> + <div class="fn-ebz-container"> + <button type="button" class="btn btn-default" ng-disabled ="temp.policy.readOnly" ng-show="$last" ng-click="removeChoice()"><i class="fa fa-minus"></i></button> + </div> + </div> + </form> + </div> + </div> + <div class="modal__footer"> + <button type="button" class="btn btn-default" herf="javascript:void(0)" ng-click="viewFWRule(temp.policy);">Rule Preview</button> + <button class="button button--primary button--small" 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 ="temp.policy.readOnly" ng-click="saveFWPolicy(temp);">Save</button> + <button type="button" class="btn btn-default" data-dismiss="modal" ng-disabled="temp.inprocess">Close</button> + </div> +</div>
\ No newline at end of file diff --git a/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/PolicyTypeTemplate.html b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/PolicyTypeTemplate.html new file mode 100644 index 000000000..80fe80ee7 --- /dev/null +++ b/ecomp-sdk-app/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/PolicyTypeTemplate.html @@ -0,0 +1,79 @@ +<!-- + ============LICENSE_START======================================================= + ECOMP Policy Engine + ================================================================================ + Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ============LICENSE_END========================================================= + --> + +<div class="modal animated fadeIn" id="createNewPolicy" style="margin-bottom: 20px; width: 100%" data-toggle="modal" data-backdrop="static" data-keyboard="false"> + <div class="modal__informative font-showcase" style="width:95%;"> + <div class="modal__header"> + <button type="button" class="close" data-dismiss="modal"> + <span aria-hidden="true">×</span> + <span class="sr-only">{{"close" | translate}}</span> + </button> + <form class="form-horizontal" role="form"> + <div class="form-group"> + <label >Policy Type:</label> + <div> + <select class="form-field" ng-model="temp.policy.policyType" ng-disabled ="temp.policy.readOnly || temp.policy.editPolicy"> + <option>Action</option> + <option>Config</option> + <option>Decision</option> + </select> + </div> + </div> + <div ng-if ="temp.policy.policyType == 'Action'" ng-include="'app/policyApp/policy-models/Editor/PolicyTemplates/ActionPolicyTemplate.html'"></div> + <div ng-if ="temp.policy.policyType == 'Decision'" ng-include="'app/policyApp/policy-models/Editor/PolicyTemplates/DecisionPolicyTemplate.html'"></div> + <div ng-if ="temp.policy.policyType == 'Config'" > + <div class="form-group"> + <label>Config Policy Type:</label> + <div> + <select class="form-field" ng-model="temp.policy.configPolicyType" ng-disabled ="temp.policy.readOnly || temp.policy.editPolicy"> + <option>Base</option> + <option>BRMS_Param</option> + <option>BRMS_Raw</option> + <option>ClosedLoop_Fault</option> + <option>ClosedLoop_PM</option> + <option>DCAE Micro Service</option> + <option>Firewall Config</option> + </select> + </div> + </div> + <div ng-if ="temp.policy.configPolicyType == 'Base'" ng-include="'app/policyApp/policy-models/Editor/PolicyTemplates/BasePolicyTemplate.html'"></div> + <div ng-if ="temp.policy.configPolicyType == 'BRMS_Param'" ng-include="'app/policyApp/policy-models/Editor/PolicyTemplates/BRMSParamPolicyTemplate.html'"></div> + <div ng-if ="temp.policy.configPolicyType == 'BRMS_Raw'" ng-include="'app/policyApp/policy-models/Editor/PolicyTemplates/BRMSRawPolicyTemplate.html'"></div> + <div ng-if ="temp.policy.configPolicyType == 'ClosedLoop_Fault'" ng-include="'app/policyApp/policy-models/Editor/PolicyTemplates/ClosedLoopFaultPolicyTemplate.html'"></div> + <div ng-if ="temp.policy.configPolicyType == 'ClosedLoop_PM'" ng-include="'app/policyApp/policy-models/Editor/PolicyTemplates/ClosedLoopPMPolicyTemplate.html'"></div> + <div ng-if ="temp.policy.configPolicyType == 'DCAE Micro Service'" ng-include="'app/policyApp/policy-models/Editor/PolicyTemplates/DCAEMicroServicePolicyTemplate.html'"></div> + <div ng-if ="temp.policy.configPolicyType == 'Firewall Config'"> + <div class="form-group"> + <label>Firewall Policy Type:</label> + <div> + <select class="form-field" ng-model="temp.policy.fwPolicyType" ng-disabled ="temp.policy.readOnly || temp.policy.editPolicy"> + <option>Parent Policy</option> + <option>Child Policy</option> + </select> + </div> + <div ng-if ="temp.policy.fwPolicyType == 'Parent Policy'" ng-include="'app/policyApp/policy-models/Editor/PolicyTemplates/FirewallPolicyTemplate.html'"></div> + <div ng-if ="temp.policy.fwPolicyType == 'Child Policy'" ng-include="'app/policyApp/policy-models/Editor/PolicyTemplates/FirewallPolicyTemplate.html'"></div> + </div> + </div> + </div> + </form> + </div> + </div> +</div> |