blob: b43f6f9d47e3559ecdb0c8af0b479157ffe9ca34 [file] [log] [blame]
sebdetf9e2cee2019-08-09 18:36:09 +02001{
2 "schema": {
3 "uniqueItems": "true",
4 "format": "tabs",
5 "type": "array",
6 "minItems": 1,
7 "maxItems": 1,
8 "title": "Operational policies",
9 "items": {
10 "type": "object",
11 "title": "Operational Policy Item",
12 "id": "operational_policy_item",
13 "headerTemplate": "{{self.name}}",
14 "required": [
15 "name",
16 "configurationsJson"
17 ],
18 "properties": {
19 "name": {
20 "type": "string",
21 "title": "Operational policy name",
22 "readOnly": "True"
23 },
24 "configurationsJson": {
25 "type": "object",
26 "title": "Configuration",
27 "required": [
28 "operational_policy",
29 "guard_policies"
30 ],
31 "properties": {
32 "operational_policy": {
33 "type": "object",
34 "title": "Related Parameters",
35 "required": [
36 "controlLoop",
37 "policies"
38 ],
39 "properties": {
40 "controlLoop": {
41 "type": "object",
42 "title": "Control Loop details",
43 "required": [
44 "timeout",
45 "abatement",
46 "trigger_policy",
47 "controlLoopName"
48 ],
49 "properties": {
50 "timeout": {
51 "type": "string",
52 "title": "Overall Time Limit",
53 "default": "0",
54 "format": "number"
55 },
56 "abatement": {
57 "type": "string",
58 "title": "Abatement",
59 "enum": [
60 "True",
61 "False"
62 ]
63 },
64 "trigger_policy": {
65 "type": "string",
66 "title": "Policy Decision Entry"
67 },
68 "controlLoopName": {
69 "type": "string",
70 "title": "Control loop name",
71 "readOnly": "True"
72 }
73 }
74 },
75 "policies": {
76 "uniqueItems": "true",
77 "id": "policies_array",
78 "type": "array",
79 "title": "Policy Decision Tree",
80 "format": "tabs-top",
81 "items": {
82 "title": "Policy Decision",
83 "type": "object",
84 "id": "policy_item",
85 "headerTemplate": "{{self.id}} - {{self.recipe}}",
86 "format": "categories",
87 "basicCategoryTitle": "recipe",
88 "required": [
89 "id",
sebdetf9e2cee2019-08-09 18:36:09 +020090 "retry",
91 "timeout",
92 "actor",
93 "success",
94 "failure",
95 "failure_timeout",
96 "failure_retries",
97 "failure_exception",
98 "failure_guard",
99 "target"
100 ],
101 "properties": {
102 "id": {
103 "default": "Policy 1",
104 "title": "Policy ID",
105 "type": "string"
106 },
sebdetf9e2cee2019-08-09 18:36:09 +0200107 "retry": {
108 "default": "0",
109 "title": "Number of Retry",
110 "type": "string",
111 "format": "number"
112 },
113 "timeout": {
114 "default": "0",
115 "title": "Timeout",
116 "type": "string",
117 "format": "number"
118 },
119 "actor": {
Vidyashree-Huawei3121b5b2020-03-04 19:22:08 +0530120 "type": "object",
sebdetf9e2cee2019-08-09 18:36:09 +0200121 "title": "Actor",
Vidyashree-Huawei3121b5b2020-03-04 19:22:08 +0530122 "anyOf": [
123 {
124 "title": "APPC",
125 "properties": {
126 "actor": {
127 "title": "actor",
128 "type": "string",
129 "default": "APPC",
130 "options": {
131 "hidden": true
132 }
133 },
134 "type": {
135 "title": "recipe",
136 "type": "string",
137 "default": "",
138 "enum": [
139 "Restart",
140 "Rebuild",
141 "Migrate",
142 "Health-Check",
143 "ModifyConfig"
144 ]
145 },
146 "payload": {
147 "title": "Payload (YAML)",
148 "type": "string",
149 "format": "textarea"
150 }
151 }
152 },
153 {
154 "title": "SO",
155 "properties": {
156 "actor": {
157 "title": "actor",
158 "type": "string",
159 "default": "SO",
160 "options": {
161 "hidden": true
162 }
163 },
164 "type": {
165 "title": "recipe",
166 "type": "string",
167 "default": "",
168 "enum": [
169 "VF Module Create",
170 "VF Module Delete"
171 ]
172 },
173 "payload": {
174 "title": "Payload (YAML)",
175 "type": "string",
176 "format": "textarea"
177 }
178 }
179 },
180 {
181 "title": "SDNC",
182 "properties": {
183 "actor": {
184 "title": "actor",
185 "type": "string",
186 "default": "SDNC",
187 "options": {
188 "hidden": true
189 }
190 },
191 "type": {
192 "title": "recipe",
193 "type": "string",
194 "default": "",
195 "enum": [
196 "Reroute",
197 "BandwidthOnDemand"
198 ]
199 },
200 "payload": {
201 "title": "Payload (YAML)",
202 "type": "string",
203 "format": "textarea"
204 }
205 }
206 },
207 {
208 "title": "VFC",
209 "properties": {
210 "actor": {
211 "title": "actor",
212 "type": "string",
213 "default": "VFC",
214 "options": {
215 "hidden": true
216 }
217 },
218 "type": {
219 "title": "recipe",
220 "type": "string",
221 "required": [
222 "payload"
223 ],
224 "default": "",
225 "enum": [
226 "ModifyConfig"
227 ]
228 },
229 "payload": {
230 "title": "Payload (YAML)",
231 "type": "string",
232 "format": "textarea"
233 }
234 }
235 },
236 {
237 "title": "CDS",
238 "properties": {
239 "actor": {
240 "title": "actor",
241 "type": "string",
242 "default": "CDS",
243 "options": {
244 "hidden": true
245 }
246 },
247 "type": {
248 "title": "recipe",
249 "type": "object",
250 "required": [
251 "payload"
252 ],
253 "anyOf": [
254 {
255 "title": "user-defined",
256 "properties": {
257 "type": {
258 "title": "Payload (YAML)",
259 "type": "string",
260 "format": "textarea"
261 }
262 }
263 },
264 {
265 "title": "resource-assignment",
266 "properties": {
267 "type": {
268 "title": "Payload (YAML)",
269 "type": "string",
270 "default": "'artifact_name : \"baseconfiguration\"\nartifact_version : \"1.0.0\"\nmode : async\ndata : '\\'{\"resource-assignment-properties\":{\"request-id\":\"\",\"service-instance-id\":\"\",\"vnf-id\":\"\",\"action-name\":\"\",\"scope-type\":\"\",\"hostname\":\"\",\"vnf_name\":\"\"}}\\''",
271 "format": "textarea"
272 }
273 }
274 },
275 {
276 "title": "activate",
277 "properties": {
278 "type": {
279 "title": "Payload (YAML)",
280 "type": "string",
281 "default": "'artifact_name : \"baseconfiguration\"\nartifact_version : \"1.0.0\"\nmode : async\ndata : '\\'{\"resource-assignment-properties\":{\"request-id\":\"\",\"service-instance-id\":\"\",\"vnf-id\":\"\",\"action-name\":\"\",\"scope-type\":\"\",\"hostname\":\"\",\"vnf_name\":\"\"}}\\''",
282 "format": "textarea"
283 }
284 }
285 },
286 {
287 "title": "activate-restconf",
288 "properties": {
289 "type": {
290 "title": "Payload (YAML)",
291 "type": "string",
292 "default": "'artifact_name : \"baseconfiguration\"\nartifact_version : \"1.0.0\"\nmode : async\ndata : '\\'{\"resource-assignment-properties\":{\"request-id\":\"\",\"service-instance-id\":\"\",\"vnf-id\":\"\",\"action-name\":\"\",\"scope-type\":\"\",\"hostname\":\"\",\"vnf_name\":\"\"}}\\''",
293 "format": "textarea"
294 }
295 }
296 },
297 {
298 "title": "activate-cli",
299 "properties": {
300 "type": {
301 "title": "Payload (YAML)",
302 "type": "string",
303 "default": "'artifact_name : \"baseconfiguration\"\nartifact_version : \"1.0.0\"\nmode : async\ndata : '\\'{\"resource-assignment-properties\":{\"request-id\":\"\",\"service-instance-id\":\"\",\"vnf-id\":\"\",\"action-name\":\"\",\"scope-type\":\"\",\"hostname\":\"\",\"vnf_name\":\"\"}}\\''",
304 "format": "textarea"
305 }
306 }
307 },
308 {
309 "title": "assign-activate",
310 "properties": {
311 "type": {
312 "title": "Payload (YAML)",
313 "type": "string",
314 "default": "'artifact_name : \"baseconfiguration\"\nartifact_version : \"1.0.0\"\nmode : async\ndata : '\\'{\"resource-assignment-properties\":{\"request-id\":\"\",\"service-instance-id\":\"\",\"vnf-id\":\"\",\"action-name\":\"\",\"scope-type\":\"\",\"hostname\":\"\",\"vnf_name\":\"\"}}\\''",
315 "format": "textarea"
316 }
317 }
318 },
319 {
320 "title": "imperative-test-wf",
321 "properties": {
322 "type": {
323 "title": "Payload (YAML)",
324 "type": "string",
325 "default": "'artifact_name : \"baseconfiguration\"\nartifact_version : \"1.0.0\"\nmode : async\ndata : '\\'{\"resource-assignment-properties\":{\"request-id\":\"\",\"service-instance-id\":\"\",\"vnf-id\":\"\",\"action-name\":\"\",\"scope-type\":\"\",\"hostname\":\"\",\"vnf_name\":\"\"}}\\''",
326 "format": "textarea"
327 }
328 }
329 }
330 ]
331 }
332 }
333 }
sebdetf9e2cee2019-08-09 18:36:09 +0200334 ]
335 },
sebdetf9e2cee2019-08-09 18:36:09 +0200336 "success": {
337 "default": "final_success",
338 "title": "When Success",
339 "type": "string"
340 },
341 "failure": {
342 "default": "final_failure",
343 "title": "When Failure",
344 "type": "string"
345 },
346 "failure_timeout": {
347 "default": "final_failure_timeout",
348 "title": "When Failure Timeout",
349 "type": "string"
350 },
351 "failure_retries": {
352 "default": "final_failure_retries",
353 "title": "When Failure Retries",
354 "type": "string"
355 },
356 "failure_exception": {
357 "default": "final_failure_exception",
358 "title": "When Failure Exception",
359 "type": "string"
360 },
361 "failure_guard": {
362 "default": "final_failure_guard",
363 "title": "When Failure Guard",
364 "type": "string"
365 },
366 "target": {
367 "type": "object",
368 "required": [
369 "type",
370 "resourceID"
371 ],
372 "anyOf": [
373 {
374 "title": "User Defined",
375 "additionalProperties": "True",
376 "properties": {
377 "type": {
378 "title": "Target type",
379 "type": "string",
380 "default": "",
381 "enum": [
382 "VNF",
383 "VFMODULE",
384 "VM"
385 ]
386 },
387 "resourceID": {
388 "title": "Target type",
389 "type": "string",
390 "default": ""
391 }
392 }
393 },
394 {
395 "title": "VNF-vLoadBalancerMS 0",
396 "properties": {
397 "type": {
398 "title": "Type",
399 "type": "string",
400 "default": "VNF",
401 "readOnly": "True"
402 },
403 "resourceID": {
404 "title": "Resource ID",
405 "type": "string",
406 "default": "vLoadBalancerMS",
407 "readOnly": "True"
408 }
409 }
410 },
411 {
412 "title": "VFMODULE-Vloadbalancerms..vpkg..module-1",
413 "properties": {
414 "type": {
415 "title": "Type",
416 "type": "string",
417 "default": "VFMODULE",
418 "readOnly": "True"
419 },
420 "resourceID": {
421 "title": "Resource ID",
422 "type": "string",
423 "default": "Vloadbalancerms..vpkg..module-1",
424 "readOnly": "True"
425 },
426 "modelInvariantId": {
427 "title": "Model Invariant Id (ModelInvariantUUID)",
428 "type": "string",
429 "default": "ca052563-eb92-4b5b-ad41-9111768ce043",
430 "readOnly": "True"
431 },
432 "modelVersionId": {
433 "title": "Model Version Id (ModelUUID)",
434 "type": "string",
435 "default": "1e725ccc-b823-4f67-82b9-4f4367070dbc",
436 "readOnly": "True"
437 },
438 "modelName": {
439 "title": "Model Name",
440 "type": "string",
441 "default": "Vloadbalancerms..vpkg..module-1",
442 "readOnly": "True"
443 },
444 "modelVersion": {
445 "title": "Model Version",
446 "type": "string",
447 "default": "1",
448 "readOnly": "True"
449 },
450 "modelCustomizationId": {
451 "title": "Customization ID",
452 "type": "string",
453 "default": "1bffdc31-a37d-4dee-b65c-dde623a76e52",
454 "readOnly": "True"
455 }
456 }
457 },
458 {
459 "title": "VFMODULE-Vloadbalancerms..vdns..module-3",
460 "properties": {
461 "type": {
462 "title": "Type",
463 "type": "string",
464 "default": "VFMODULE",
465 "readOnly": "True"
466 },
467 "resourceID": {
468 "title": "Resource ID",
469 "type": "string",
470 "default": "Vloadbalancerms..vdns..module-3",
471 "readOnly": "True"
472 },
473 "modelInvariantId": {
474 "title": "Model Invariant Id (ModelInvariantUUID)",
475 "type": "string",
476 "default": "4c10ba9b-f88f-415e-9de3-5d33336047fa",
477 "readOnly": "True"
478 },
479 "modelVersionId": {
480 "title": "Model Version Id (ModelUUID)",
481 "type": "string",
482 "default": "4fa73b49-8a6c-493e-816b-eb401567b720",
483 "readOnly": "True"
484 },
485 "modelName": {
486 "title": "Model Name",
487 "type": "string",
488 "default": "Vloadbalancerms..vdns..module-3",
489 "readOnly": "True"
490 },
491 "modelVersion": {
492 "title": "Model Version",
493 "type": "string",
494 "default": "1",
495 "readOnly": "True"
496 },
497 "modelCustomizationId": {
498 "title": "Customization ID",
499 "type": "string",
500 "default": "bafcdab0-801d-4d81-9ead-f464640a38b1",
501 "readOnly": "True"
502 }
503 }
504 },
505 {
506 "title": "VFMODULE-Vloadbalancerms..base_template..module-0",
507 "properties": {
508 "type": {
509 "title": "Type",
510 "type": "string",
511 "default": "VFMODULE",
512 "readOnly": "True"
513 },
514 "resourceID": {
515 "title": "Resource ID",
516 "type": "string",
517 "default": "Vloadbalancerms..base_template..module-0",
518 "readOnly": "True"
519 },
520 "modelInvariantId": {
521 "title": "Model Invariant Id (ModelInvariantUUID)",
522 "type": "string",
523 "default": "921f7c96-ebdd-42e6-81b9-1cfc0c9796f3",
524 "readOnly": "True"
525 },
526 "modelVersionId": {
527 "title": "Model Version Id (ModelUUID)",
528 "type": "string",
529 "default": "63734409-f745-4e4d-a38b-131638a0edce",
530 "readOnly": "True"
531 },
532 "modelName": {
533 "title": "Model Name",
534 "type": "string",
535 "default": "Vloadbalancerms..base_template..module-0",
536 "readOnly": "True"
537 },
538 "modelVersion": {
539 "title": "Model Version",
540 "type": "string",
541 "default": "1",
542 "readOnly": "True"
543 },
544 "modelCustomizationId": {
545 "title": "Customization ID",
546 "type": "string",
547 "default": "86baddea-c730-4fb8-9410-cd2e17fd7f27",
548 "readOnly": "True"
549 }
550 }
551 },
552 {
553 "title": "VFMODULE-Vloadbalancerms..vlb..module-2",
554 "properties": {
555 "type": {
556 "title": "Type",
557 "type": "string",
558 "default": "VFMODULE",
559 "readOnly": "True"
560 },
561 "resourceID": {
562 "title": "Resource ID",
563 "type": "string",
564 "default": "Vloadbalancerms..vlb..module-2",
565 "readOnly": "True"
566 },
567 "modelInvariantId": {
568 "title": "Model Invariant Id (ModelInvariantUUID)",
569 "type": "string",
570 "default": "a772a1f4-0064-412c-833d-4749b15828dd",
571 "readOnly": "True"
572 },
573 "modelVersionId": {
574 "title": "Model Version Id (ModelUUID)",
575 "type": "string",
576 "default": "0f5c3f6a-650a-4303-abb6-fff3e573a07a",
577 "readOnly": "True"
578 },
579 "modelName": {
580 "title": "Model Name",
581 "type": "string",
582 "default": "Vloadbalancerms..vlb..module-2",
583 "readOnly": "True"
584 },
585 "modelVersion": {
586 "title": "Model Version",
587 "type": "string",
588 "default": "1",
589 "readOnly": "True"
590 },
591 "modelCustomizationId": {
592 "title": "Customization ID",
593 "type": "string",
594 "default": "96a78aad-4ffb-4ef0-9c4f-deb03bf1d806",
595 "readOnly": "True"
596 }
597 }
598 }
599 ]
600 }
601 }
602 }
603 }
604 }
605 },
606 "guard_policies": {
607 "type": "array",
608 "format": "tabs-top",
609 "title": "Associated Guard policies",
610 "items": {
611 "headerTemplate": "{{self.policy-id}} - {{self.content.recipe}}",
612 "anyOf": [
613 {
614 "title": "Guard MinMax",
615 "type": "object",
616 "properties": {
617 "policy-id": {
618 "type": "string",
619 "default": "guard.minmax.new",
620 "pattern": "^(guard.minmax\\..*)$"
621 },
622 "content": {
623 "properties": {
624 "actor": {
625 "type": "string",
626 "enum": [
627 "APPC",
628 "SO",
629 "VFC",
630 "SDNC",
631 "SDNR"
632 ]
633 },
634 "recipe": {
635 "type": "string",
636 "enum": [
637 "Restart",
638 "Rebuild",
639 "Migrate",
640 "Health-Check",
641 "ModifyConfig",
642 "VF Module Create",
643 "VF Module Delete",
644 "Reroute"
645 ]
646 },
647 "targets": {
648 "type": "string",
649 "default": ".*"
650 },
651 "clname": {
652 "type": "string",
653 "template": "{{loopName}}",
654 "watch": {
655 "loopName": "operational_policy_item.configurationsJson.operational_policy.controlLoop.controlLoopName"
656 }
657 },
658 "guardActiveStart": {
659 "type": "string",
660 "default": "00:00:00Z"
661 },
662 "guardActiveEnd": {
663 "type": "string",
664 "default": "10:00:00Z"
665 },
666 "min": {
667 "type": "string",
668 "default": "0"
669 },
670 "max": {
671 "type": "string",
672 "default": "1"
673 }
674 }
675 }
676 }
677 },
678 {
679 "title": "Guard Frequency",
680 "type": "object",
681 "properties": {
682 "policy-id": {
683 "type": "string",
684 "default": "guard.frequency.new",
685 "pattern": "^(guard.frequency\\..*)$"
686 },
687 "content": {
688 "properties": {
689 "actor": {
690 "type": "string",
691 "enum": [
692 "APPC",
693 "SO",
694 "VFC",
695 "SDNC",
696 "SDNR"
697 ]
698 },
699 "recipe": {
700 "type": "string",
701 "enum": [
702 "Restart",
703 "Rebuild",
704 "Migrate",
705 "Health-Check",
706 "ModifyConfig",
707 "VF Module Create",
708 "VF Module Delete",
709 "Reroute"
710 ]
711 },
712 "targets": {
713 "type": "string",
714 "default": ".*"
715 },
716 "clname": {
717 "type": "string",
718 "template": "{{loopName}}",
719 "watch": {
720 "loopName": "operational_policy_item.configurationsJson.operational_policy.controlLoop.controlLoopName"
721 }
722 },
723 "guardActiveStart": {
724 "type": "string",
725 "default": "00:00:00Z"
726 },
727 "guardActiveEnd": {
728 "type": "string",
729 "default": "10:00:00Z"
730 },
731 "limit": {
732 "type": "string"
733 },
734 "timeWindow": {
735 "type": "string"
736 },
737 "timeUnits": {
738 "type": "string",
739 "enum": [
740 "minute",
741 "hour",
742 "day",
743 "week",
744 "month",
745 "year"
746 ]
747 }
748 }
749 }
750 }
751 }
752 ]
753 }
754 }
755 }
756 }
757 }
758 }
759 }
760}