9dee089e07cdeb2b119b812efcc726616fbd5b47
[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": "VNF-vLoadBalancerMS 0",
734                     "properties": {
735                       "type": {
736                         "title": "Type",
737                         "type": "string",
738                         "default": "VNF",
739                         "readOnly": "True"
740                       },
741                       "resourceID": {
742                         "title": "Resource ID",
743                         "type": "string",
744                         "default": "vLoadBalancerMS",
745                         "readOnly": "True"
746                       }
747                     }
748                   },
749                   {
750                     "title": "VFMODULE-Vloadbalancerms..vpkg..module-1",
751                     "properties": {
752                       "type": {
753                         "title": "Type",
754                         "type": "string",
755                         "default": "VFMODULE",
756                         "readOnly": "True"
757                       },
758                       "resourceID": {
759                         "title": "Resource ID",
760                         "type": "string",
761                         "default": "Vloadbalancerms..vpkg..module-1",
762                         "readOnly": "True"
763                       },
764                       "modelInvariantId": {
765                         "title": "Model Invariant Id (ModelInvariantUUID)",
766                         "type": "string",
767                         "default": "ca052563-eb92-4b5b-ad41-9111768ce043",
768                         "readOnly": "True"
769                       },
770                       "modelVersionId": {
771                         "title": "Model Version Id (ModelUUID)",
772                         "type": "string",
773                         "default": "1e725ccc-b823-4f67-82b9-4f4367070dbc",
774                         "readOnly": "True"
775                       },
776                       "modelName": {
777                         "title": "Model Name",
778                         "type": "string",
779                         "default": "Vloadbalancerms..vpkg..module-1",
780                         "readOnly": "True"
781                       },
782                       "modelVersion": {
783                         "title": "Model Version",
784                         "type": "string",
785                         "default": "1",
786                         "readOnly": "True"
787                       },
788                       "modelCustomizationId": {
789                         "title": "Customization ID",
790                         "type": "string",
791                         "default": "1bffdc31-a37d-4dee-b65c-dde623a76e52",
792                         "readOnly": "True"
793                       }
794                     }
795                   },
796                   {
797                     "title": "VFMODULE-Vloadbalancerms..vdns..module-3",
798                     "properties": {
799                       "type": {
800                         "title": "Type",
801                         "type": "string",
802                         "default": "VFMODULE",
803                         "readOnly": "True"
804                       },
805                       "resourceID": {
806                         "title": "Resource ID",
807                         "type": "string",
808                         "default": "Vloadbalancerms..vdns..module-3",
809                         "readOnly": "True"
810                       },
811                       "modelInvariantId": {
812                         "title": "Model Invariant Id (ModelInvariantUUID)",
813                         "type": "string",
814                         "default": "4c10ba9b-f88f-415e-9de3-5d33336047fa",
815                         "readOnly": "True"
816                       },
817                       "modelVersionId": {
818                         "title": "Model Version Id (ModelUUID)",
819                         "type": "string",
820                         "default": "4fa73b49-8a6c-493e-816b-eb401567b720",
821                         "readOnly": "True"
822                       },
823                       "modelName": {
824                         "title": "Model Name",
825                         "type": "string",
826                         "default": "Vloadbalancerms..vdns..module-3",
827                         "readOnly": "True"
828                       },
829                       "modelVersion": {
830                         "title": "Model Version",
831                         "type": "string",
832                         "default": "1",
833                         "readOnly": "True"
834                       },
835                       "modelCustomizationId": {
836                         "title": "Customization ID",
837                         "type": "string",
838                         "default": "bafcdab0-801d-4d81-9ead-f464640a38b1",
839                         "readOnly": "True"
840                       }
841                     }
842                   },
843                   {
844                     "title": "VFMODULE-Vloadbalancerms..base_template..module-0",
845                     "properties": {
846                       "type": {
847                         "title": "Type",
848                         "type": "string",
849                         "default": "VFMODULE",
850                         "readOnly": "True"
851                       },
852                       "resourceID": {
853                         "title": "Resource ID",
854                         "type": "string",
855                         "default": "Vloadbalancerms..base_template..module-0",
856                         "readOnly": "True"
857                       },
858                       "modelInvariantId": {
859                         "title": "Model Invariant Id (ModelInvariantUUID)",
860                         "type": "string",
861                         "default": "921f7c96-ebdd-42e6-81b9-1cfc0c9796f3",
862                         "readOnly": "True"
863                       },
864                       "modelVersionId": {
865                         "title": "Model Version Id (ModelUUID)",
866                         "type": "string",
867                         "default": "63734409-f745-4e4d-a38b-131638a0edce",
868                         "readOnly": "True"
869                       },
870                       "modelName": {
871                         "title": "Model Name",
872                         "type": "string",
873                         "default": "Vloadbalancerms..base_template..module-0",
874                         "readOnly": "True"
875                       },
876                       "modelVersion": {
877                         "title": "Model Version",
878                         "type": "string",
879                         "default": "1",
880                         "readOnly": "True"
881                       },
882                       "modelCustomizationId": {
883                         "title": "Customization ID",
884                         "type": "string",
885                         "default": "86baddea-c730-4fb8-9410-cd2e17fd7f27",
886                         "readOnly": "True"
887                       }
888                     }
889                   },
890                   {
891                     "title": "VFMODULE-Vloadbalancerms..vlb..module-2",
892                     "properties": {
893                       "type": {
894                         "title": "Type",
895                         "type": "string",
896                         "default": "VFMODULE",
897                         "readOnly": "True"
898                       },
899                       "resourceID": {
900                         "title": "Resource ID",
901                         "type": "string",
902                         "default": "Vloadbalancerms..vlb..module-2",
903                         "readOnly": "True"
904                       },
905                       "modelInvariantId": {
906                         "title": "Model Invariant Id (ModelInvariantUUID)",
907                         "type": "string",
908                         "default": "a772a1f4-0064-412c-833d-4749b15828dd",
909                         "readOnly": "True"
910                       },
911                       "modelVersionId": {
912                         "title": "Model Version Id (ModelUUID)",
913                         "type": "string",
914                         "default": "0f5c3f6a-650a-4303-abb6-fff3e573a07a",
915                         "readOnly": "True"
916                       },
917                       "modelName": {
918                         "title": "Model Name",
919                         "type": "string",
920                         "default": "Vloadbalancerms..vlb..module-2",
921                         "readOnly": "True"
922                       },
923                       "modelVersion": {
924                         "title": "Model Version",
925                         "type": "string",
926                         "default": "1",
927                         "readOnly": "True"
928                       },
929                       "modelCustomizationId": {
930                         "title": "Customization ID",
931                         "type": "string",
932                         "default": "96a78aad-4ffb-4ef0-9c4f-deb03bf1d806",
933                         "readOnly": "True"
934                       }
935                     }
936                   }
937                 ]
938               }
939             }
940           }
941         }
942       }
943     },
944     "guard_policies": {
945       "type": "array",
946       "format": "tabs-top",
947       "title": "Associated Guard policies",
948       "items": {
949         "headerTemplate": "{{self.policy-id}} - {{self.content.recipe}}",
950         "anyOf": [
951           {
952             "title": "Guard MinMax",
953             "type": "object",
954             "properties": {
955               "policy-id": {
956                 "type": "string",
957                 "default": "guard.minmax.new",
958                 "pattern": "^(guard.minmax\\..*)$"
959               },
960               "content": {
961                 "properties": {
962                   "actor": {
963                     "type": "string",
964                     "enum": [
965                       "APPC",
966                       "SO",
967                       "VFC",
968                       "SDNC",
969                       "SDNR"
970                     ]
971                   },
972                   "recipe": {
973                     "type": "string",
974                     "enum": [
975                       "Restart",
976                       "Rebuild",
977                       "Migrate",
978                       "Health-Check",
979                       "ModifyConfig",
980                       "VF Module Create",
981                       "VF Module Delete",
982                       "Reroute"
983                     ]
984                   },
985                   "targets": {
986                     "type": "string",
987                     "default": ".*"
988                   },
989                   "clname": {
990                     "type": "string",
991                     "template": "{{loopName}}",
992                     "watch": {
993                       "loopName": "operational_policy.controlLoop.controlLoopName"
994                     }
995                   },
996                   "guardActiveStart": {
997                     "type": "string",
998                     "default": "00:00:00Z"
999                   },
1000                   "guardActiveEnd": {
1001                     "type": "string",
1002                     "default": "10:00:00Z"
1003                   },
1004                   "min": {
1005                     "type": "string",
1006                     "default": "0"
1007                   },
1008                   "max": {
1009                     "type": "string",
1010                     "default": "1"
1011                   }
1012                 }
1013               }
1014             }
1015           },
1016           {
1017             "title": "Guard Frequency",
1018             "type": "object",
1019             "properties": {
1020               "policy-id": {
1021                 "type": "string",
1022                 "default": "guard.frequency.new",
1023                 "pattern": "^(guard.frequency\\..*)$"
1024               },
1025               "content": {
1026                 "properties": {
1027                   "actor": {
1028                     "type": "string",
1029                     "enum": [
1030                       "APPC",
1031                       "SO",
1032                       "VFC",
1033                       "SDNC",
1034                       "SDNR"
1035                     ]
1036                   },
1037                   "recipe": {
1038                     "type": "string",
1039                     "enum": [
1040                       "Restart",
1041                       "Rebuild",
1042                       "Migrate",
1043                       "Health-Check",
1044                       "ModifyConfig",
1045                       "VF Module Create",
1046                       "VF Module Delete",
1047                       "Reroute"
1048                     ]
1049                   },
1050                   "targets": {
1051                     "type": "string",
1052                     "default": ".*"
1053                   },
1054                   "clname": {
1055                     "type": "string",
1056                     "template": "{{loopName}}",
1057                     "watch": {
1058                       "loopName": "operational_policy.controlLoop.controlLoopName"
1059                     }
1060                   },
1061                   "guardActiveStart": {
1062                     "type": "string",
1063                     "default": "00:00:00Z"
1064                   },
1065                   "guardActiveEnd": {
1066                     "type": "string",
1067                     "default": "10:00:00Z"
1068                   },
1069                   "limit": {
1070                     "type": "string"
1071                   },
1072                   "timeWindow": {
1073                     "type": "string"
1074                   },
1075                   "timeUnits": {
1076                     "type": "string",
1077                     "enum": [
1078                       "minute",
1079                       "hour",
1080                       "day",
1081                       "week",
1082                       "month",
1083                       "year"
1084                     ]
1085                   }
1086                 }
1087               }
1088             }
1089           }
1090         ]
1091       }
1092     }
1093   }
1094 }