summaryrefslogtreecommitdiffstats
path: root/POLICY-SDK-APP/src/main/webapp/app
diff options
context:
space:
mode:
authorMichael Mokry <mm117s@att.com>2018-09-10 15:23:15 -0500
committerMichael Mokry <mm117s@att.com>2018-09-11 10:31:26 -0500
commite957a1d9a9fa6bd0f9f8348d1e864c09cfe2cb92 (patch)
treea09024bc2c7e6a3b69affd95de9352c7d4d5c468 /POLICY-SDK-APP/src/main/webapp/app
parent1134bd40da28d3833a0dd4f821e75ec938f6061f (diff)
New min/max Guard Policy
Made changes to support Guard policy create/update and other policy manager functions including deletePolicy and pushPolicy. Includes changes for new Guard policy support using GUI and API (Rest and Java Client) Made changes to address Jim's comments Made changes to address Liam's comments Change-Id: I133fe1fd9287ea77ea41a2788de90c7642c36b6a Issue-ID: POLICY-1038 Signed-off-by: Mike Mokry <mm117s@att.com>
Diffstat (limited to 'POLICY-SDK-APP/src/main/webapp/app')
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/DecisionPolicyController.js17
-rw-r--r--POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/DecisionPolicyTemplate.html116
2 files changed, 126 insertions, 7 deletions
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/DecisionPolicyController.js b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/DecisionPolicyController.js
index ba9e44868..0e53ce9de 100644
--- a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/DecisionPolicyController.js
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/DecisionPolicyController.js
@@ -238,10 +238,11 @@ angular.module('abs').controller('decisionPolicyController', [ '$scope', 'Policy
$scope.blackListEntries = [];
$scope.temp.policy.appendBlackListEntries = [];
$scope.blackListEntries = arrayUnique($scope.temp.policy.blackListEntries.concat($scope.temp.policy.yamlparams.blackList));
- } else if ($scope.temp.policy.ruleProvider == "GUARD_YAML") {
- if ($scope.temp.policy.yamlparams.targets.length == 0) {
- $scope.temp.policy.yamlparams.targets = [];
- }
+
+ }else if($scope.temp.policy.ruleProvider=="GUARD_YAML" || $scope.temp.policy.ruleProvider=="GUARD_MIN_MAX"){
+ if($scope.temp.policy.yamlparams.targets.length==0){
+ $scope.temp.policy.yamlparams.targets = [];
+ }
} else if ($scope.temp.policy.ruleProvider == "Rainy_Day") {
if ($scope.temp.policy.rainyday.treatmentTableChoices == null || $scope.temp.policy.rainyday.treatmentTableChoices.length == 0) {
$scope.temp.policy.rainyday.treatmentTableChoices = [];
@@ -286,9 +287,9 @@ angular.module('abs').controller('decisionPolicyController', [ '$scope', 'Policy
$scope.addNewBL = function() {
$scope.temp.policy.yamlparams.blackList.push('');
};
-
- $scope.removeBL = function(id) {
- $scope.temp.policy.yamlparams.blackList = $scope.temp.policy.yamlparams.blackList.filter(function(obj) {
+
+ $scope.removeBL = function(id) {
+ $scope.temp.policy.yamlparams.blackList = $scope.temp.policy.yamlparams.blackList.filter(function (obj){
return obj !== id;
});
};
@@ -296,9 +297,11 @@ angular.module('abs').controller('decisionPolicyController', [ '$scope', 'Policy
$scope.treatmentDatas = [ {
"treatmentValues" : $scope.temp.policy.rainyday.treatmentTableChoices
} ];
+
$scope.addNewTreatment = function() {
$scope.temp.policy.rainyday.treatmentTableChoices.push({});
};
+
$scope.removeTreatment = function() {
var lastItem = $scope.temp.policy.rainyday.treatmentTableChoices.length - 1;
$scope.temp.policy.rainyday.treatmentTableChoices.splice(lastItem);
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/DecisionPolicyTemplate.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/DecisionPolicyTemplate.html
index f27d5c619..f482554a2 100644
--- a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/DecisionPolicyTemplate.html
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/DecisionPolicyTemplate.html
@@ -55,6 +55,7 @@
<option>Rainy_Day</option>
<option>GUARD_YAML</option>
<option>GUARD_BL_YAML</option>
+ <option>GUARD_MIN_MAX</option>
<option>Raw</option>
</select>
</div>
@@ -438,6 +439,121 @@
</div>
</div>
+ <div ng-if="temp.policy.ruleProvider == 'GUARD_MIN_MAX'">
+ <div class="well">
+ <div class="form-group row">
+ <div class="form-group col-sm-1">
+ <label>Guard MIN/MAX Attributes:</label><br>
+ </div>
+ </div>
+ <div class="form-group row">
+ <div class="form-group row" style="margin-left: 2%">
+ <div class="form-group col-sm-3">
+ <label> actor: </label>
+ </div>
+ <div class="form-group col-sm-3">
+ <input type="text" class="form-control"
+ ng-disabled="temp.policy.readOnly"
+ ng-model="temp.policy.yamlparams.actor" placeholder="Actor" />
+ </div>
+ </div>
+ <div class="form-group row" style="margin-left: 2%">
+ <div class="form-group col-sm-3">
+ <label> recipe: </label>
+ </div>
+ <div class="form-group col-sm-3">
+ <input type="text" class="form-control"
+ ng-disabled="temp.policy.readOnly"
+ ng-model="temp.policy.yamlparams.recipe" placeholder="Recipe" />
+ </div>
+ </div>
+ <div class="form-group row" style="margin-left: 2%">
+ <div class="form-group col-sm-3">
+ <label> CLName: </label>
+ </div>
+ <div class="form-group col-sm-3">
+ <input type="text" class="form-control"
+ ng-disabled="temp.policy.readOnly"
+ ng-model="temp.policy.yamlparams.clname" placeholder="CLName" />
+ </div>
+ </div>
+ <div class="form-group row" style="margin-left: 2%">
+ <div class="form-group col-sm-3">
+ <label> Targets: </label>
+ <button type="button" class="btn btn-default"
+ ng-disabled="temp.policy.readOnly" ng-click="addNewTarget()">
+ <i class="fa fa-plus"></i>
+ </button>
+ </div>
+ <div class="form-group col-sm-4">
+ <div
+ data-ng-repeat="choice in temp.policy.yamlparams.targets track by $index">
+ <div class="form-group row">
+ <div class="form-group col-sm-9">
+ <input type="text" class="form-control"
+ ng-disabled="temp.policy.readOnly"
+ ng-model="temp.policy.yamlparams.targets[$index]"
+ placeholder="Target" />
+ </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="removeTarget()">
+ <i class="fa fa-minus"></i>
+ </button>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="form-group row" style="margin-left: 2%">
+ <div class="form-group col-sm-3">
+ <label> min: </label>
+ </div>
+ <div class="form-group col-sm-3">
+ <input type="text" class="form-control"
+ ng-disabled="temp.policy.readOnly"
+ ng-model="temp.policy.yamlparams.min" placeholder="Min"
+ title="Enter minimum number of VNF instances" />
+ </div>
+ </div>
+ <div class="form-group row" style="margin-left: 2%">
+ <div class="form-group col-sm-3">
+ <label> max: </label>
+ </div>
+ <div class="form-group col-sm-3">
+ <input type="text" class="form-control"
+ ng-disabled="temp.policy.readOnly"
+ ng-model="temp.policy.yamlparams.max" placeholder="Max"
+ title="Enter maximum number of VNF instances" />
+ </div>
+ </div>
+ <div class="form-group row" style="margin-left: 2%">
+ <div class="form-group col-sm-3">
+ <label> guardActiveStart: </label>
+ </div>
+ <div class="form-group col-sm-3">
+ <input type="text" class="form-control"
+ ng-disabled="temp.policy.readOnly"
+ ng-model="temp.policy.yamlparams.guardActiveStart"
+ title="Enter Guard Active Start value in following patren '00:00:00-05:00'."
+ placeholder="00:00:00-05:00" />
+ </div>
+ </div>
+ <div class="form-group row" style="margin-left: 2%">
+ <div class="form-group col-sm-3">
+ <label> guardActiveEnd: </label>
+ </div>
+ <div class="form-group col-sm-3">
+ <input type="text" class="form-control"
+ ng-disabled="temp.policy.readOnly"
+ ng-model="temp.policy.yamlparams.guardActiveEnd"
+ title="Enter Guard Active End value in following patren '00:00:00-05:00'."
+ placeholder="00:00:00-05:00" />
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
<div ng-if="temp.policy.ruleProvider == 'Custom'">
<div class="well">