Fix Guard policy payload
[clamp.git] / src / main / resources / META-INF / resources / designer / partials / portfolios / operational_policy_window.html
index 320b86f..db81e47 100644 (file)
@@ -2,7 +2,7 @@
   ============LICENSE_START=======================================================
   ONAP CLAMP
   ================================================================================
-  Copyright (C) 2017-2018 AT&T Intellectual Property. All rights
+  Copyright (C) 2017-2019 AT&T Intellectual Property. All rights
                               reserved.
   ================================================================================
   Licensed under the Apache License, Version 2.0 (the "License"); 
@@ -100,41 +100,42 @@ label {
 
        <div class="modal-body">
                <div attribute-test="policywindowpropertiesb" class="modal-body row">
-                       <div class="leftPolicyPanel" style="display: none;">
-                               <div class="panel panel-default">
-                                       <div id="policyTableHolder">
-                                               <table id="policyTable"></table>
-                                       </div>
-                               </div>
 
-                               <div id="spaceError" class="idError">Error: Spaces are not
-                                       allowed in the ID.</div>
-                       </div>
                        <div class="panel panel-default col-sm-9 policyPanel">
-                               <form id="Timeoutform" class="form-horizontal">
+                               <form id="operationalPolicyHeaderForm" class="form-horizontal">
                                        <div>
                                                <div class="form-group clearfix row">
-                                                       <label class="col-sm-2">Name</label>
+                                                       <label class="col-sm-2">Parent policy</label>
                                                        <div class="col-sm-3" style="padding: 0px;">
-                                                               <input type="text" id="pname" name="pname" maxlength="48"
-                                                                       placeholder="Enter Unique Name" class="form-control">
-                                                       </div>
-
-                                                       <label class="col-sm-1">ID</label>
-                                                       <div class="col-sm-1" style="padding: 0px;">
-                                                               <input onkeydown="return false;" type="text" id="pid" name="pid"
-                                                                       class="form-control" readonly>
+                                                               <select type="text" id="trigger_policy" name="trigger_policy"
+                                                                       class="form-control" ng-model="null_dump"
+                                                                       ng-init="initPolicySelect()"
+                                                                       ng-options="policy for policy in policy_ids track by policy">
+                                                                       <option value="">-- choose an option --</option>
+                                                                       </select>
                                                        </div>
 
-                                                       <label for="userID" class="col-sm-3"
+                                                       <label for="timeout" class="col-sm-3"
                                                                style="padding-left: 5px; padding-right: 10px;">Overall
                                                                Time Limit</label>
                                                        <div class="col-sm-2" style="padding-left: 0px;">
-                                                               <input type="text" maxlength="10"
-                                                                       ng-keypress="isNumberKey(event)" class="form-control"
-                                                                       id="timeout" name="timeout">
+                                                               <input type="text" ng-pattern="/^[0-9]*$/" ng-model="number"
+                                                                       class="form-control" id="timeout" name="timeout">
+                                                       </div>
+
+                                                       <label for="abatement" class="col-sm-2">Abatement</label>
+                                                       <div class="col-sm-3" style="padding: 0px;">
+                                                               <input type="checkbox" id="abatement" name="abatement"
+                                                                       checked="true" class="form-control">
                                                        </div>
                                                </div>
+                                               <div class="form-group clearfix row">
+                                                   <label class="col-sm-4 control-label" for="clname">ControlLoopName</label>
+                                                   <div class="col-sm-8">
+                                                           <input type="text" class="form-control" name="controlLoopName"
+                                                                   readonly="readonly" id="clname" ng-model="clname"/>
+                                                   </div>
+                                               </div>
                                        </div>
                                </form>
                                <div class="panel-heading" style="background-color: white;">
@@ -151,161 +152,318 @@ label {
                        </div>
 
                        <span id="formSpan" style="display: none">
-                               <form class="saveProps" class="form-horizontal">
-                                       <div>
-                                               <div class="form-group clearfix">
-                                                       <label class="col-sm-4 control-label" for="recipe">Recipe</label>
-                                                       <div class="col-sm-8">
-                                                               <select class="form-control" name="recipe" id="recipe"
-                                                                       enableFilter="true"></select>
-                                                       </div>
+                               <form class="policyProperties" class="form-horizontal"
+                                       style="border: 2px dotted gray;"
+                                       title="Operational Policy Properties">
+
+                                       <div class="form-group clearfix">
+                                               <label class="col-sm-4 control-label" for="id">ID</label>
+                                               <div class="col-sm-8">
+                                                       <input type="text" class="form-control" name="id" id="id"
+                                                               ng-keyup="updateTabLabel($event)" />
+                                               </div>
+                                       </div>
+                                       <div class="form-group clearfix">
+                                               <label class="col-sm-4 control-label" for="recipe">Recipe</label>
+                                               <div class="col-sm-8">
+                                                       <select class="form-control" name="recipe" id="recipe"
+                                                               enableFilter="true"  ng-model="recipe" ng-click="updateGuardRecipe($event)">
+                                                               <option value="">-- choose an option --</option>
+                                                               <option value="Restart">Restart</option>
+                                                               <option value="Rebuild">Rebuild</option>
+                                                               <option value="Migrate">Migrate</option>
+                                                               <option value="Health-Check">Health-Check</option>
+                                                               <option value="ModifyConfig">ModifyConfig</option>
+                                                               <option value="VF Module Create">VF Module Create</option>
+                                                               <option value="VF Module Delete">VF Module Delete</option>
+                                                               <option value="Reroute">Reroute</option>
+                                                       </select>
+                                               </div>
+                                       </div>
+                                       <div class="form-group clearfix">
+                                               <label for="retry" class="col-sm-4 control-label"> Retry</label>
+                                               <div class="col-sm-8">
+                                                       <input type="text" maxlength="5" class="form-control" id="retry"
+                                                               ng-pattern="/^[0-9]*$/" ng-model="number" name="retry">
+                                                       </input>
+                                               </div>
+                                       </div>
+                                       <div class="form-group clearfix">
+                                               <label for="timeout" class="col-sm-4 control-label">
+                                                       Timeout</label>
+                                               <div class="col-sm-8">
+                                                       <input type="text" maxlength="5" class="form-control"
+                                                               id="timeout" ng-pattern="/^[0-9]*$/" ng-model="number"
+                                                               name="timeout"></input>
+                                               </div>
+                                       </div>
+
+                                       <div class="form-group clearfix">
+                                               <label for="actor" class="col-sm-4 control-label"> Actor</label>
+                                               <div class="col-sm-8">
+                                                       <select class="form-control" id="actor" name="actor" ng-click="updateGuardActor($event)" ng-model="actor">
+                                                           <option value="">-- choose an option --</option>
+                                                               <option value="APPC">APPC</option>
+                                                               <option value="SO">SO</option>
+                                                               <option value="VFC">VFC</option>
+                                                               <option value="SDNC">SDNC</option>°
+                                                               <option value="SDNR">SDNR</option>°
+                                                       </select>
+                                               </div>
+
+                                               <label for="payload" class="col-sm-4 control-label">
+                                                       Payload (YAML)</label>
+                                               <div class="col-sm-8">
+                                                       <textarea class="form-control" id="payload" name="payload"></textarea>
+                                               </div>
+                                       </div>
+                                       <div class="form-group clearfix">
+                                               <label for="success" class="col-sm-4 control-label">When
+                                                       Success</label>
+                                               <div class="col-sm-8">
+                                                       <select class="form-control" id="success" name="success"
+                                                               ng-model="null_dump"
+                                                               ng-options="policy for policy in policy_ids track by policy">
+                                                               <option value="">-- choose an option --</option>
+                                                               </select>
+                                               </div>
+                                       </div>
+                                       <div class="form-group clearfix">
+                                               <label for="failure" class="col-sm-4 control-label">When
+                                                       Failure</label>
+                                               <div class="col-sm-8">
+                                                       <select class="form-control" id="failure" name="failure"
+                                                               ng-model="null_dump"
+                                                               ng-options="policy for policy in policy_ids track by policy">
+                                                               <option value="">-- choose an option --</option>
+                                                               </select>
+                                               </div>
+                                       </div>
+                                       <div class="form-group clearfix">
+                                               <label for="failure_timeout" class="col-sm-4 control-label">When
+                                                       Failure Timeout</label>
+                                               <div class="col-sm-8">
+                                                       <select class="form-control" id="failure_timeout"
+                                                               name="failure_timeout" ng-model="null_dump"
+                                                               ng-options="policy for policy in policy_ids track by policy">
+                                                               <option value="">-- choose an option --</option>
+                                                               </select>
+                                               </div>
+                                       </div>
+                                       <div class="form-group clearfix">
+                                               <label for="failure_retries" class="col-sm-4 control-label">When
+                                                       Failure Retries</label>
+                                               <div class="col-sm-8">
+                                                       <select class="form-control" id="failure_retries"
+                                                               name="failure_retries" ng-model="null_dump"
+                                                               ng-options="policy for policy in policy_ids track by policy">
+                                                               <option value="">-- choose an option --</option>
+                                                               </select>
+                                               </div>
+                                       </div>
+                                       <div class="form-group clearfix">
+                                               <label for="failure_exception" class="col-sm-4 control-label">When
+                                                       Failure Exception</label>
+                                               <div class="col-sm-8">
+                                                       <select class="form-control" id="failure_exception"
+                                                               name="failure_exception" ng-model="null_dump"
+                                                               ng-options="policy for policy in policy_ids track by policy">
+                                                               <option value="">-- choose an option --</option>
+                                                               </select>
+                                               </div>
+                                       </div>
+                                       <div class="form-group clearfix">
+                                               <label for="failure_guard" class="col-sm-4 control-label">When
+                                                       Failure Guard</label>
+                                               <div class="col-sm-8">
+                                                       <select class="form-control" id="failure_guard"
+                                                               name="failure_guard" ng-model="null_dump"
+                                                               ng-options="policy for policy in policy_ids track by policy">
+                                                               <option value="">-- choose an option --</option>
+                                                               </select>
+                                               </div>
+                                       </div>
+                               </form>
+                               <form class="policyTarget" class="form-horizontal"
+                                       title="Operational Policy Target" style="border: 2px dotted gray;">
+                                       <div class="form-group clearfix">
+                                               <label for="type" class="col-sm-4 control-label"> Target
+                                                       Type</label>
+                                               <div class="col-sm-8">
+                                                       <select class="form-control" name="type" id="type"
+                                                               ng-click="initTargetResourceId($event)" ng-model="type">
+                                                               <option value="">-- choose an option --</option>                                                    
+                                                               <option value="VFModule">VFModule</option>
+                                                               <option value="VM">VM</option>
+                                                               <option value="VNF">VNF</option>
+                                                       </select>
+                                               </div>
+                                       </div>
+                                       <div class="form-group clearfix">
+                                               <label for="resourceId" class="col-sm-4 control-label">
+                                                       Target ResourceId</label>
+                                               <div class="col-sm-8">
+                                                       <select class="form-control" name="resourceId" id="resourceId"
+                                                               enableFilter="true" ng-click="changeTargetResourceId($event)"
+                                                               ng-model="resourceId">
+                                                               <option value="">-- choose an option --</option>
+                                                       </select>
                                                </div>
+                                       </div>
+                                       <div id="metadata">
                                                <div class="form-group clearfix">
-                                                       <label for="maxRetries" class="col-sm-4 control-label">
-                                                               Max Retries</label>
+                                                       <label for="modelInvariantId" class="col-sm-4 control-label">
+                                                               Model Invariant Id</label>
                                                        <div class="col-sm-8">
-                                                               <input type="text" maxlength="5" class="form-control"
-                                                                       id="maxRetries" ng-keypress="isNumberKey(event)"
-                                                                       name="maxRetries"> </input>
+                                                               <input class="form-control" name="modelInvariantId"
+                                                                       id="modelInvariantId" readonly />
                                                        </div>
                                                </div>
                                                <div class="form-group clearfix">
-                                                       <label for="retryTimeLimit" class="col-sm-4 control-label">
-                                                               Retry Time Limit</label>
+                                                       <label for="modelVersionId" class="col-sm-4 control-label">
+                                                               Model Version Id</label>
                                                        <div class="col-sm-8">
-                                                               <input type="text" maxlength="5" class="form-control"
-                                                                       id="retryTimeLimit" ng-keypress="isNumberKey(event)"
-                                                                       name="retryTimeLimit"></input>
+                                                               <input class="form-control" name="modelVersionId"
+                                                                       id="modelVersionId" readonly />
                                                        </div>
                                                </div>
-                                               <div style="display: none;" class="form-group clearfix">
-                                                       <label for="_id" class="col-sm-4 control-label"> PolicyID</label>
+                                               <div class="form-group clearfix">
+                                                       <label for="modelName" class="col-sm-4 control-label">
+                                                               Model Name</label>
                                                        <div class="col-sm-8">
-                                                               <input type="text" onkeydown="return false;"
-                                                                       class="form-control" id="_id" name="_id" value=""></input>
+                                                               <input class="form-control" name="modelName" id="modelName"
+                                                                       readonly />
                                                        </div>
                                                </div>
                                                <div class="form-group clearfix">
-                                                       <label for="parentPolicy" class="col-sm-4 control-label">
-                                                               Parent Policy</label>
+                                                       <label for="modelVersion" class="col-sm-4 control-label">
+                                                               Model Version</label>
                                                        <div class="col-sm-8">
-                                                               <select class="form-control" id="parentPolicy"
-                                                                       name="parentPolicy" enableFilter="true"><option
-                                                                               value=""></option></select>
+                                                               <input class="form-control" name="modelVersion"
+                                                                       id="modelVersion" readonly />
                                                        </div>
                                                </div>
                                                <div class="form-group clearfix">
-                                                       <label for="parentPolicyConditions"
-                                                               class="col-sm-4 control-label"> Parent Policy Conditions</label>
+                                                       <label for="modelCustomizationId" class="col-sm-4 control-label">
+                                                               Model Customization Id</label>
                                                        <div class="col-sm-8">
-                                                               <select class="form-control" id="parentPolicyConditions"
-                                                                       name="parentPolicyConditions" multiple></select>
+                                                               <input class="form-control" name="modelCustomizationId"
+                                                                       id="modelCustomizationId" readonly />
                                                        </div>
                                                </div>
-                                               <div class="form-group clearfix">
+                                       </div>
+                               </form>
+                               <div class="form-group clearfix">
+                                       <label for="enableGuardPolicy" class="col-sm-4 control-label">
+                                               Enable Guard Policy</label>
+                                       <div class="col-sm-8">
+                                               <input type="checkbox" class="form-control"
+                                                       name="enableGuardPolicy" id="enableGuardPolicy">
+                                       </div>
 
-                                                       <label for="actor" class="col-sm-4 control-label"> Actor</label>
-                                                       <div class="col-sm-8">
-                                                               <select class="form-control" id="actor" name="actor"></select>
-                                                       </div>
+                                       <div class="col-sm-8">
+                                               <label for="guardPolicyType" class="col-sm-4 control-label">
+                                                       Guard Policy Type</label> <select class="form-control"
+                                                       name="guardPolicyType" id="guardPolicyType"
+                                                       ng-change="changeGuardPolicyType()" ng-model="guardType">
+                                                       <option value="GUARD_MIN_MAX">MinMax</option>
+                                                       <option value="GUARD_YAML">FrequencyLimiter</option>
+                                               </select>
+                                       </div>
+                               </div>
+                               <form class="guardProperties" class="form-horizontal"
+                                       title="Guard policy associated" style="border: 2px dotted gray;">
 
-                                                       <label for="payload" class="col-sm-4 control-label">
-                                                               Payload (YAML)</label>
-                                                       <div class="col-sm-8">
-                                                               <textarea class="form-control" id="recipePayload" name=recipePayload></textarea>
-                                                       </div>
+                                       <div class="form-group clearfix">
+                                               <label class="col-sm-4 control-label" for="id">Guard Policy ID</label>
+                                               <div class="col-sm-8">
+                                                       <input type="text" class="form-control" name="id" id="id" />
                                                </div>
-                                               <div class="form-group clearfix">
-                                                       <label for="targetType" class="col-sm-4 control-label">
-                                                               Target Type</label>
-                                                       <div class="col-sm-8">
-                                                               <select class="form-control" name="recipeLevel" id="recipeLevel">
-                                                               </select>
-                                                       </div>
+                                       </div>
+                                       <div class="form-group clearfix">
+                                               <label class="col-sm-4 control-label" for="recipe">Recipe</label>
+                                               <div class="col-sm-8">
+                                                       <input type="text" class="form-control" name="recipe"
+                                                               readonly="readonly" id="recipe"/>
+                                               </div>
+                                       </div>
+                                       <div class="form-group clearfix">
+                                               <label class="col-sm-4 control-label" for="clname">ControlLoopName</label>
+                                               <div class="col-sm-8">
+                                                       <input type="text" class="form-control" name="clname"
+                                                               readonly="readonly" id="clname" ng-model="clname"/>
+                                               </div>
+                                       </div>
+                                       <div class="form-group clearfix">
+                                           <label for="actor" class="col-sm-4 control-label">Actor</label>
+                                               <div class="col-sm-8">
+                                                   <input type="text" class="form-control" name="actor"
+                                                               readonly="readonly" id="actor" />
+                                               </div>
+                                       </div>
+                                       <div class="form-group clearfix">
 
-                                                       <label for="targetResourceId" class="col-sm-4 control-label">
-                                                               Target ResourceId</label>
-                                                       <div class="col-sm-8">
-                                                               <select class="form-control" name="targetResourceId"
-                                                                       id="targetResourceId" enableFilter="true"
-                                                                       ng-change="changeTargetResourceIdOther()" ng-model="targetResource" >
-                                                                       <option value=""></option>
-                                                                       <option value="Other:">Other:</option>
-                                                               </select>
-                                                       </div>
-                                                       <input type="text" style="display: none" class="form-control"
-                                                               id="targetResourceIdOther" name="targetResourceIdOther" value=""></input>
-                                               </div>
-                                               <div style="border: 2px dotted gray;">
-                                                       <div class="form-group clearfix">
-                                                               <label for="enableGuardPolicy" class="col-sm-4 control-label">
-                                                                       Enable Guard Policy</label>
-                                                               <div class="col-sm-8">
-                                                                       <input type="checkbox" class="form-control"
-                                                                               name="enableGuardPolicy" id="enableGuardPolicy">
-                                                               </div>
-                                                               <div class="col-sm-8">
-                                                                       <label for="guardPolicyType" class="col-sm-4 control-label">
-                                                                               Guard Policy Type</label> <select class="form-control"
-                                                                               name="guardPolicyType" id="guardPolicyType"
-                                                                               ng-change="changeGuardPolicyType()" ng-model="guardType">
-                                                                               <option value="GUARD_MIN_MAX">MinMax</option>
-                                                                               <option value="GUARD_YAML">FrequencyLimiter</option>
-                                                                       </select>
-                                                               </div>
-                                                               <label for="guardTargets" class="col-sm-4 control-label">Guard
-                                                                       targets</label>
-                                                               <div class="col-sm-8">
-                                                                       <input class="form-control" name="guardTargets"
-                                                                               id="guardTargets" />
-                                                               </div>
-                                                       </div>
+                                               <label for="targets" class="col-sm-4 control-label">Guard
+                                                       targets</label>
+                                               <div class="col-sm-8">
+                                                       <input class="form-control" name="targets" id="targets" />
+                                               </div>
+                                       </div>
 
-                                                       <div class="form-group clearfix" id="minMaxGuardPolicyDiv">
-                                                               <label for="minGuard" class="col-sm-4 control-label">
-                                                                       Min Guard</label>
-                                                               <div class="col-sm-8">
-                                                                       <input class="form-control" name="minGuard" id="minGuard" />
-                                                               </div>
-                                                               <label for="maxGuard" class="col-sm-4 control-label">
-                                                                       Max Guard</label>
-                                                               <div class="col-sm-8">
-                                                                       <input class="form-control" name="maxGuard" id="maxGuard" />
-                                                               </div>
-                                                       </div>
-                                                       <div class="form-group clearfix"
-                                                               id="frequencyLimiterGuardPolicyDiv" style="display: none">
-                                                               <label for="limitGuard" class="col-sm-4 control-label">Limit</label>
-                                                               <div class="col-sm-8">
-                                                                       <input class="form-control" name="limitGuard" id="limitGuard" />
-                                                               </div>
-                                                               <div class="col-sm-8">
-                                                                       <select class="form-control" name="timeUnitsGuard"
-                                                                               id="timeUnitsGuard" /> <label for="timeWindowGuard"
-                                                                               class="col-sm-4 control-label">Time Window</label>
-                                                               </div>
-                                                               <div class="col-sm-8">
-                                                                       <input class="form-control" name="timeWindowGuard"
-                                                                               id="timeWindowGuard" />
-                                                               </div>
-                                                       </div>
-                                                       <div class="form-group clearfix">
-                                                               <label for="guardActiveStart" class="col-sm-4 control-label">
-                                                                       Guard Active Start</label>
-                                                               <div class="col-sm-8">
-                                                                       <input class="form-control" name="guardActiveStart"
-                                                                               id="guardActiveStart" />
-                                                               </div>
-                                                               <label for="guardActiveEnd" class="col-sm-4 control-label">
-                                                                       Guard Active End</label>
-                                                               <div class="col-sm-8">
-                                                                       <input class="form-control" name="guardActiveEnd"
-                                                                               id="guardActiveEnd" />
-                                                               </div>
-                                                       </div>
+                                       <div class="form-group clearfix" id="minMaxGuardPolicyDiv">
+                                               <label for="min" class="col-sm-4 control-label"> Min
+                                                       Guard</label>
+                                               <div class="col-sm-8">
+                                                       <input class="form-control" name="min" id="min" />
+                                               </div>
+                                               <label for="max" class="col-sm-4 control-label"> Max
+                                                       Guard</label>
+                                               <div class="col-sm-8">
+                                                       <input class="form-control" name="max" id="max" />
+                                               </div>
+                                       </div>
+                                       <div class="form-group clearfix"
+                                               id="frequencyLimiterGuardPolicyDiv" style="display: none">
+                                               <label for="limit" class="col-sm-4 control-label">Limit</label>
+                                               <div class="col-sm-8">
+                                                       <input class="form-control" name="limit" id="limit" />
+                                               </div>
+                                               <div class="col-sm-8">
+                                                       <select class="form-control" name="timeUnits"
+                                                               id="timeUnits">
+                                                               <option value=""></option>
+                                                               <option value="minute">minute</option>
+                                                               <option value="hour">hour</option>
+                                                               <option value="day">day</option>
+                                                               <option value="week">week</option>
+                                                               <option value="month">month</option>
+                                                               <option value="year">year</option>
+
+                                                       </select> <label for="timeWindow" class="col-sm-4 control-label">Time
+                                                               Window</label>
+                                               </div>
+                                               <div class="col-sm-8">
+                                                       <input class="form-control" name="timeWindow"
+                                                               id="timeWindow" />
                                                </div>
                                        </div>
+                                       <div class="form-group clearfix">
+                                               <label for="guardActiveStart" class="col-sm-4 control-label">
+                                                       Guard Active Start</label>
+                                               <div class="col-sm-8">
+                                                       <input class="form-control" name="guardActiveStart"
+                                                               id="guardActiveStart" />
+                                               </div>
+                                               <label for="guardActiveEnd" class="col-sm-4 control-label">
+                                                       Guard Active End</label>
+                                               <div class="col-sm-8">
+                                                       <input class="form-control" name="guardActiveEnd"
+                                                               id="guardActiveEnd" />
+                                               </div>
+                                       </div>
+
                                </form>
+
                        </span>
                </div>
        </div>