Merge "E2E Automation"
[clamp.git] / src / main / resources / META-INF / resources / designer / partials / portfolios / operational_policy_window.html
1 <!--
2   ============LICENSE_START=======================================================
3   ONAP CLAMP
4   ================================================================================
5   Copyright (C) 2017-2018 AT&T Intellectual Property. All rights
6                               reserved.
7   ================================================================================
8   Licensed under the Apache License, Version 2.0 (the "License"); 
9   you may not use this file except in compliance with the License. 
10   You may obtain a copy of the License at
11   
12   http://www.apache.org/licenses/LICENSE-2.0
13   
14   Unless required by applicable law or agreed to in writing, software 
15   distributed under the License is distributed on an "AS IS" BASIS, 
16   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
17   See the License for the specific language governing permissions and 
18   limitations under the License.
19   ============LICENSE_END============================================
20   ===================================================================
21   
22   -->
23
24
25 <style>
26 .disabled {
27         background-color: #dddd;
28 }
29
30 label {
31         text-align: right;
32         vertical-align: middle;
33 }
34
35 .leftPolicyPanel {
36         padding: 0 10px 0 0;
37 }
38
39 .idError {
40         color: red;
41         padding: 50px 0px;
42         text-align: center;
43         display: none;
44 }
45
46 .policyPanel {
47         background-color: #f5f5f5;
48         padding: 15px 5px 0 5px;
49 }
50
51 .form-group.clearfix {
52         display: -webkit-flex;
53         display: flex;
54         align-items: center;
55 }
56
57 label {
58         margin-bottom: 0px;
59 }
60
61 #policyTable {
62         cursor: pointer;
63         width: 100%;
64 }
65
66 #policyTable tr {
67         border-bottom: 1px solid #ddd;
68         border-collapse: collapse;
69         text-align: left;
70         font-size: 12px;
71         font-weight: normal;
72 }
73
74 #policyTable td {
75         padding: 8px 10px;
76 }
77
78 #policyTable tr.highlight {
79         background-color: #f5f5f5;
80         font-weight: bold;
81         font-size: 13px;
82 }
83
84 #policyTableHolder {
85         height: 200px;
86         width: 100%;
87         overflow: auto;
88 }
89 </style>
90
91
92 <div attribute-test="policywindowproperties" id="configure-widgets"
93         class="disabled-block-container">
94         <div attribute-test="policywindowpropertiesh" class="modal-header">
95                 <button type="button" class="close" ng-click="close(false)"
96                         aria-hidden="true" style="margin-top: -3px">&times;</button>
97                 <h4>Operational Policy</h4>
98         </div>
99
100
101         <div class="modal-body">
102                 <div attribute-test="policywindowpropertiesb" class="modal-body row">
103
104                         <div class="panel panel-default col-sm-9 policyPanel">
105                                 <form id="operationalPolicyHeaderForm" class="form-horizontal">
106                                         <div>
107                                                 <div class="form-group clearfix row">
108                                                         <label class="col-sm-2">Parent policy</label>
109                                                         <div class="col-sm-3" style="padding: 0px;">
110                                                                 <select type="text" id="trigger_policy" name="trigger_policy"
111                                                                         class="form-control" ng-model="null_dump"
112                                                                         ng-init="initPolicySelect()"
113                                                                         ng-options="policy for policy in policy_ids track by policy"></select>
114                                                         </div>
115
116                                                         <label for="timeout" class="col-sm-3"
117                                                                 style="padding-left: 5px; padding-right: 10px;">Overall
118                                                                 Time Limit</label>
119                                                         <div class="col-sm-2" style="padding-left: 0px;">
120                                                                 <input type="text" ng-pattern="/^[0-9]*$/" ng-model="number"
121                                                                         class="form-control" id="timeout" name="timeout">
122                                                         </div>
123
124                                                         <label for="abatement" class="col-sm-2">Abatement</label>
125                                                         <div class="col-sm-3" style="padding: 0px;">
126                                                                 <input type="checkbox" id="abatement" name="abatement"
127                                                                         checked="true" class="form-control">
128                                                         </div>
129                                                 </div>
130                                         </div>
131                                 </form>
132                                 <div class="panel-heading" style="background-color: white;">
133                                         <ul id="nav_Tabs" class="nav nav-tabs">
134                                                 <li class><a id="add_one_more" href="#desc_tab"><span
135                                                                 class="glyphicon glyphicon-plus" aria-hidden="true"></span></a></li>
136                                         </ul>
137                                 </div>
138                                 <div class="panel-body">
139                                         <div class="tab-content">
140                                                 <div id="properties_tab" class="tab-pane fade in active"></div>
141                                         </div>
142                                 </div>
143                         </div>
144
145                         <span id="formSpan" style="display: none">
146                                 <form class="policyProperties" class="form-horizontal"
147                                         style="border: 2px dotted gray;"
148                                         title="Operational Policy Properties">
149
150                                         <div class="form-group clearfix">
151                                                 <label class="col-sm-4 control-label" for="id">ID</label>
152                                                 <div class="col-sm-8">
153                                                         <input type="text" class="form-control" name="id" id="id"
154                                                                 ng-keyup="updateTabLabel($event)" />
155                                                 </div>
156                                         </div>
157                                         <div class="form-group clearfix">
158                                                 <label class="col-sm-4 control-label" for="recipe">Recipe</label>
159                                                 <div class="col-sm-8">
160                                                         <select class="form-control" name="recipe" id="recipe"
161                                                                 enableFilter="true"
162                                                                 ng-click="updateGuardRecipe($event);initTargetResourceId()"
163                                                                 ng-model="recipe">
164                                                                 <option value="Restart">Restart</option>
165                                                                 <option value="Rebuild">Rebuild</option>
166                                                                 <option value="Migrate">Migrate</option>
167                                                                 <option value="Health-Check">Health-Check</option>
168                                                                 <option value="ModifyConfig">ModifyConfig</option>
169                                                                 <option value="VF Module Create">VF Module Create</option>
170                                                                 <option value="VF Module Delete">VF Module Delete</option>
171                                                                 <option value="Reroute">Reroute</option>
172                                                         </select>
173                                                 </div>
174                                         </div>
175                                         <div class="form-group clearfix">
176                                                 <label for="retry" class="col-sm-4 control-label"> Retry</label>
177                                                 <div class="col-sm-8">
178                                                         <input type="text" maxlength="5" class="form-control" id="retry"
179                                                                 ng-pattern="/^[0-9]*$/" ng-model="number" name="retry">
180                                                         </input>
181                                                 </div>
182                                         </div>
183                                         <div class="form-group clearfix">
184                                                 <label for="timeout" class="col-sm-4 control-label">
185                                                         Timeout</label>
186                                                 <div class="col-sm-8">
187                                                         <input type="text" maxlength="5" class="form-control"
188                                                                 id="timeout" ng-pattern="/^[0-9]*$/" ng-model="number"
189                                                                 name="timeout"></input>
190                                                 </div>
191                                         </div>
192
193                                         <div class="form-group clearfix">
194                                                 <label for="actor" class="col-sm-4 control-label"> Actor</label>
195                                                 <div class="col-sm-8">
196                                                         <select class="form-control" id="actor" name="actor">
197                                                                 <option value="APPC">APPC</option>
198                                                                 <option value="SO">SO</option>
199                                                                 <option value="VFC">VFC</option>
200                                                                 <option value="SDNC">SDNC</option>°
201                                                                 <option value="SDNR">SDNR</option>°
202                                                         </select>
203                                                 </div>
204
205                                                 <label for="payload" class="col-sm-4 control-label">
206                                                         Payload (YAML)</label>
207                                                 <div class="col-sm-8">
208                                                         <textarea class="form-control" id="payload" name="payload"></textarea>
209                                                 </div>
210                                         </div>
211                                         <div class="form-group clearfix">
212                                                 <label for="success" class="col-sm-4 control-label">When
213                                                         Success</label>
214                                                 <div class="col-sm-8">
215                                                         <select class="form-control" id="success" name="success"
216                                                                 ng-model="null_dump"
217                                                                 ng-options="policy for policy in policy_ids track by policy"></select>
218                                                 </div>
219                                         </div>
220                                         <div class="form-group clearfix">
221                                                 <label for="failure" class="col-sm-4 control-label">When
222                                                         Failure</label>
223                                                 <div class="col-sm-8">
224                                                         <select class="form-control" id="failure" name="failure"
225                                                                 ng-model="null_dump"
226                                                                 ng-options="policy for policy in policy_ids track by policy"></select>
227                                                 </div>
228                                         </div>
229                                         <div class="form-group clearfix">
230                                                 <label for="failure_timeout" class="col-sm-4 control-label">When
231                                                         Failure Timeout</label>
232                                                 <div class="col-sm-8">
233                                                         <select class="form-control" id="failure_timeout"
234                                                                 name="failure_timeout" ng-model="null_dump"
235                                                                 ng-options="policy for policy in policy_ids track by policy"></select>
236                                                 </div>
237                                         </div>
238                                         <div class="form-group clearfix">
239                                                 <label for="failure_retries" class="col-sm-4 control-label">When
240                                                         Failure Retries</label>
241                                                 <div class="col-sm-8">
242                                                         <select class="form-control" id="failure_retries"
243                                                                 name="failure_retries" ng-model="null_dump"
244                                                                 ng-options="policy for policy in policy_ids track by policy"></select>
245                                                 </div>
246                                         </div>
247                                         <div class="form-group clearfix">
248                                                 <label for="failure_exception" class="col-sm-4 control-label">When
249                                                         Failure Exception</label>
250                                                 <div class="col-sm-8">
251                                                         <select class="form-control" id="failure_exception"
252                                                                 name="failure_exception" ng-model="null_dump"
253                                                                 ng-options="policy for policy in policy_ids track by policy"></select>
254                                                 </div>
255                                         </div>
256                                         <div class="form-group clearfix">
257                                                 <label for="failure_guard" class="col-sm-4 control-label">When
258                                                         Failure Guard</label>
259                                                 <div class="col-sm-8">
260                                                         <select class="form-control" id="failure_guard"
261                                                                 name="failure_guard" ng-model="null_dump"
262                                                                 ng-options="policy for policy in policy_ids track by policy"></select>
263                                                 </div>
264                                         </div>
265                                 </form>
266                                 <form class="policyTarget" class="form-horizontal"
267                                         title="Operational Policy Target" style="border: 2px dotted gray;">
268                                         <div class="form-group clearfix">
269                                                 <label for="type" class="col-sm-4 control-label"> Target
270                                                         Type</label>
271                                                 <div class="col-sm-8">
272                                                         <select class="form-control" name="type" id="type"
273                                                                 ng-click="initTargetResourceId()" ng-model="type">
274                                                                 <option value="VFC">VFC</option>
275                                                                 <option value="VM">VM</option>
276                                                                 <option value="VNF">VNF</option>
277                                                         </select>
278                                                 </div>
279                                         </div>
280                                         <div class="form-group clearfix">
281                                                 <label for="resourceId" class="col-sm-4 control-label">
282                                                         Target ResourceId</label>
283                                                 <div class="col-sm-8">
284                                                         <select class="form-control" name="resourceId" id="resourceId"
285                                                                 enableFilter="true" ng-model="resourceId">
286                                                                 <option value=""></option>
287                                                                 <option value="Other:">Other:</option>
288                                                         </select>
289                                                 </div>
290                                         </div>
291                                 </form>
292                                 <div class="form-group clearfix">
293                                         <label for="enableGuardPolicy" class="col-sm-4 control-label">
294                                                 Enable Guard Policy</label>
295                                         <div class="col-sm-8">
296                                                 <input type="checkbox" class="form-control"
297                                                         name="enableGuardPolicy" id="enableGuardPolicy">
298                                         </div>
299
300                                         <div class="col-sm-8">
301                                                 <label for="guardPolicyType" class="col-sm-4 control-label">
302                                                         Guard Policy Type</label> <select class="form-control"
303                                                         name="guardPolicyType" id="guardPolicyType"
304                                                         ng-change="changeGuardPolicyType()" ng-model="guardType">
305                                                         <option value="GUARD_MIN_MAX">MinMax</option>
306                                                         <option value="GUARD_YAML">FrequencyLimiter</option>
307                                                 </select>
308                                         </div>
309                                 </div>
310                                 <form class="guardProperties" class="form-horizontal"
311                                         title="Guard policy associated" style="border: 2px dotted gray;">
312
313                                         <div class="form-group clearfix">
314                                                 <label class="col-sm-4 control-label" for="id">ID</label>
315                                                 <div class="col-sm-8">
316                                                         <input type="text" class="form-control" name="id" id="id" />
317                                                 </div>
318                                         </div>
319                                         <div class="form-group clearfix">
320                                                 <label class="col-sm-4 control-label" for="recipe">Recipe</label>
321                                                 <div class="col-sm-8">
322                                                         <input type="text" class="form-control" name="recipe"
323                                                                 readonly="readonly" id="recipe" />
324                                                 </div>
325                                         </div>
326                                         <div class="form-group clearfix">
327                                                 <label class="col-sm-4 control-label" for="clname">ControlLoopName</label>
328                                                 <div class="col-sm-8">
329                                                         <input type="text" class="form-control" name="clname"
330                                                                 readonly="readonly" id="clname" ng-model="clname"/>
331                                                 </div>
332                                         </div>
333                                         
334                                         
335                                         <div class="form-group clearfix">
336
337                                                 <label for="guardTargets" class="col-sm-4 control-label">Guard
338                                                         targets</label>
339                                                 <div class="col-sm-8">
340                                                         <input class="form-control" name="guardTargets" id="guardTargets" />
341                                                 </div>
342                                         </div>
343
344                                         <div class="form-group clearfix" id="minMaxGuardPolicyDiv">
345                                                 <label for="minGuard" class="col-sm-4 control-label"> Min
346                                                         Guard</label>
347                                                 <div class="col-sm-8">
348                                                         <input class="form-control" name="minGuard" id="minGuard" />
349                                                 </div>
350                                                 <label for="maxGuard" class="col-sm-4 control-label"> Max
351                                                         Guard</label>
352                                                 <div class="col-sm-8">
353                                                         <input class="form-control" name="maxGuard" id="maxGuard" />
354                                                 </div>
355                                         </div>
356                                         <div class="form-group clearfix"
357                                                 id="frequencyLimiterGuardPolicyDiv" style="display: none">
358                                                 <label for="limitGuard" class="col-sm-4 control-label">Limit</label>
359                                                 <div class="col-sm-8">
360                                                         <input class="form-control" name="limitGuard" id="limitGuard" />
361                                                 </div>
362                                                 <div class="col-sm-8">
363                                                         <select class="form-control" name="timeUnitsGuard"
364                                                                 id="timeUnitsGuard">
365                                                                 <option value=""></option>
366                                                                 <option value="minute">minute</option>
367                                                                 <option value="hour">hour</option>
368                                                                 <option value="day">day</option>
369                                                                 <option value="week">week</option>
370                                                                 <option value="month">month</option>
371                                                                 <option value="year">year</option>
372
373                                                         </select> <label for="timeWindowGuard" class="col-sm-4 control-label">Time
374                                                                 Window</label>
375                                                 </div>
376                                                 <div class="col-sm-8">
377                                                         <input class="form-control" name="timeWindowGuard"
378                                                                 id="timeWindowGuard" />
379                                                 </div>
380                                         </div>
381                                         <div class="form-group clearfix">
382                                                 <label for="guardActiveStart" class="col-sm-4 control-label">
383                                                         Guard Active Start</label>
384                                                 <div class="col-sm-8">
385                                                         <input class="form-control" name="guardActiveStart"
386                                                                 id="guardActiveStart" />
387                                                 </div>
388                                                 <label for="guardActiveEnd" class="col-sm-4 control-label">
389                                                         Guard Active End</label>
390                                                 <div class="col-sm-8">
391                                                         <input class="form-control" name="guardActiveEnd"
392                                                                 id="guardActiveEnd" />
393                                                 </div>
394                                         </div>
395
396                                 </form>
397
398                         </span>
399                 </div>
400         </div>
401
402         <div attribute-test="policywindowpropertiesf" class="modal-footer">
403                 <button id="savePropsBtn" class="btn btn-primary">Close</button>
404                 <button ng-click="close(true)" id="close_button"
405                         class="btn btn-primary">Cancel</button>
406         </div>
407
408 </div>