Release 5.0.5
[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",
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                                   },
281                                   "data": {
282                                     "title": "data",
283                                     "properties": {
284                                       "request-id": {
285                                         "title": "request-id",
286                                         "type": "string"
287                                       },
288                                       "service-instance-id": {
289                                         "title": "service-instance-id",
290                                         "type": "string"
291                                       },
292                                       "vnf-id": {
293                                         "title": "vnf-id",
294                                         "type": "string"
295                                       },
296                                       "action-name": {
297                                         "title": "action-name",
298                                         "type": "string"
299                                       },
300                                       "scope-type": {
301                                         "title": "scope-type",
302                                         "type": "string"
303                                       },
304                                       "hostname": {
305                                         "title": "hostname",
306                                         "type": "string"
307                                       },
308                                       "vnf_name": {
309                                         "title": "vnf_name",
310                                         "type": "string"
311                                       }
312                                     }
313                                   }
314                                 }
315                               }
316                             }
317                           },
318                           {
319                             "title": "activate",
320                             "type": "object",
321                             "properties": {
322                               "recipe": {
323                                 "title": "recipe",
324                                 "type": "string",
325                                 "default": "activate",
326                                 "options": {
327                                   "hidden": true
328                                 }
329                               },
330                               "payload": {
331                                 "title": "Payload",
332                                 "type": "object",
333                                 "properties": {
334                                   "artifact_name": {
335                                     "title": "artifact name",
336                                     "type": "string",
337                                     "default": "baseconfiguration",
338                                     "readOnly": "True"
339                                   },
340                                   "artifact_version": {
341                                     "title": "artifact version",
342                                     "type": "string",
343                                     "default": "1.0.0",
344                                     "readOnly": "True"
345                                   },
346                                   "mode": {
347                                     "title": "mode",
348                                     "type": "string",
349                                     "default": "async"
350                                   },
351                                   "data": {
352                                     "title": "data",
353                                     "properties": {
354                                       "request-id": {
355                                         "title": "request-id",
356                                         "type": "string"
357                                       },
358                                       "service-instance-id": {
359                                         "title": "service-instance-id",
360                                         "type": "string"
361                                       },
362                                       "vnf-id": {
363                                         "title": "vnf-id",
364                                         "type": "string"
365                                       },
366                                       "action-name": {
367                                         "title": "action-name",
368                                         "type": "string"
369                                       },
370                                       "scope-type": {
371                                         "title": "scope-type",
372                                         "type": "string"
373                                       },
374                                       "hostname": {
375                                         "title": "hostname",
376                                         "type": "string"
377                                       },
378                                       "vnf_name": {
379                                         "title": "vnf_name",
380                                         "type": "string"
381                                       }
382                                     }
383                                   }
384                                 }
385                               }
386                             }
387                           },
388                           {
389                             "title": "activate-restconf",
390                             "type": "object",
391                             "properties": {
392                               "recipe": {
393                                 "title": "recipe",
394                                 "type": "string",
395                                 "default": "activate-restconf",
396                                 "options": {
397                                   "hidden": true
398                                 }
399                               },
400                               "payload": {
401                                 "title": "Payload",
402                                 "type": "object",
403                                 "properties": {
404                                   "artifact_name": {
405                                     "title": "artifact name",
406                                     "type": "string",
407                                     "default": "baseconfiguration",
408                                     "readOnly": "True"
409                                   },
410                                   "artifact_version": {
411                                     "title": "artifact version",
412                                     "type": "string",
413                                     "default": "1.0.0",
414                                     "readOnly": "True"
415                                   },
416                                   "mode": {
417                                     "title": "mode",
418                                     "type": "string",
419                                     "default": "async"
420                                   },
421                                   "data": {
422                                     "title": "data",
423                                     "properties": {
424                                       "request-id": {
425                                         "title": "request-id",
426                                         "type": "string"
427                                       },
428                                       "service-instance-id": {
429                                         "title": "service-instance-id",
430                                         "type": "string"
431                                       },
432                                       "vnf-id": {
433                                         "title": "vnf-id",
434                                         "type": "string"
435                                       },
436                                       "action-name": {
437                                         "title": "action-name",
438                                         "type": "string"
439                                       },
440                                       "scope-type": {
441                                         "title": "scope-type",
442                                         "type": "string"
443                                       },
444                                       "hostname": {
445                                         "title": "hostname",
446                                         "type": "string"
447                                       },
448                                       "vnf_name": {
449                                         "title": "vnf_name",
450                                         "type": "string"
451                                       }
452                                     }
453                                   }
454                                 }
455                               }
456                             }
457                           },
458                           {
459                             "title": "activate-cli",
460                             "type": "object",
461                             "properties": {
462                               "recipe": {
463                                 "title": "recipe",
464                                 "type": "string",
465                                 "default": "activate-cli",
466                                 "options": {
467                                   "hidden": true
468                                 }
469                               },
470                               "payload": {
471                                 "title": "Payload",
472                                 "type": "object",
473                                 "properties": {
474                                   "artifact_name": {
475                                     "title": "artifact name",
476                                     "type": "string",
477                                     "default": "baseconfiguration",
478                                     "readOnly": "True"
479                                   },
480                                   "artifact_version": {
481                                     "title": "artifact version",
482                                     "type": "string",
483                                     "default": "1.0.0",
484                                     "readOnly": "True"
485                                   },
486                                   "mode": {
487                                     "title": "mode",
488                                     "type": "string",
489                                     "default": "async"
490                                   },
491                                   "data": {
492                                     "title": "data",
493                                     "properties": {
494                                       "request-id": {
495                                         "title": "request-id",
496                                         "type": "string"
497                                       },
498                                       "service-instance-id": {
499                                         "title": "service-instance-id",
500                                         "type": "string"
501                                       },
502                                       "vnf-id": {
503                                         "title": "vnf-id",
504                                         "type": "string"
505                                       },
506                                       "action-name": {
507                                         "title": "action-name",
508                                         "type": "string"
509                                       },
510                                       "scope-type": {
511                                         "title": "scope-type",
512                                         "type": "string"
513                                       },
514                                       "hostname": {
515                                         "title": "hostname",
516                                         "type": "string"
517                                       },
518                                       "vnf_name": {
519                                         "title": "vnf_name",
520                                         "type": "string"
521                                       }
522                                     }
523                                   }
524                                 }
525                               }
526                             }
527                           },
528                           {
529                             "title": "assign-activate",
530                             "type": "object",
531                             "properties": {
532                               "recipe": {
533                                 "title": "recipe",
534                                 "type": "string",
535                                 "default": "assign-activate",
536                                 "options": {
537                                   "hidden": true
538                                 }
539                               },
540                               "payload": {
541                                 "title": "Payload",
542                                 "type": "object",
543                                 "properties": {
544                                   "artifact_name": {
545                                     "title": "artifact name",
546                                     "type": "string",
547                                     "default": "baseconfiguration",
548                                     "readOnly": "True"
549                                   },
550                                   "artifact_version": {
551                                     "title": "artifact version",
552                                     "type": "string",
553                                     "default": "1.0.0",
554                                     "readOnly": "True"
555                                   },
556                                   "mode": {
557                                     "title": "mode",
558                                     "type": "string",
559                                     "default": "async"
560                                   },
561                                   "data": {
562                                     "title": "data",
563                                     "properties": {
564                                       "request-id": {
565                                         "title": "request-id",
566                                         "type": "string"
567                                       },
568                                       "service-instance-id": {
569                                         "title": "service-instance-id",
570                                         "type": "string"
571                                       },
572                                       "vnf-id": {
573                                         "title": "vnf-id",
574                                         "type": "string"
575                                       },
576                                       "action-name": {
577                                         "title": "action-name",
578                                         "type": "string"
579                                       },
580                                       "scope-type": {
581                                         "title": "scope-type",
582                                         "type": "string"
583                                       },
584                                       "hostname": {
585                                         "title": "hostname",
586                                         "type": "string"
587                                       },
588                                       "vnf_name": {
589                                         "title": "vnf_name",
590                                         "type": "string"
591                                       }
592                                     }
593                                   }
594                                 }
595                               }
596                             }
597                           },
598                           {
599                             "title": "imperative-test-wf",
600                             "type": "object",
601                             "properties": {
602                               "recipe": {
603                                 "title": "recipe",
604                                 "type": "string",
605                                 "default": "imperative-test-wf",
606                                 "options": {
607                                   "hidden": true
608                                 }
609                               },
610                               "payload": {
611                                 "title": "Payload",
612                                 "type": "object",
613                                 "properties": {
614                                   "artifact_name": {
615                                     "title": "artifact name",
616                                     "type": "string",
617                                     "default": "baseconfiguration",
618                                     "readOnly": "True"
619                                   },
620                                   "artifact_version": {
621                                     "title": "artifact version",
622                                     "type": "string",
623                                     "default": "1.0.0",
624                                     "readOnly": "True"
625                                   },
626                                   "mode": {
627                                     "title": "mode",
628                                     "type": "string",
629                                     "default": "async"
630                                   },
631                                   "data": {
632                                     "title": "data",
633                                     "properties": {
634                                       "request-id": {
635                                         "title": "request-id",
636                                         "type": "string"
637                                       },
638                                       "service-instance-id": {
639                                         "title": "service-instance-id",
640                                         "type": "string"
641                                       },
642                                       "vnf-id": {
643                                         "title": "vnf-id",
644                                         "type": "string"
645                                       },
646                                       "action-name": {
647                                         "title": "action-name",
648                                         "type": "string"
649                                       },
650                                       "scope-type": {
651                                         "title": "scope-type",
652                                         "type": "string"
653                                       },
654                                       "hostname": {
655                                         "title": "hostname",
656                                         "type": "string"
657                                       },
658                                       "vnf_name": {
659                                         "title": "vnf_name",
660                                         "type": "string"
661                                       }
662                                     }
663                                   }
664                                 }
665                               }
666                             }
667                           }
668                         ]
669                       }
670                     }
671                   }
672                 ]
673               },
674               "success": {
675                 "default": "final_success",
676                 "title": "When Success",
677                 "type": "string"
678               },
679               "failure": {
680                 "default": "final_failure",
681                 "title": "When Failure",
682                 "type": "string"
683               },
684               "failure_timeout": {
685                 "default": "final_failure_timeout",
686                 "title": "When Failure Timeout",
687                 "type": "string"
688               },
689               "failure_retries": {
690                 "default": "final_failure_retries",
691                 "title": "When Failure Retries",
692                 "type": "string"
693               },
694               "failure_exception": {
695                 "default": "final_failure_exception",
696                 "title": "When Failure Exception",
697                 "type": "string"
698               },
699               "failure_guard": {
700                 "default": "final_failure_guard",
701                 "title": "When Failure Guard",
702                 "type": "string"
703               },
704               "target": {
705                 "type": "object",
706                 "required": [
707                   "type",
708                   "resourceID"
709                 ],
710                 "anyOf": [
711                   {
712                     "title": "User Defined",
713                     "additionalProperties": "True",
714                     "properties": {
715                       "type": {
716                         "title": "Target type",
717                         "type": "string",
718                         "default": "",
719                         "enum": [
720                           "VNF",
721                           "VFMODULE",
722                           "VM"
723                         ]
724                       },
725                       "resourceID": {
726                         "title": "Target type",
727                         "type": "string",
728                         "default": ""
729                       }
730                     }
731                   },
732                   {
733                     "title": "User defined",
734                     "properties": {}
735                   },
736                   {
737                     "title": "VNF-vLoadBalancerMS 0",
738                     "properties": {
739                       "type": {
740                         "title": "Type",
741                         "type": "string",
742                         "default": "VNF",
743                         "readOnly": "True"
744                       },
745                       "resourceID": {
746                         "title": "Resource ID",
747                         "type": "string",
748                         "default": "vLoadBalancerMS",
749                         "readOnly": "True"
750                       }
751                     }
752                   },
753                   {
754                     "title": "VFMODULE-Vloadbalancerms..vpkg..module-1",
755                     "properties": {
756                       "type": {
757                         "title": "Type",
758                         "type": "string",
759                         "default": "VFMODULE",
760                         "readOnly": "True"
761                       },
762                       "resourceID": {
763                         "title": "Resource ID",
764                         "type": "string",
765                         "default": "Vloadbalancerms..vpkg..module-1",
766                         "readOnly": "True"
767                       },
768                       "modelInvariantId": {
769                         "title": "Model Invariant Id (ModelInvariantUUID)",
770                         "type": "string",
771                         "default": "ca052563-eb92-4b5b-ad41-9111768ce043",
772                         "readOnly": "True"
773                       },
774                       "modelVersionId": {
775                         "title": "Model Version Id (ModelUUID)",
776                         "type": "string",
777                         "default": "1e725ccc-b823-4f67-82b9-4f4367070dbc",
778                         "readOnly": "True"
779                       },
780                       "modelName": {
781                         "title": "Model Name",
782                         "type": "string",
783                         "default": "Vloadbalancerms..vpkg..module-1",
784                         "readOnly": "True"
785                       },
786                       "modelVersion": {
787                         "title": "Model Version",
788                         "type": "string",
789                         "default": "1",
790                         "readOnly": "True"
791                       },
792                       "modelCustomizationId": {
793                         "title": "Customization ID",
794                         "type": "string",
795                         "default": "1bffdc31-a37d-4dee-b65c-dde623a76e52",
796                         "readOnly": "True"
797                       }
798                     }
799                   },
800                   {
801                     "title": "VFMODULE-Vloadbalancerms..vdns..module-3",
802                     "properties": {
803                       "type": {
804                         "title": "Type",
805                         "type": "string",
806                         "default": "VFMODULE",
807                         "readOnly": "True"
808                       },
809                       "resourceID": {
810                         "title": "Resource ID",
811                         "type": "string",
812                         "default": "Vloadbalancerms..vdns..module-3",
813                         "readOnly": "True"
814                       },
815                       "modelInvariantId": {
816                         "title": "Model Invariant Id (ModelInvariantUUID)",
817                         "type": "string",
818                         "default": "4c10ba9b-f88f-415e-9de3-5d33336047fa",
819                         "readOnly": "True"
820                       },
821                       "modelVersionId": {
822                         "title": "Model Version Id (ModelUUID)",
823                         "type": "string",
824                         "default": "4fa73b49-8a6c-493e-816b-eb401567b720",
825                         "readOnly": "True"
826                       },
827                       "modelName": {
828                         "title": "Model Name",
829                         "type": "string",
830                         "default": "Vloadbalancerms..vdns..module-3",
831                         "readOnly": "True"
832                       },
833                       "modelVersion": {
834                         "title": "Model Version",
835                         "type": "string",
836                         "default": "1",
837                         "readOnly": "True"
838                       },
839                       "modelCustomizationId": {
840                         "title": "Customization ID",
841                         "type": "string",
842                         "default": "bafcdab0-801d-4d81-9ead-f464640a38b1",
843                         "readOnly": "True"
844                       }
845                     }
846                   },
847                   {
848                     "title": "VFMODULE-Vloadbalancerms..base_template..module-0",
849                     "properties": {
850                       "type": {
851                         "title": "Type",
852                         "type": "string",
853                         "default": "VFMODULE",
854                         "readOnly": "True"
855                       },
856                       "resourceID": {
857                         "title": "Resource ID",
858                         "type": "string",
859                         "default": "Vloadbalancerms..base_template..module-0",
860                         "readOnly": "True"
861                       },
862                       "modelInvariantId": {
863                         "title": "Model Invariant Id (ModelInvariantUUID)",
864                         "type": "string",
865                         "default": "921f7c96-ebdd-42e6-81b9-1cfc0c9796f3",
866                         "readOnly": "True"
867                       },
868                       "modelVersionId": {
869                         "title": "Model Version Id (ModelUUID)",
870                         "type": "string",
871                         "default": "63734409-f745-4e4d-a38b-131638a0edce",
872                         "readOnly": "True"
873                       },
874                       "modelName": {
875                         "title": "Model Name",
876                         "type": "string",
877                         "default": "Vloadbalancerms..base_template..module-0",
878                         "readOnly": "True"
879                       },
880                       "modelVersion": {
881                         "title": "Model Version",
882                         "type": "string",
883                         "default": "1",
884                         "readOnly": "True"
885                       },
886                       "modelCustomizationId": {
887                         "title": "Customization ID",
888                         "type": "string",
889                         "default": "86baddea-c730-4fb8-9410-cd2e17fd7f27",
890                         "readOnly": "True"
891                       }
892                     }
893                   },
894                   {
895                     "title": "VFMODULE-Vloadbalancerms..vlb..module-2",
896                     "properties": {
897                       "type": {
898                         "title": "Type",
899                         "type": "string",
900                         "default": "VFMODULE",
901                         "readOnly": "True"
902                       },
903                       "resourceID": {
904                         "title": "Resource ID",
905                         "type": "string",
906                         "default": "Vloadbalancerms..vlb..module-2",
907                         "readOnly": "True"
908                       },
909                       "modelInvariantId": {
910                         "title": "Model Invariant Id (ModelInvariantUUID)",
911                         "type": "string",
912                         "default": "a772a1f4-0064-412c-833d-4749b15828dd",
913                         "readOnly": "True"
914                       },
915                       "modelVersionId": {
916                         "title": "Model Version Id (ModelUUID)",
917                         "type": "string",
918                         "default": "0f5c3f6a-650a-4303-abb6-fff3e573a07a",
919                         "readOnly": "True"
920                       },
921                       "modelName": {
922                         "title": "Model Name",
923                         "type": "string",
924                         "default": "Vloadbalancerms..vlb..module-2",
925                         "readOnly": "True"
926                       },
927                       "modelVersion": {
928                         "title": "Model Version",
929                         "type": "string",
930                         "default": "1",
931                         "readOnly": "True"
932                       },
933                       "modelCustomizationId": {
934                         "title": "Customization ID",
935                         "type": "string",
936                         "default": "96a78aad-4ffb-4ef0-9c4f-deb03bf1d806",
937                         "readOnly": "True"
938                       }
939                     }
940                   }
941                 ]
942               }
943             }
944           }
945         }
946       }
947     },
948     "guard_policies": {
949       "type": "array",
950       "format": "tabs-top",
951       "title": "Associated Guard policies",
952       "items": {
953         "headerTemplate": "{{self.policy-id}} - {{self.content.recipe}}",
954         "anyOf": [
955           {
956             "title": "Guard MinMax",
957             "type": "object",
958             "properties": {
959               "policy-id": {
960                 "type": "string",
961                 "default": "guard.minmax.new",
962                 "pattern": "^(guard.minmax\\..*)$"
963               },
964               "content": {
965                 "properties": {
966                   "actor": {
967                     "type": "string",
968                     "enum": [
969                       "APPC",
970                       "SO",
971                       "VFC",
972                       "SDNC",
973                       "SDNR"
974                     ]
975                   },
976                   "recipe": {
977                     "type": "string",
978                     "enum": [
979                       "Restart",
980                       "Rebuild",
981                       "Migrate",
982                       "Health-Check",
983                       "ModifyConfig",
984                       "VF Module Create",
985                       "VF Module Delete",
986                       "Reroute"
987                     ]
988                   },
989                   "targets": {
990                     "type": "string",
991                     "default": ".*"
992                   },
993                   "clname": {
994                     "type": "string",
995                     "template": "{{loopName}}",
996                     "watch": {
997                       "loopName": "operational_policy.controlLoop.controlLoopName"
998                     }
999                   },
1000                   "guardActiveStart": {
1001                     "type": "string",
1002                     "default": "00:00:00Z"
1003                   },
1004                   "guardActiveEnd": {
1005                     "type": "string",
1006                     "default": "10:00:00Z"
1007                   },
1008                   "min": {
1009                     "type": "string",
1010                     "default": "0"
1011                   },
1012                   "max": {
1013                     "type": "string",
1014                     "default": "1"
1015                   }
1016                 }
1017               }
1018             }
1019           },
1020           {
1021             "title": "Guard Frequency",
1022             "type": "object",
1023             "properties": {
1024               "policy-id": {
1025                 "type": "string",
1026                 "default": "guard.frequency.new",
1027                 "pattern": "^(guard.frequency\\..*)$"
1028               },
1029               "content": {
1030                 "properties": {
1031                   "actor": {
1032                     "type": "string",
1033                     "enum": [
1034                       "APPC",
1035                       "SO",
1036                       "VFC",
1037                       "SDNC",
1038                       "SDNR"
1039                     ]
1040                   },
1041                   "recipe": {
1042                     "type": "string",
1043                     "enum": [
1044                       "Restart",
1045                       "Rebuild",
1046                       "Migrate",
1047                       "Health-Check",
1048                       "ModifyConfig",
1049                       "VF Module Create",
1050                       "VF Module Delete",
1051                       "Reroute"
1052                     ]
1053                   },
1054                   "targets": {
1055                     "type": "string",
1056                     "default": ".*"
1057                   },
1058                   "clname": {
1059                     "type": "string",
1060                     "template": "{{loopName}}",
1061                     "watch": {
1062                       "loopName": "operational_policy.controlLoop.controlLoopName"
1063                     }
1064                   },
1065                   "guardActiveStart": {
1066                     "type": "string",
1067                     "default": "00:00:00Z"
1068                   },
1069                   "guardActiveEnd": {
1070                     "type": "string",
1071                     "default": "10:00:00Z"
1072                   },
1073                   "limit": {
1074                     "type": "string"
1075                   },
1076                   "timeWindow": {
1077                     "type": "string"
1078                   },
1079                   "timeUnits": {
1080                     "type": "string",
1081                     "enum": [
1082                       "minute",
1083                       "hour",
1084                       "day",
1085                       "week",
1086                       "month",
1087                       "year"
1088                     ]
1089                   }
1090                 }
1091               }
1092             }
1093           }
1094         ]
1095       }
1096     }
1097   }
1098 }