Merge "Fix legacy policy submit issues"
[clamp.git] / src / test / resources / tosca / operational-policy-json-schema.json
1 {
2   "type": "object",
3   "title": "Configuration",
4   "required": [
5     "operational_policy",
6     "guard_policies"
7   ],
8   "properties": {
9     "operational_policy": {
10       "type": "object",
11       "title": "Related Parameters",
12       "required": [
13         "controlLoop",
14         "policies"
15       ],
16       "properties": {
17         "controlLoop": {
18           "type": "object",
19           "title": "Control Loop details",
20           "required": [
21             "timeout",
22             "abatement",
23             "trigger_policy",
24             "controlLoopName"
25           ],
26           "properties": {
27             "timeout": {
28               "type": "string",
29               "title": "Overall Time Limit",
30               "default": "0",
31               "format": "number"
32             },
33             "abatement": {
34               "type": "string",
35               "title": "Abatement",
36               "enum": [
37                 "True",
38                 "False"
39               ]
40             },
41             "trigger_policy": {
42               "type": "string",
43               "title": "Policy Decision Entry"
44             },
45             "controlLoopName": {
46               "type": "string",
47               "title": "Control loop name",
48               "readOnly": "True"
49             }
50           }
51         },
52         "policies": {
53           "uniqueItems": "true",
54           "id": "policies_array",
55           "type": "array",
56           "title": "Policy Decision Tree",
57           "format": "tabs-top",
58           "items": {
59             "title": "Policy Decision",
60             "type": "object",
61             "id": "policy_item",
62             "headerTemplate": "{{self.id}} - {{self.recipe}}",
63             "format": "categories",
64             "basicCategoryTitle": "recipe",
65             "required": [
66               "id",
67               "retry",
68               "timeout",
69               "actor",
70               "success",
71               "failure",
72               "failure_timeout",
73               "failure_retries",
74               "failure_exception",
75               "failure_guard",
76               "target"
77             ],
78             "properties": {
79               "id": {
80                 "default": "Policy 1",
81                 "title": "Policy ID",
82                 "type": "string"
83               },
84               "retry": {
85                 "default": "0",
86                 "title": "Number of Retry",
87                 "type": "string",
88                 "format": "number"
89               },
90               "timeout": {
91                 "default": "0",
92                 "title": "Timeout",
93                 "type": "string",
94                 "format": "number"
95               },
96               "actor": {
97                 "type": "object",
98                 "title": "Actor",
99                 "anyOf": [
100                   {
101                     "title": "APPC",
102                     "type": "object",
103                     "properties": {
104                       "actor": {
105                         "title": "actor",
106                         "type": "string",
107                         "default": "APPC",
108                         "options": {
109                           "hidden": true
110                         }
111                       },
112                       "recipe": {
113                         "title": "recipe",
114                         "type": "string",
115                         "default": "",
116                         "enum": [
117                           "Restart",
118                           "Rebuild",
119                           "Migrate",
120                           "Health-Check",
121                           "ModifyConfig"
122                         ]
123                       },
124                       "payload": {
125                         "title": "Payload (YAML)",
126                         "type": "string",
127                         "format": "textarea"
128                       }
129                     }
130                   },
131                   {
132                     "title": "SO",
133                     "type": "object",
134                     "properties": {
135                       "actor": {
136                         "title": "actor",
137                         "type": "string",
138                         "default": "SO",
139                         "options": {
140                           "hidden": true
141                         }
142                       },
143                       "recipe": {
144                         "title": "recipe",
145                         "type": "string",
146                         "default": "",
147                         "enum": [
148                           "VF Module Create",
149                           "VF Module Delete"
150                         ]
151                       },
152                       "payload": {
153                         "title": "Payload (YAML)",
154                         "type": "string",
155                         "format": "textarea"
156                       }
157                     }
158                   },
159                   {
160                     "title": "SDNC",
161                     "type": "object",
162                     "properties": {
163                       "actor": {
164                         "title": "actor",
165                         "type": "string",
166                         "default": "SDNC",
167                         "options": {
168                           "hidden": true
169                         }
170                       },
171                       "recipe": {
172                         "title": "recipe",
173                         "type": "string",
174                         "default": "",
175                         "enum": [
176                           "Reroute",
177                           "BandwidthOnDemand"
178                         ]
179                       },
180                       "payload": {
181                         "title": "Payload (YAML)",
182                         "type": "string",
183                         "format": "textarea"
184                       }
185                     }
186                   },
187                   {
188                     "title": "VFC",
189                     "type": "object",
190                     "properties": {
191                       "actor": {
192                         "title": "actor",
193                         "type": "string",
194                         "default": "VFC",
195                         "options": {
196                           "hidden": true
197                         }
198                       },
199                       "recipe": {
200                         "title": "recipe",
201                         "type": "string",
202                         "default": "",
203                         "enum": [
204                           "ModifyConfig"
205                         ]
206                       },
207                       "payload": {
208                         "title": "Payload (YAML)",
209                         "type": "string",
210                         "format": "textarea"
211                       }
212                     }
213                   },
214                   {
215                     "title": "CDS",
216                     "type": "object",
217                     "properties": {
218                       "actor": {
219                         "title": "actor",
220                         "type": "string",
221                         "default": "CDS",
222                         "options": {
223                           "hidden": true
224                         }
225                       },
226                       "recipe": {
227                         "title": "recipe",
228                         "type": "object",
229                         "anyOf": [
230                           {
231                             "title": "user-defined",
232                             "type": "object",
233                             "properties": {
234                               "recipe": {
235                                 "title": "recipe",
236                                 "type": "string",
237                                 "default": "user-defined",
238                                 "format": "textarea"
239                               },
240                               "payload": {
241                                 "title": "Payload (YAML)",
242                                 "type": "string",
243                                 "default": "",
244                                 "format": "textarea"
245                               }
246                             }
247                           },
248                           {
249                             "title": "resource-assignment",
250                             "type": "object",
251                             "properties": {
252                               "recipe": {
253                                 "title": "recipe",
254                                 "type": "string",
255                                 "default": "resource-assignment",
256                                 "options": {
257                                   "hidden": true
258                                 }
259                               },
260                               "payload": {
261                                 "title": "Payload (YAML)",
262                                 "type": "object",
263                                 "properties": {
264                                   "artifact_name": {
265                                     "title": "artifact name",
266                                     "type": "string",
267                                     "default": "baseconfiguration",
268                                     "readOnly": "True"
269                                   },
270                                   "artifact_version": {
271                                     "title": "artifact version",
272                                     "type": "string",
273                                     "default": "1.0.0",
274                                     "readOnly": "True"
275                                   },
276                                   "mode": {
277                                     "title": "mode",
278                                     "type": "string",
279                                     "default": "async",
280                                     "format": "textarea"
281                                   },
282                                   "data": {
283                                     "title": "data",
284                                     "properties": {
285                                       "resource-assignment-properties": {
286                                         "title": "resource-assignment-properties",
287                                         "type": "object",
288                                         "properties": {
289                                           "request-id": {
290                                             "title": "request-id",
291                                             "type": "string",
292                                             "format": "textarea"
293                                           },
294                                           "service-instance-id": {
295                                             "title": "service-instance-id",
296                                             "type": "string",
297                                             "format": "textarea"
298                                           },
299                                           "vnf-id": {
300                                             "title": "vnf-id",
301                                             "type": "string",
302                                             "format": "textarea"
303                                           },
304                                           "action-name": {
305                                             "title": "action-name",
306                                             "type": "string",
307                                             "format": "textarea"
308                                           },
309                                           "scope-type": {
310                                             "title": "scope-type",
311                                             "type": "string",
312                                             "format": "textarea"
313                                           },
314                                           "hostname": {
315                                             "title": "hostname",
316                                             "type": "string",
317                                             "format": "textarea"
318                                           },
319                                           "vnf_name": {
320                                             "title": "vnf_name",
321                                             "type": "string",
322                                             "format": "textarea"
323                                           }
324                                         }
325                                       }
326                                     }
327                                   }
328                                 }
329                               }
330                             }
331                           },
332                           {
333                             "title": "activate",
334                             "type": "object",
335                             "properties": {
336                               "recipe": {
337                                 "title": "recipe",
338                                 "type": "string",
339                                 "default": "activate",
340                                 "options": {
341                                   "hidden": true
342                                 }
343                               },
344                               "payload": {
345                                 "title": "Payload (YAML)",
346                                 "type": "object",
347                                 "properties": {
348                                   "artifact_name": {
349                                     "title": "artifact name",
350                                     "type": "string",
351                                     "default": "baseconfiguration",
352                                     "readOnly": "True"
353                                   },
354                                   "artifact_version": {
355                                     "title": "artifact version",
356                                     "type": "string",
357                                     "default": "1.0.0",
358                                     "readOnly": "True"
359                                   },
360                                   "mode": {
361                                     "title": "mode",
362                                     "type": "string",
363                                     "default": "async",
364                                     "format": "textarea"
365                                   },
366                                   "data": {
367                                     "title": "data",
368                                     "properties": {
369                                       "resource-assignment-properties": {
370                                         "title": "resource-assignment-properties",
371                                         "type": "object",
372                                         "properties": {
373                                           "request-id": {
374                                             "title": "request-id",
375                                             "type": "string",
376                                             "format": "textarea"
377                                           },
378                                           "service-instance-id": {
379                                             "title": "service-instance-id",
380                                             "type": "string",
381                                             "format": "textarea"
382                                           },
383                                           "vnf-id": {
384                                             "title": "vnf-id",
385                                             "type": "string",
386                                             "format": "textarea"
387                                           },
388                                           "action-name": {
389                                             "title": "action-name",
390                                             "type": "string",
391                                             "format": "textarea"
392                                           },
393                                           "scope-type": {
394                                             "title": "scope-type",
395                                             "type": "string",
396                                             "format": "textarea"
397                                           },
398                                           "hostname": {
399                                             "title": "hostname",
400                                             "type": "string",
401                                             "format": "textarea"
402                                           },
403                                           "vnf_name": {
404                                             "title": "vnf_name",
405                                             "type": "string",
406                                             "format": "textarea"
407                                           }
408                                         }
409                                       }
410                                     }
411                                   }
412                                 }
413                               }
414                             }
415                           },
416                           {
417                             "title": "activate-restconf",
418                             "type": "object",
419                             "properties": {
420                               "recipe": {
421                                 "title": "recipe",
422                                 "type": "string",
423                                 "default": "activate-restconf",
424                                 "options": {
425                                   "hidden": true
426                                 }
427                               },
428                               "payload": {
429                                 "title": "Payload (YAML)",
430                                 "type": "object",
431                                 "properties": {
432                                   "artifact_name": {
433                                     "title": "artifact name",
434                                     "type": "string",
435                                     "default": "baseconfiguration",
436                                     "readOnly": "True"
437                                   },
438                                   "artifact_version": {
439                                     "title": "artifact version",
440                                     "type": "string",
441                                     "default": "1.0.0",
442                                     "readOnly": "True"
443                                   },
444                                   "mode": {
445                                     "title": "mode",
446                                     "type": "string",
447                                     "default": "async",
448                                     "format": "textarea"
449                                   },
450                                   "data": {
451                                     "title": "data",
452                                     "properties": {
453                                       "resource-assignment-properties": {
454                                         "title": "resource-assignment-properties",
455                                         "type": "object",
456                                         "properties": {
457                                           "request-id": {
458                                             "title": "request-id",
459                                             "type": "string",
460                                             "format": "textarea"
461                                           },
462                                           "service-instance-id": {
463                                             "title": "service-instance-id",
464                                             "type": "string",
465                                             "format": "textarea"
466                                           },
467                                           "vnf-id": {
468                                             "title": "vnf-id",
469                                             "type": "string",
470                                             "format": "textarea"
471                                           },
472                                           "action-name": {
473                                             "title": "action-name",
474                                             "type": "string",
475                                             "format": "textarea"
476                                           },
477                                           "scope-type": {
478                                             "title": "scope-type",
479                                             "type": "string",
480                                             "format": "textarea"
481                                           },
482                                           "hostname": {
483                                             "title": "hostname",
484                                             "type": "string",
485                                             "format": "textarea"
486                                           },
487                                           "vnf_name": {
488                                             "title": "vnf_name",
489                                             "type": "string",
490                                             "format": "textarea"
491                                           }
492                                         }
493                                       }
494                                     }
495                                   }
496                                 }
497                               }
498                             }
499                           },
500                           {
501                             "title": "activate-cli",
502                             "type": "object",
503                             "properties": {
504                               "recipe": {
505                                 "title": "recipe",
506                                 "type": "string",
507                                 "default": "activate-cli",
508                                 "options": {
509                                   "hidden": true
510                                 }
511                               },
512                               "payload": {
513                                 "title": "Payload (YAML)",
514                                 "type": "object",
515                                 "properties": {
516                                   "artifact_name": {
517                                     "title": "artifact name",
518                                     "type": "string",
519                                     "default": "baseconfiguration",
520                                     "readOnly": "True"
521                                   },
522                                   "artifact_version": {
523                                     "title": "artifact version",
524                                     "type": "string",
525                                     "default": "1.0.0",
526                                     "readOnly": "True"
527                                   },
528                                   "mode": {
529                                     "title": "mode",
530                                     "type": "string",
531                                     "default": "async",
532                                     "format": "textarea"
533                                   },
534                                   "data": {
535                                     "title": "data",
536                                     "properties": {
537                                       "resource-assignment-properties": {
538                                         "title": "resource-assignment-properties",
539                                         "type": "object",
540                                         "properties": {
541                                           "request-id": {
542                                             "title": "request-id",
543                                             "type": "string",
544                                             "format": "textarea"
545                                           },
546                                           "service-instance-id": {
547                                             "title": "service-instance-id",
548                                             "type": "string",
549                                             "format": "textarea"
550                                           },
551                                           "vnf-id": {
552                                             "title": "vnf-id",
553                                             "type": "string",
554                                             "format": "textarea"
555                                           },
556                                           "action-name": {
557                                             "title": "action-name",
558                                             "type": "string",
559                                             "format": "textarea"
560                                           },
561                                           "scope-type": {
562                                             "title": "scope-type",
563                                             "type": "string",
564                                             "format": "textarea"
565                                           },
566                                           "hostname": {
567                                             "title": "hostname",
568                                             "type": "string",
569                                             "format": "textarea"
570                                           },
571                                           "vnf_name": {
572                                             "title": "vnf_name",
573                                             "type": "string",
574                                             "format": "textarea"
575                                           }
576                                         }
577                                       }
578                                     }
579                                   }
580                                 }
581                               }
582                             }
583                           },
584                           {
585                             "title": "assign-activate",
586                             "type": "object",
587                             "properties": {
588                               "recipe": {
589                                 "title": "recipe",
590                                 "type": "string",
591                                 "default": "assign-activate",
592                                 "options": {
593                                   "hidden": true
594                                 }
595                               },
596                               "payload": {
597                                 "title": "Payload (YAML)",
598                                 "type": "object",
599                                 "properties": {
600                                   "artifact_name": {
601                                     "title": "artifact name",
602                                     "type": "string",
603                                     "default": "baseconfiguration",
604                                     "readOnly": "True"
605                                   },
606                                   "artifact_version": {
607                                     "title": "artifact version",
608                                     "type": "string",
609                                     "default": "1.0.0",
610                                     "readOnly": "True"
611                                   },
612                                   "mode": {
613                                     "title": "mode",
614                                     "type": "string",
615                                     "default": "async",
616                                     "format": "textarea"
617                                   },
618                                   "data": {
619                                     "title": "data",
620                                     "properties": {
621                                       "resource-assignment-properties": {
622                                         "title": "resource-assignment-properties",
623                                         "type": "object",
624                                         "properties": {
625                                           "request-id": {
626                                             "title": "request-id",
627                                             "type": "string",
628                                             "format": "textarea"
629                                           },
630                                           "service-instance-id": {
631                                             "title": "service-instance-id",
632                                             "type": "string",
633                                             "format": "textarea"
634                                           },
635                                           "vnf-id": {
636                                             "title": "vnf-id",
637                                             "type": "string",
638                                             "format": "textarea"
639                                           },
640                                           "action-name": {
641                                             "title": "action-name",
642                                             "type": "string",
643                                             "format": "textarea"
644                                           },
645                                           "scope-type": {
646                                             "title": "scope-type",
647                                             "type": "string",
648                                             "format": "textarea"
649                                           },
650                                           "hostname": {
651                                             "title": "hostname",
652                                             "type": "string",
653                                             "format": "textarea"
654                                           },
655                                           "vnf_name": {
656                                             "title": "vnf_name",
657                                             "type": "string",
658                                             "format": "textarea"
659                                           }
660                                         }
661                                       }
662                                     }
663                                   }
664                                 }
665                               }
666                             }
667                           },
668                           {
669                             "title": "imperative-test-wf",
670                             "type": "object",
671                             "properties": {
672                               "recipe": {
673                                 "title": "recipe",
674                                 "type": "string",
675                                 "default": "imperative-test-wf",
676                                 "options": {
677                                   "hidden": true
678                                 }
679                               },
680                               "payload": {
681                                 "title": "Payload (YAML)",
682                                 "type": "object",
683                                 "properties": {
684                                   "artifact_name": {
685                                     "title": "artifact name",
686                                     "type": "string",
687                                     "default": "baseconfiguration",
688                                     "readOnly": "True"
689                                   },
690                                   "artifact_version": {
691                                     "title": "artifact version",
692                                     "type": "string",
693                                     "default": "1.0.0",
694                                     "readOnly": "True"
695                                   },
696                                   "mode": {
697                                     "title": "mode",
698                                     "type": "string",
699                                     "default": "async",
700                                     "format": "textarea"
701                                   },
702                                   "data": {
703                                     "title": "data",
704                                     "properties": {
705                                       "resource-assignment-properties": {
706                                         "title": "resource-assignment-properties",
707                                         "type": "object",
708                                         "properties": {
709                                           "request-id": {
710                                             "title": "request-id",
711                                             "type": "string",
712                                             "format": "textarea"
713                                           },
714                                           "service-instance-id": {
715                                             "title": "service-instance-id",
716                                             "type": "string",
717                                             "format": "textarea"
718                                           },
719                                           "vnf-id": {
720                                             "title": "vnf-id",
721                                             "type": "string",
722                                             "format": "textarea"
723                                           },
724                                           "action-name": {
725                                             "title": "action-name",
726                                             "type": "string",
727                                             "format": "textarea"
728                                           },
729                                           "scope-type": {
730                                             "title": "scope-type",
731                                             "type": "string",
732                                             "format": "textarea"
733                                           },
734                                           "hostname": {
735                                             "title": "hostname",
736                                             "type": "string",
737                                             "format": "textarea"
738                                           },
739                                           "vnf_name": {
740                                             "title": "vnf_name",
741                                             "type": "string",
742                                             "format": "textarea"
743                                           }
744                                         }
745                                       }
746                                     }
747                                   }
748                                 }
749                               }
750                             }
751                           }
752                         ]
753                       }
754                     }
755                   }
756                 ]
757               },
758               "success": {
759                 "default": "final_success",
760                 "title": "When Success",
761                 "type": "string"
762               },
763               "failure": {
764                 "default": "final_failure",
765                 "title": "When Failure",
766                 "type": "string"
767               },
768               "failure_timeout": {
769                 "default": "final_failure_timeout",
770                 "title": "When Failure Timeout",
771                 "type": "string"
772               },
773               "failure_retries": {
774                 "default": "final_failure_retries",
775                 "title": "When Failure Retries",
776                 "type": "string"
777               },
778               "failure_exception": {
779                 "default": "final_failure_exception",
780                 "title": "When Failure Exception",
781                 "type": "string"
782               },
783               "failure_guard": {
784                 "default": "final_failure_guard",
785                 "title": "When Failure Guard",
786                 "type": "string"
787               },
788               "target": {
789                 "type": "object",
790                 "required": [
791                   "type",
792                   "resourceID"
793                 ],
794                 "anyOf": [
795                   {
796                     "title": "User Defined",
797                     "additionalProperties": "True",
798                     "properties": {
799                       "type": {
800                         "title": "Target type",
801                         "type": "string",
802                         "default": "",
803                         "enum": [
804                           "VNF",
805                           "VFMODULE",
806                           "VM"
807                         ]
808                       },
809                       "resourceID": {
810                         "title": "Target type",
811                         "type": "string",
812                         "default": ""
813                       }
814                     }
815                   },
816                   {
817                     "title": "VNF-vLoadBalancerMS 0",
818                     "properties": {
819                       "type": {
820                         "title": "Type",
821                         "type": "string",
822                         "default": "VNF",
823                         "readOnly": "True"
824                       },
825                       "resourceID": {
826                         "title": "Resource ID",
827                         "type": "string",
828                         "default": "vLoadBalancerMS",
829                         "readOnly": "True"
830                       }
831                     }
832                   },
833                   {
834                     "title": "VFMODULE-Vloadbalancerms..vpkg..module-1",
835                     "properties": {
836                       "type": {
837                         "title": "Type",
838                         "type": "string",
839                         "default": "VFMODULE",
840                         "readOnly": "True"
841                       },
842                       "resourceID": {
843                         "title": "Resource ID",
844                         "type": "string",
845                         "default": "Vloadbalancerms..vpkg..module-1",
846                         "readOnly": "True"
847                       },
848                       "modelInvariantId": {
849                         "title": "Model Invariant Id (ModelInvariantUUID)",
850                         "type": "string",
851                         "default": "ca052563-eb92-4b5b-ad41-9111768ce043",
852                         "readOnly": "True"
853                       },
854                       "modelVersionId": {
855                         "title": "Model Version Id (ModelUUID)",
856                         "type": "string",
857                         "default": "1e725ccc-b823-4f67-82b9-4f4367070dbc",
858                         "readOnly": "True"
859                       },
860                       "modelName": {
861                         "title": "Model Name",
862                         "type": "string",
863                         "default": "Vloadbalancerms..vpkg..module-1",
864                         "readOnly": "True"
865                       },
866                       "modelVersion": {
867                         "title": "Model Version",
868                         "type": "string",
869                         "default": "1",
870                         "readOnly": "True"
871                       },
872                       "modelCustomizationId": {
873                         "title": "Customization ID",
874                         "type": "string",
875                         "default": "1bffdc31-a37d-4dee-b65c-dde623a76e52",
876                         "readOnly": "True"
877                       }
878                     }
879                   },
880                   {
881                     "title": "VFMODULE-Vloadbalancerms..vdns..module-3",
882                     "properties": {
883                       "type": {
884                         "title": "Type",
885                         "type": "string",
886                         "default": "VFMODULE",
887                         "readOnly": "True"
888                       },
889                       "resourceID": {
890                         "title": "Resource ID",
891                         "type": "string",
892                         "default": "Vloadbalancerms..vdns..module-3",
893                         "readOnly": "True"
894                       },
895                       "modelInvariantId": {
896                         "title": "Model Invariant Id (ModelInvariantUUID)",
897                         "type": "string",
898                         "default": "4c10ba9b-f88f-415e-9de3-5d33336047fa",
899                         "readOnly": "True"
900                       },
901                       "modelVersionId": {
902                         "title": "Model Version Id (ModelUUID)",
903                         "type": "string",
904                         "default": "4fa73b49-8a6c-493e-816b-eb401567b720",
905                         "readOnly": "True"
906                       },
907                       "modelName": {
908                         "title": "Model Name",
909                         "type": "string",
910                         "default": "Vloadbalancerms..vdns..module-3",
911                         "readOnly": "True"
912                       },
913                       "modelVersion": {
914                         "title": "Model Version",
915                         "type": "string",
916                         "default": "1",
917                         "readOnly": "True"
918                       },
919                       "modelCustomizationId": {
920                         "title": "Customization ID",
921                         "type": "string",
922                         "default": "bafcdab0-801d-4d81-9ead-f464640a38b1",
923                         "readOnly": "True"
924                       }
925                     }
926                   },
927                   {
928                     "title": "VFMODULE-Vloadbalancerms..base_template..module-0",
929                     "properties": {
930                       "type": {
931                         "title": "Type",
932                         "type": "string",
933                         "default": "VFMODULE",
934                         "readOnly": "True"
935                       },
936                       "resourceID": {
937                         "title": "Resource ID",
938                         "type": "string",
939                         "default": "Vloadbalancerms..base_template..module-0",
940                         "readOnly": "True"
941                       },
942                       "modelInvariantId": {
943                         "title": "Model Invariant Id (ModelInvariantUUID)",
944                         "type": "string",
945                         "default": "921f7c96-ebdd-42e6-81b9-1cfc0c9796f3",
946                         "readOnly": "True"
947                       },
948                       "modelVersionId": {
949                         "title": "Model Version Id (ModelUUID)",
950                         "type": "string",
951                         "default": "63734409-f745-4e4d-a38b-131638a0edce",
952                         "readOnly": "True"
953                       },
954                       "modelName": {
955                         "title": "Model Name",
956                         "type": "string",
957                         "default": "Vloadbalancerms..base_template..module-0",
958                         "readOnly": "True"
959                       },
960                       "modelVersion": {
961                         "title": "Model Version",
962                         "type": "string",
963                         "default": "1",
964                         "readOnly": "True"
965                       },
966                       "modelCustomizationId": {
967                         "title": "Customization ID",
968                         "type": "string",
969                         "default": "86baddea-c730-4fb8-9410-cd2e17fd7f27",
970                         "readOnly": "True"
971                       }
972                     }
973                   },
974                   {
975                     "title": "VFMODULE-Vloadbalancerms..vlb..module-2",
976                     "properties": {
977                       "type": {
978                         "title": "Type",
979                         "type": "string",
980                         "default": "VFMODULE",
981                         "readOnly": "True"
982                       },
983                       "resourceID": {
984                         "title": "Resource ID",
985                         "type": "string",
986                         "default": "Vloadbalancerms..vlb..module-2",
987                         "readOnly": "True"
988                       },
989                       "modelInvariantId": {
990                         "title": "Model Invariant Id (ModelInvariantUUID)",
991                         "type": "string",
992                         "default": "a772a1f4-0064-412c-833d-4749b15828dd",
993                         "readOnly": "True"
994                       },
995                       "modelVersionId": {
996                         "title": "Model Version Id (ModelUUID)",
997                         "type": "string",
998                         "default": "0f5c3f6a-650a-4303-abb6-fff3e573a07a",
999                         "readOnly": "True"
1000                       },
1001                       "modelName": {
1002                         "title": "Model Name",
1003                         "type": "string",
1004                         "default": "Vloadbalancerms..vlb..module-2",
1005                         "readOnly": "True"
1006                       },
1007                       "modelVersion": {
1008                         "title": "Model Version",
1009                         "type": "string",
1010                         "default": "1",
1011                         "readOnly": "True"
1012                       },
1013                       "modelCustomizationId": {
1014                         "title": "Customization ID",
1015                         "type": "string",
1016                         "default": "96a78aad-4ffb-4ef0-9c4f-deb03bf1d806",
1017                         "readOnly": "True"
1018                       }
1019                     }
1020                   }
1021                 ]
1022               }
1023             }
1024           }
1025         }
1026       }
1027     },
1028     "guard_policies": {
1029       "type": "array",
1030       "format": "tabs-top",
1031       "title": "Associated Guard policies",
1032       "items": {
1033         "headerTemplate": "{{self.policy-id}} - {{self.content.recipe}}",
1034         "anyOf": [
1035           {
1036             "title": "Guard MinMax",
1037             "type": "object",
1038             "properties": {
1039               "policy-id": {
1040                 "type": "string",
1041                 "default": "guard.minmax.new",
1042                 "pattern": "^(guard.minmax\\..*)$"
1043               },
1044               "content": {
1045                 "properties": {
1046                   "actor": {
1047                     "type": "string",
1048                     "enum": [
1049                       "APPC",
1050                       "SO",
1051                       "VFC",
1052                       "SDNC",
1053                       "SDNR"
1054                     ]
1055                   },
1056                   "recipe": {
1057                     "type": "string",
1058                     "enum": [
1059                       "Restart",
1060                       "Rebuild",
1061                       "Migrate",
1062                       "Health-Check",
1063                       "ModifyConfig",
1064                       "VF Module Create",
1065                       "VF Module Delete",
1066                       "Reroute"
1067                     ]
1068                   },
1069                   "targets": {
1070                     "type": "string",
1071                     "default": ".*"
1072                   },
1073                   "clname": {
1074                     "type": "string",
1075                     "template": "{{loopName}}",
1076                     "watch": {
1077                       "loopName": "operational_policy.controlLoop.controlLoopName"
1078                     }
1079                   },
1080                   "guardActiveStart": {
1081                     "type": "string",
1082                     "default": "00:00:00Z"
1083                   },
1084                   "guardActiveEnd": {
1085                     "type": "string",
1086                     "default": "10:00:00Z"
1087                   },
1088                   "min": {
1089                     "type": "string",
1090                     "default": "0"
1091                   },
1092                   "max": {
1093                     "type": "string",
1094                     "default": "1"
1095                   }
1096                 }
1097               }
1098             }
1099           },
1100           {
1101             "title": "Guard Frequency",
1102             "type": "object",
1103             "properties": {
1104               "policy-id": {
1105                 "type": "string",
1106                 "default": "guard.frequency.new",
1107                 "pattern": "^(guard.frequency\\..*)$"
1108               },
1109               "content": {
1110                 "properties": {
1111                   "actor": {
1112                     "type": "string",
1113                     "enum": [
1114                       "APPC",
1115                       "SO",
1116                       "VFC",
1117                       "SDNC",
1118                       "SDNR"
1119                     ]
1120                   },
1121                   "recipe": {
1122                     "type": "string",
1123                     "enum": [
1124                       "Restart",
1125                       "Rebuild",
1126                       "Migrate",
1127                       "Health-Check",
1128                       "ModifyConfig",
1129                       "VF Module Create",
1130                       "VF Module Delete",
1131                       "Reroute"
1132                     ]
1133                   },
1134                   "targets": {
1135                     "type": "string",
1136                     "default": ".*"
1137                   },
1138                   "clname": {
1139                     "type": "string",
1140                     "template": "{{loopName}}",
1141                     "watch": {
1142                       "loopName": "operational_policy.controlLoop.controlLoopName"
1143                     }
1144                   },
1145                   "guardActiveStart": {
1146                     "type": "string",
1147                     "default": "00:00:00Z"
1148                   },
1149                   "guardActiveEnd": {
1150                     "type": "string",
1151                     "default": "10:00:00Z"
1152                   },
1153                   "limit": {
1154                     "type": "string"
1155                   },
1156                   "timeWindow": {
1157                     "type": "string"
1158                   },
1159                   "timeUnits": {
1160                     "type": "string",
1161                     "enum": [
1162                       "minute",
1163                       "hour",
1164                       "day",
1165                       "week",
1166                       "month",
1167                       "year"
1168                     ]
1169                   }
1170                 }
1171               }
1172             }
1173           }
1174         ]
1175       }
1176     }
1177   }
1178 }