update autogenerated docs
[pve-docs.git] / api-viewer / apidata.js
1 var pveapi = [
2    {
3       "children" : [
4          {
5             "children" : [
6                {
7                   "children" : [
8                      {
9                         "children" : [
10                            {
11                               "info" : {
12                                  "DELETE" : {
13                                     "description" : "Delete rule.",
14                                     "method" : "DELETE",
15                                     "name" : "delete_rule",
16                                     "parameters" : {
17                                        "additionalProperties" : 0,
18                                        "properties" : {
19                                           "digest" : {
20                                              "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
21                                              "maxLength" : 40,
22                                              "optional" : 1,
23                                              "type" : "string"
24                                           },
25                                           "group" : {
26                                              "description" : "Security Group name.",
27                                              "maxLength" : 18,
28                                              "minLength" : 2,
29                                              "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
30                                              "type" : "string"
31                                           },
32                                           "pos" : {
33                                              "description" : "Update rule at position <pos>.",
34                                              "minimum" : 0,
35                                              "optional" : 1,
36                                              "type" : "integer",
37                                              "typetext" : "integer (0 - N)"
38                                           }
39                                        }
40                                     },
41                                     "permissions" : {
42                                        "check" : [
43                                           "perm",
44                                           "/",
45                                           [
46                                              "Sys.Modify"
47                                           ]
48                                        ]
49                                     },
50                                     "protected" : 1,
51                                     "proxyto" : null,
52                                     "returns" : {
53                                        "type" : "null"
54                                     }
55                                  },
56                                  "GET" : {
57                                     "description" : "Get single rule data.",
58                                     "method" : "GET",
59                                     "name" : "get_rule",
60                                     "parameters" : {
61                                        "additionalProperties" : 0,
62                                        "properties" : {
63                                           "group" : {
64                                              "description" : "Security Group name.",
65                                              "maxLength" : 18,
66                                              "minLength" : 2,
67                                              "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
68                                              "type" : "string"
69                                           },
70                                           "pos" : {
71                                              "description" : "Update rule at position <pos>.",
72                                              "minimum" : 0,
73                                              "optional" : 1,
74                                              "type" : "integer",
75                                              "typetext" : "integer (0 - N)"
76                                           }
77                                        }
78                                     },
79                                     "permissions" : {
80                                        "check" : [
81                                           "perm",
82                                           "/",
83                                           [
84                                              "Sys.Audit"
85                                           ]
86                                        ]
87                                     },
88                                     "proxyto" : null,
89                                     "returns" : {
90                                        "properties" : {
91                                           "pos" : {
92                                              "type" : "integer"
93                                           }
94                                        },
95                                        "type" : "object"
96                                     }
97                                  },
98                                  "PUT" : {
99                                     "description" : "Modify rule data.",
100                                     "method" : "PUT",
101                                     "name" : "update_rule",
102                                     "parameters" : {
103                                        "additionalProperties" : 0,
104                                        "properties" : {
105                                           "action" : {
106                                              "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
107                                              "maxLength" : 20,
108                                              "minLength" : 2,
109                                              "optional" : 1,
110                                              "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
111                                              "type" : "string"
112                                           },
113                                           "comment" : {
114                                              "description" : "Descriptive comment.",
115                                              "optional" : 1,
116                                              "type" : "string"
117                                           },
118                                           "delete" : {
119                                              "description" : "A list of settings you want to delete.",
120                                              "format" : "pve-configid-list",
121                                              "optional" : 1,
122                                              "type" : "string"
123                                           },
124                                           "dest" : {
125                                              "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
126                                              "format" : "pve-fw-addr-spec",
127                                              "optional" : 1,
128                                              "type" : "string"
129                                           },
130                                           "digest" : {
131                                              "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
132                                              "maxLength" : 40,
133                                              "optional" : 1,
134                                              "type" : "string"
135                                           },
136                                           "dport" : {
137                                              "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
138                                              "format" : "pve-fw-dport-spec",
139                                              "optional" : 1,
140                                              "type" : "string"
141                                           },
142                                           "enable" : {
143                                              "description" : "Flag to enable/disable a rule.",
144                                              "minimum" : 0,
145                                              "optional" : 1,
146                                              "type" : "integer",
147                                              "typetext" : "integer (0 - N)"
148                                           },
149                                           "group" : {
150                                              "description" : "Security Group name.",
151                                              "maxLength" : 18,
152                                              "minLength" : 2,
153                                              "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
154                                              "type" : "string"
155                                           },
156                                           "iface" : {
157                                              "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
158                                              "format" : "pve-iface",
159                                              "maxLength" : 20,
160                                              "minLength" : 2,
161                                              "optional" : 1,
162                                              "type" : "string"
163                                           },
164                                           "macro" : {
165                                              "description" : "Use predefined standard macro.",
166                                              "maxLength" : 128,
167                                              "optional" : 1,
168                                              "type" : "string"
169                                           },
170                                           "moveto" : {
171                                              "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
172                                              "minimum" : 0,
173                                              "optional" : 1,
174                                              "type" : "integer",
175                                              "typetext" : "integer (0 - N)"
176                                           },
177                                           "pos" : {
178                                              "description" : "Update rule at position <pos>.",
179                                              "minimum" : 0,
180                                              "optional" : 1,
181                                              "type" : "integer",
182                                              "typetext" : "integer (0 - N)"
183                                           },
184                                           "proto" : {
185                                              "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
186                                              "format" : "pve-fw-protocol-spec",
187                                              "optional" : 1,
188                                              "type" : "string"
189                                           },
190                                           "source" : {
191                                              "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
192                                              "format" : "pve-fw-addr-spec",
193                                              "optional" : 1,
194                                              "type" : "string"
195                                           },
196                                           "sport" : {
197                                              "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
198                                              "format" : "pve-fw-sport-spec",
199                                              "optional" : 1,
200                                              "type" : "string"
201                                           },
202                                           "type" : {
203                                              "description" : "Rule type.",
204                                              "enum" : [
205                                                 "in",
206                                                 "out",
207                                                 "group"
208                                              ],
209                                              "optional" : 1,
210                                              "type" : "string"
211                                           }
212                                        }
213                                     },
214                                     "permissions" : {
215                                        "check" : [
216                                           "perm",
217                                           "/",
218                                           [
219                                              "Sys.Modify"
220                                           ]
221                                        ]
222                                     },
223                                     "protected" : 1,
224                                     "proxyto" : null,
225                                     "returns" : {
226                                        "type" : "null"
227                                     }
228                                  }
229                               },
230                               "leaf" : 1,
231                               "path" : "/cluster/firewall/groups/{group}/{pos}",
232                               "text" : "{pos}"
233                            }
234                         ],
235                         "info" : {
236                            "DELETE" : {
237                               "description" : "Delete security group.",
238                               "method" : "DELETE",
239                               "name" : "delete_security_group",
240                               "parameters" : {
241                                  "additionalProperties" : 0,
242                                  "properties" : {
243                                     "group" : {
244                                        "description" : "Security Group name.",
245                                        "maxLength" : 18,
246                                        "minLength" : 2,
247                                        "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
248                                        "type" : "string"
249                                     }
250                                  }
251                               },
252                               "permissions" : {
253                                  "check" : [
254                                     "perm",
255                                     "/",
256                                     [
257                                        "Sys.Modify"
258                                     ]
259                                  ]
260                               },
261                               "protected" : 1,
262                               "returns" : {
263                                  "type" : "null"
264                               }
265                            },
266                            "GET" : {
267                               "description" : "List rules.",
268                               "method" : "GET",
269                               "name" : "get_rules",
270                               "parameters" : {
271                                  "additionalProperties" : 0,
272                                  "properties" : {
273                                     "group" : {
274                                        "description" : "Security Group name.",
275                                        "maxLength" : 18,
276                                        "minLength" : 2,
277                                        "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
278                                        "type" : "string"
279                                     }
280                                  }
281                               },
282                               "permissions" : {
283                                  "check" : [
284                                     "perm",
285                                     "/",
286                                     [
287                                        "Sys.Audit"
288                                     ]
289                                  ]
290                               },
291                               "proxyto" : null,
292                               "returns" : {
293                                  "items" : {
294                                     "properties" : {
295                                        "pos" : {
296                                           "type" : "integer"
297                                        }
298                                     },
299                                     "type" : "object"
300                                  },
301                                  "links" : [
302                                     {
303                                        "href" : "{pos}",
304                                        "rel" : "child"
305                                     }
306                                  ],
307                                  "type" : "array"
308                               }
309                            },
310                            "POST" : {
311                               "description" : "Create new rule.",
312                               "method" : "POST",
313                               "name" : "create_rule",
314                               "parameters" : {
315                                  "additionalProperties" : 0,
316                                  "properties" : {
317                                     "action" : {
318                                        "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
319                                        "maxLength" : 20,
320                                        "minLength" : 2,
321                                        "optional" : 0,
322                                        "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
323                                        "type" : "string"
324                                     },
325                                     "comment" : {
326                                        "description" : "Descriptive comment.",
327                                        "optional" : 1,
328                                        "type" : "string"
329                                     },
330                                     "dest" : {
331                                        "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
332                                        "format" : "pve-fw-addr-spec",
333                                        "optional" : 1,
334                                        "type" : "string"
335                                     },
336                                     "digest" : {
337                                        "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
338                                        "maxLength" : 40,
339                                        "optional" : 1,
340                                        "type" : "string"
341                                     },
342                                     "dport" : {
343                                        "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
344                                        "format" : "pve-fw-dport-spec",
345                                        "optional" : 1,
346                                        "type" : "string"
347                                     },
348                                     "enable" : {
349                                        "description" : "Flag to enable/disable a rule.",
350                                        "minimum" : 0,
351                                        "optional" : 1,
352                                        "type" : "integer",
353                                        "typetext" : "integer (0 - N)"
354                                     },
355                                     "group" : {
356                                        "description" : "Security Group name.",
357                                        "maxLength" : 18,
358                                        "minLength" : 2,
359                                        "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
360                                        "type" : "string"
361                                     },
362                                     "iface" : {
363                                        "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
364                                        "format" : "pve-iface",
365                                        "maxLength" : 20,
366                                        "minLength" : 2,
367                                        "optional" : 1,
368                                        "type" : "string"
369                                     },
370                                     "macro" : {
371                                        "description" : "Use predefined standard macro.",
372                                        "maxLength" : 128,
373                                        "optional" : 1,
374                                        "type" : "string"
375                                     },
376                                     "pos" : {
377                                        "description" : "Update rule at position <pos>.",
378                                        "minimum" : 0,
379                                        "optional" : 1,
380                                        "type" : "integer",
381                                        "typetext" : "integer (0 - N)"
382                                     },
383                                     "proto" : {
384                                        "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
385                                        "format" : "pve-fw-protocol-spec",
386                                        "optional" : 1,
387                                        "type" : "string"
388                                     },
389                                     "source" : {
390                                        "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
391                                        "format" : "pve-fw-addr-spec",
392                                        "optional" : 1,
393                                        "type" : "string"
394                                     },
395                                     "sport" : {
396                                        "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
397                                        "format" : "pve-fw-sport-spec",
398                                        "optional" : 1,
399                                        "type" : "string"
400                                     },
401                                     "type" : {
402                                        "description" : "Rule type.",
403                                        "enum" : [
404                                           "in",
405                                           "out",
406                                           "group"
407                                        ],
408                                        "optional" : 0,
409                                        "type" : "string"
410                                     }
411                                  }
412                               },
413                               "permissions" : {
414                                  "check" : [
415                                     "perm",
416                                     "/",
417                                     [
418                                        "Sys.Modify"
419                                     ]
420                                  ]
421                               },
422                               "protected" : 1,
423                               "proxyto" : null,
424                               "returns" : {
425                                  "type" : "null"
426                               }
427                            }
428                         },
429                         "leaf" : 0,
430                         "path" : "/cluster/firewall/groups/{group}",
431                         "text" : "{group}"
432                      }
433                   ],
434                   "info" : {
435                      "GET" : {
436                         "description" : "List security groups.",
437                         "method" : "GET",
438                         "name" : "list_security_groups",
439                         "parameters" : {
440                            "additionalProperties" : 0
441                         },
442                         "permissions" : {
443                            "user" : "all"
444                         },
445                         "returns" : {
446                            "items" : {
447                               "properties" : {
448                                  "comment" : {
449                                     "optional" : 1,
450                                     "type" : "string"
451                                  },
452                                  "digest" : {
453                                     "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
454                                     "maxLength" : 40,
455                                     "optional" : 0,
456                                     "type" : "string"
457                                  },
458                                  "group" : {
459                                     "description" : "Security Group name.",
460                                     "maxLength" : 18,
461                                     "minLength" : 2,
462                                     "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
463                                     "type" : "string"
464                                  }
465                               },
466                               "type" : "object"
467                            },
468                            "links" : [
469                               {
470                                  "href" : "{group}",
471                                  "rel" : "child"
472                               }
473                            ],
474                            "type" : "array"
475                         }
476                      },
477                      "POST" : {
478                         "description" : "Create new security group.",
479                         "method" : "POST",
480                         "name" : "create_security_group",
481                         "parameters" : {
482                            "additionalProperties" : 0,
483                            "properties" : {
484                               "comment" : {
485                                  "optional" : 1,
486                                  "type" : "string"
487                               },
488                               "digest" : {
489                                  "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
490                                  "maxLength" : 40,
491                                  "optional" : 1,
492                                  "type" : "string"
493                               },
494                               "group" : {
495                                  "description" : "Security Group name.",
496                                  "maxLength" : 18,
497                                  "minLength" : 2,
498                                  "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
499                                  "type" : "string"
500                               },
501                               "rename" : {
502                                  "description" : "Rename/update an existing security group. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing group.",
503                                  "maxLength" : 18,
504                                  "minLength" : 2,
505                                  "optional" : 1,
506                                  "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
507                                  "type" : "string"
508                               }
509                            }
510                         },
511                         "permissions" : {
512                            "check" : [
513                               "perm",
514                               "/",
515                               [
516                                  "Sys.Modify"
517                               ]
518                            ]
519                         },
520                         "protected" : 1,
521                         "returns" : {
522                            "type" : "null"
523                         }
524                      }
525                   },
526                   "leaf" : 0,
527                   "path" : "/cluster/firewall/groups",
528                   "text" : "groups"
529                },
530                {
531                   "children" : [
532                      {
533                         "info" : {
534                            "DELETE" : {
535                               "description" : "Delete rule.",
536                               "method" : "DELETE",
537                               "name" : "delete_rule",
538                               "parameters" : {
539                                  "additionalProperties" : 0,
540                                  "properties" : {
541                                     "digest" : {
542                                        "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
543                                        "maxLength" : 40,
544                                        "optional" : 1,
545                                        "type" : "string"
546                                     },
547                                     "pos" : {
548                                        "description" : "Update rule at position <pos>.",
549                                        "minimum" : 0,
550                                        "optional" : 1,
551                                        "type" : "integer",
552                                        "typetext" : "integer (0 - N)"
553                                     }
554                                  }
555                               },
556                               "permissions" : {
557                                  "check" : [
558                                     "perm",
559                                     "/",
560                                     [
561                                        "Sys.Modify"
562                                     ]
563                                  ]
564                               },
565                               "protected" : 1,
566                               "proxyto" : null,
567                               "returns" : {
568                                  "type" : "null"
569                               }
570                            },
571                            "GET" : {
572                               "description" : "Get single rule data.",
573                               "method" : "GET",
574                               "name" : "get_rule",
575                               "parameters" : {
576                                  "additionalProperties" : 0,
577                                  "properties" : {
578                                     "pos" : {
579                                        "description" : "Update rule at position <pos>.",
580                                        "minimum" : 0,
581                                        "optional" : 1,
582                                        "type" : "integer",
583                                        "typetext" : "integer (0 - N)"
584                                     }
585                                  }
586                               },
587                               "permissions" : {
588                                  "check" : [
589                                     "perm",
590                                     "/",
591                                     [
592                                        "Sys.Audit"
593                                     ]
594                                  ]
595                               },
596                               "proxyto" : null,
597                               "returns" : {
598                                  "properties" : {
599                                     "pos" : {
600                                        "type" : "integer"
601                                     }
602                                  },
603                                  "type" : "object"
604                               }
605                            },
606                            "PUT" : {
607                               "description" : "Modify rule data.",
608                               "method" : "PUT",
609                               "name" : "update_rule",
610                               "parameters" : {
611                                  "additionalProperties" : 0,
612                                  "properties" : {
613                                     "action" : {
614                                        "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
615                                        "maxLength" : 20,
616                                        "minLength" : 2,
617                                        "optional" : 1,
618                                        "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
619                                        "type" : "string"
620                                     },
621                                     "comment" : {
622                                        "description" : "Descriptive comment.",
623                                        "optional" : 1,
624                                        "type" : "string"
625                                     },
626                                     "delete" : {
627                                        "description" : "A list of settings you want to delete.",
628                                        "format" : "pve-configid-list",
629                                        "optional" : 1,
630                                        "type" : "string"
631                                     },
632                                     "dest" : {
633                                        "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
634                                        "format" : "pve-fw-addr-spec",
635                                        "optional" : 1,
636                                        "type" : "string"
637                                     },
638                                     "digest" : {
639                                        "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
640                                        "maxLength" : 40,
641                                        "optional" : 1,
642                                        "type" : "string"
643                                     },
644                                     "dport" : {
645                                        "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
646                                        "format" : "pve-fw-dport-spec",
647                                        "optional" : 1,
648                                        "type" : "string"
649                                     },
650                                     "enable" : {
651                                        "description" : "Flag to enable/disable a rule.",
652                                        "minimum" : 0,
653                                        "optional" : 1,
654                                        "type" : "integer",
655                                        "typetext" : "integer (0 - N)"
656                                     },
657                                     "iface" : {
658                                        "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
659                                        "format" : "pve-iface",
660                                        "maxLength" : 20,
661                                        "minLength" : 2,
662                                        "optional" : 1,
663                                        "type" : "string"
664                                     },
665                                     "macro" : {
666                                        "description" : "Use predefined standard macro.",
667                                        "maxLength" : 128,
668                                        "optional" : 1,
669                                        "type" : "string"
670                                     },
671                                     "moveto" : {
672                                        "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
673                                        "minimum" : 0,
674                                        "optional" : 1,
675                                        "type" : "integer",
676                                        "typetext" : "integer (0 - N)"
677                                     },
678                                     "pos" : {
679                                        "description" : "Update rule at position <pos>.",
680                                        "minimum" : 0,
681                                        "optional" : 1,
682                                        "type" : "integer",
683                                        "typetext" : "integer (0 - N)"
684                                     },
685                                     "proto" : {
686                                        "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
687                                        "format" : "pve-fw-protocol-spec",
688                                        "optional" : 1,
689                                        "type" : "string"
690                                     },
691                                     "source" : {
692                                        "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
693                                        "format" : "pve-fw-addr-spec",
694                                        "optional" : 1,
695                                        "type" : "string"
696                                     },
697                                     "sport" : {
698                                        "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
699                                        "format" : "pve-fw-sport-spec",
700                                        "optional" : 1,
701                                        "type" : "string"
702                                     },
703                                     "type" : {
704                                        "description" : "Rule type.",
705                                        "enum" : [
706                                           "in",
707                                           "out",
708                                           "group"
709                                        ],
710                                        "optional" : 1,
711                                        "type" : "string"
712                                     }
713                                  }
714                               },
715                               "permissions" : {
716                                  "check" : [
717                                     "perm",
718                                     "/",
719                                     [
720                                        "Sys.Modify"
721                                     ]
722                                  ]
723                               },
724                               "protected" : 1,
725                               "proxyto" : null,
726                               "returns" : {
727                                  "type" : "null"
728                               }
729                            }
730                         },
731                         "leaf" : 1,
732                         "path" : "/cluster/firewall/rules/{pos}",
733                         "text" : "{pos}"
734                      }
735                   ],
736                   "info" : {
737                      "GET" : {
738                         "description" : "List rules.",
739                         "method" : "GET",
740                         "name" : "get_rules",
741                         "parameters" : {
742                            "additionalProperties" : 0
743                         },
744                         "permissions" : {
745                            "check" : [
746                               "perm",
747                               "/",
748                               [
749                                  "Sys.Audit"
750                               ]
751                            ]
752                         },
753                         "proxyto" : null,
754                         "returns" : {
755                            "items" : {
756                               "properties" : {
757                                  "pos" : {
758                                     "type" : "integer"
759                                  }
760                               },
761                               "type" : "object"
762                            },
763                            "links" : [
764                               {
765                                  "href" : "{pos}",
766                                  "rel" : "child"
767                               }
768                            ],
769                            "type" : "array"
770                         }
771                      },
772                      "POST" : {
773                         "description" : "Create new rule.",
774                         "method" : "POST",
775                         "name" : "create_rule",
776                         "parameters" : {
777                            "additionalProperties" : 0,
778                            "properties" : {
779                               "action" : {
780                                  "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
781                                  "maxLength" : 20,
782                                  "minLength" : 2,
783                                  "optional" : 0,
784                                  "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
785                                  "type" : "string"
786                               },
787                               "comment" : {
788                                  "description" : "Descriptive comment.",
789                                  "optional" : 1,
790                                  "type" : "string"
791                               },
792                               "dest" : {
793                                  "description" : "Restrict packet destination address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
794                                  "format" : "pve-fw-addr-spec",
795                                  "optional" : 1,
796                                  "type" : "string"
797                               },
798                               "digest" : {
799                                  "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
800                                  "maxLength" : 40,
801                                  "optional" : 1,
802                                  "type" : "string"
803                               },
804                               "dport" : {
805                                  "description" : "Restrict TCP/UDP destination port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
806                                  "format" : "pve-fw-dport-spec",
807                                  "optional" : 1,
808                                  "type" : "string"
809                               },
810                               "enable" : {
811                                  "description" : "Flag to enable/disable a rule.",
812                                  "minimum" : 0,
813                                  "optional" : 1,
814                                  "type" : "integer",
815                                  "typetext" : "integer (0 - N)"
816                               },
817                               "iface" : {
818                                  "description" : "Network interface name. You have to use network configuration key names for VMs and containers ('net\\d+'). Host related rules can use arbitrary strings.",
819                                  "format" : "pve-iface",
820                                  "maxLength" : 20,
821                                  "minLength" : 2,
822                                  "optional" : 1,
823                                  "type" : "string"
824                               },
825                               "macro" : {
826                                  "description" : "Use predefined standard macro.",
827                                  "maxLength" : 128,
828                                  "optional" : 1,
829                                  "type" : "string"
830                               },
831                               "pos" : {
832                                  "description" : "Update rule at position <pos>.",
833                                  "minimum" : 0,
834                                  "optional" : 1,
835                                  "type" : "integer",
836                                  "typetext" : "integer (0 - N)"
837                               },
838                               "proto" : {
839                                  "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
840                                  "format" : "pve-fw-protocol-spec",
841                                  "optional" : 1,
842                                  "type" : "string"
843                               },
844                               "source" : {
845                                  "description" : "Restrict packet source address. This can refer to a single IP address, an IP set ('+ipsetname') or an IP alias definition. You can also specify an address range like '20.34.101.207-201.3.9.99', or a list of IP addresses and networks (entries are separated by comma). Please do not mix IPv4 and IPv6 addresses inside such lists.",
846                                  "format" : "pve-fw-addr-spec",
847                                  "optional" : 1,
848                                  "type" : "string"
849                               },
850                               "sport" : {
851                                  "description" : "Restrict TCP/UDP source port. You can use service names or simple numbers (0-65535), as defined in '/etc/services'. Port ranges can be specified with '\\d+:\\d+', for example '80:85', and you can use comma separated list to match several ports or ranges.",
852                                  "format" : "pve-fw-sport-spec",
853                                  "optional" : 1,
854                                  "type" : "string"
855                               },
856                               "type" : {
857                                  "description" : "Rule type.",
858                                  "enum" : [
859                                     "in",
860                                     "out",
861                                     "group"
862                                  ],
863                                  "optional" : 0,
864                                  "type" : "string"
865                               }
866                            }
867                         },
868                         "permissions" : {
869                            "check" : [
870                               "perm",
871                               "/",
872                               [
873                                  "Sys.Modify"
874                               ]
875                            ]
876                         },
877                         "protected" : 1,
878                         "proxyto" : null,
879                         "returns" : {
880                            "type" : "null"
881                         }
882                      }
883                   },
884                   "leaf" : 0,
885                   "path" : "/cluster/firewall/rules",
886                   "text" : "rules"
887                },
888                {
889                   "children" : [
890                      {
891                         "children" : [
892                            {
893                               "info" : {
894                                  "DELETE" : {
895                                     "description" : "Remove IP or Network from IPSet.",
896                                     "method" : "DELETE",
897                                     "name" : "remove_ip",
898                                     "parameters" : {
899                                        "additionalProperties" : 0,
900                                        "properties" : {
901                                           "cidr" : {
902                                              "description" : "Network/IP specification in CIDR format.",
903                                              "format" : "IPorCIDRorAlias",
904                                              "type" : "string"
905                                           },
906                                           "digest" : {
907                                              "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
908                                              "maxLength" : 40,
909                                              "optional" : 1,
910                                              "type" : "string"
911                                           },
912                                           "name" : {
913                                              "description" : "IP set name.",
914                                              "maxLength" : 64,
915                                              "minLength" : 2,
916                                              "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
917                                              "type" : "string"
918                                           }
919                                        }
920                                     },
921                                     "permissions" : {
922                                        "check" : [
923                                           "perm",
924                                           "/",
925                                           [
926                                              "Sys.Modify"
927                                           ]
928                                        ]
929                                     },
930                                     "protected" : 1,
931                                     "returns" : {
932                                        "type" : "null"
933                                     }
934                                  },
935                                  "GET" : {
936                                     "description" : "Read IP or Network settings from IPSet.",
937                                     "method" : "GET",
938                                     "name" : "read_ip",
939                                     "parameters" : {
940                                        "additionalProperties" : 0,
941                                        "properties" : {
942                                           "cidr" : {
943                                              "description" : "Network/IP specification in CIDR format.",
944                                              "format" : "IPorCIDRorAlias",
945                                              "type" : "string"
946                                           },
947                                           "name" : {
948                                              "description" : "IP set name.",
949                                              "maxLength" : 64,
950                                              "minLength" : 2,
951                                              "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
952                                              "type" : "string"
953                                           }
954                                        }
955                                     },
956                                     "permissions" : {
957                                        "check" : [
958                                           "perm",
959                                           "/",
960                                           [
961                                              "Sys.Audit"
962                                           ]
963                                        ]
964                                     },
965                                     "protected" : 1,
966                                     "returns" : {
967                                        "type" : "object"
968                                     }
969                                  },
970                                  "PUT" : {
971                                     "description" : "Update IP or Network settings",
972                                     "method" : "PUT",
973                                     "name" : "update_ip",
974                                     "parameters" : {
975                                        "additionalProperties" : 0,
976                                        "properties" : {
977                                           "cidr" : {
978                                              "description" : "Network/IP specification in CIDR format.",
979                                              "format" : "IPorCIDRorAlias",
980                                              "type" : "string"
981                                           },
982                                           "comment" : {
983                                              "optional" : 1,
984                                              "type" : "string"
985                                           },
986                                           "digest" : {
987                                              "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
988                                              "maxLength" : 40,
989                                              "optional" : 1,
990                                              "type" : "string"
991                                           },
992                                           "name" : {
993                                              "description" : "IP set name.",
994                                              "maxLength" : 64,
995                                              "minLength" : 2,
996                                              "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
997                                              "type" : "string"
998                                           },
999                                           "nomatch" : {
1000                                              "optional" : 1,
1001                                              "type" : "boolean"
1002                                           }
1003                                        }
1004                                     },
1005                                     "permissions" : {
1006                                        "check" : [
1007                                           "perm",
1008                                           "/",
1009                                           [
1010                                              "Sys.Modify"
1011                                           ]
1012                                        ]
1013                                     },
1014                                     "protected" : 1,
1015                                     "returns" : {
1016                                        "type" : "null"
1017                                     }
1018                                  }
1019                               },
1020                               "leaf" : 1,
1021                               "path" : "/cluster/firewall/ipset/{name}/{cidr}",
1022                               "text" : "{cidr}"
1023                            }
1024                         ],
1025                         "info" : {
1026                            "DELETE" : {
1027                               "description" : "Delete IPSet",
1028                               "method" : "DELETE",
1029                               "name" : "delete_ipset",
1030                               "parameters" : {
1031                                  "additionalProperties" : 0,
1032                                  "properties" : {
1033                                     "name" : {
1034                                        "description" : "IP set name.",
1035                                        "maxLength" : 64,
1036                                        "minLength" : 2,
1037                                        "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1038                                        "type" : "string"
1039                                     }
1040                                  }
1041                               },
1042                               "permissions" : {
1043                                  "check" : [
1044                                     "perm",
1045                                     "/",
1046                                     [
1047                                        "Sys.Modify"
1048                                     ]
1049                                  ]
1050                               },
1051                               "protected" : 1,
1052                               "returns" : {
1053                                  "type" : "null"
1054                               }
1055                            },
1056                            "GET" : {
1057                               "description" : "List IPSet content",
1058                               "method" : "GET",
1059                               "name" : "get_ipset",
1060                               "parameters" : {
1061                                  "additionalProperties" : 0,
1062                                  "properties" : {
1063                                     "name" : {
1064                                        "description" : "IP set name.",
1065                                        "maxLength" : 64,
1066                                        "minLength" : 2,
1067                                        "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1068                                        "type" : "string"
1069                                     }
1070                                  }
1071                               },
1072                               "permissions" : {
1073                                  "check" : [
1074                                     "perm",
1075                                     "/",
1076                                     [
1077                                        "Sys.Audit"
1078                                     ]
1079                                  ]
1080                               },
1081                               "returns" : {
1082                                  "items" : {
1083                                     "properties" : {
1084                                        "cidr" : {
1085                                           "type" : "string"
1086                                        },
1087                                        "comment" : {
1088                                           "optional" : 1,
1089                                           "type" : "string"
1090                                        },
1091                                        "digest" : {
1092                                           "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1093                                           "maxLength" : 40,
1094                                           "optional" : 0,
1095                                           "type" : "string"
1096                                        },
1097                                        "nomatch" : {
1098                                           "optional" : 1,
1099                                           "type" : "boolean"
1100                                        }
1101                                     },
1102                                     "type" : "object"
1103                                  },
1104                                  "links" : [
1105                                     {
1106                                        "href" : "{cidr}",
1107                                        "rel" : "child"
1108                                     }
1109                                  ],
1110                                  "type" : "array"
1111                               }
1112                            },
1113                            "POST" : {
1114                               "description" : "Add IP or Network to IPSet.",
1115                               "method" : "POST",
1116                               "name" : "create_ip",
1117                               "parameters" : {
1118                                  "additionalProperties" : 0,
1119                                  "properties" : {
1120                                     "cidr" : {
1121                                        "description" : "Network/IP specification in CIDR format.",
1122                                        "format" : "IPorCIDRorAlias",
1123                                        "type" : "string"
1124                                     },
1125                                     "comment" : {
1126                                        "optional" : 1,
1127                                        "type" : "string"
1128                                     },
1129                                     "name" : {
1130                                        "description" : "IP set name.",
1131                                        "maxLength" : 64,
1132                                        "minLength" : 2,
1133                                        "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1134                                        "type" : "string"
1135                                     },
1136                                     "nomatch" : {
1137                                        "optional" : 1,
1138                                        "type" : "boolean"
1139                                     }
1140                                  }
1141                               },
1142                               "permissions" : {
1143                                  "check" : [
1144                                     "perm",
1145                                     "/",
1146                                     [
1147                                        "Sys.Modify"
1148                                     ]
1149                                  ]
1150                               },
1151                               "protected" : 1,
1152                               "returns" : {
1153                                  "type" : "null"
1154                               }
1155                            }
1156                         },
1157                         "leaf" : 0,
1158                         "path" : "/cluster/firewall/ipset/{name}",
1159                         "text" : "{name}"
1160                      }
1161                   ],
1162                   "info" : {
1163                      "GET" : {
1164                         "description" : "List IPSets",
1165                         "method" : "GET",
1166                         "name" : "ipset_index",
1167                         "parameters" : {
1168                            "additionalProperties" : 0
1169                         },
1170                         "permissions" : {
1171                            "check" : [
1172                               "perm",
1173                               "/",
1174                               [
1175                                  "Sys.Audit"
1176                               ]
1177                            ]
1178                         },
1179                         "returns" : {
1180                            "items" : {
1181                               "properties" : {
1182                                  "comment" : {
1183                                     "optional" : 1,
1184                                     "type" : "string"
1185                                  },
1186                                  "digest" : {
1187                                     "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1188                                     "maxLength" : 40,
1189                                     "optional" : 0,
1190                                     "type" : "string"
1191                                  },
1192                                  "name" : {
1193                                     "description" : "IP set name.",
1194                                     "maxLength" : 64,
1195                                     "minLength" : 2,
1196                                     "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1197                                     "type" : "string"
1198                                  }
1199                               },
1200                               "type" : "object"
1201                            },
1202                            "links" : [
1203                               {
1204                                  "href" : "{name}",
1205                                  "rel" : "child"
1206                               }
1207                            ],
1208                            "type" : "array"
1209                         }
1210                      },
1211                      "POST" : {
1212                         "description" : "Create new IPSet",
1213                         "method" : "POST",
1214                         "name" : "create_ipset",
1215                         "parameters" : {
1216                            "additionalProperties" : 0,
1217                            "properties" : {
1218                               "comment" : {
1219                                  "optional" : 1,
1220                                  "type" : "string"
1221                               },
1222                               "digest" : {
1223                                  "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1224                                  "maxLength" : 40,
1225                                  "optional" : 1,
1226                                  "type" : "string"
1227                               },
1228                               "name" : {
1229                                  "description" : "IP set name.",
1230                                  "maxLength" : 64,
1231                                  "minLength" : 2,
1232                                  "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1233                                  "type" : "string"
1234                               },
1235                               "rename" : {
1236                                  "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
1237                                  "maxLength" : 64,
1238                                  "minLength" : 2,
1239                                  "optional" : 1,
1240                                  "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1241                                  "type" : "string"
1242                               }
1243                            }
1244                         },
1245                         "permissions" : {
1246                            "check" : [
1247                               "perm",
1248                               "/",
1249                               [
1250                                  "Sys.Modify"
1251                               ]
1252                            ]
1253                         },
1254                         "protected" : 1,
1255                         "returns" : {
1256                            "type" : "null"
1257                         }
1258                      }
1259                   },
1260                   "leaf" : 0,
1261                   "path" : "/cluster/firewall/ipset",
1262                   "text" : "ipset"
1263                },
1264                {
1265                   "children" : [
1266                      {
1267                         "info" : {
1268                            "DELETE" : {
1269                               "description" : "Remove IP or Network alias.",
1270                               "method" : "DELETE",
1271                               "name" : "remove_alias",
1272                               "parameters" : {
1273                                  "additionalProperties" : 0,
1274                                  "properties" : {
1275                                     "digest" : {
1276                                        "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1277                                        "maxLength" : 40,
1278                                        "optional" : 1,
1279                                        "type" : "string"
1280                                     },
1281                                     "name" : {
1282                                        "description" : "Alias name.",
1283                                        "maxLength" : 64,
1284                                        "minLength" : 2,
1285                                        "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1286                                        "type" : "string"
1287                                     }
1288                                  }
1289                               },
1290                               "permissions" : {
1291                                  "check" : [
1292                                     "perm",
1293                                     "/",
1294                                     [
1295                                        "Sys.Modify"
1296                                     ]
1297                                  ]
1298                               },
1299                               "protected" : 1,
1300                               "returns" : {
1301                                  "type" : "null"
1302                               }
1303                            },
1304                            "GET" : {
1305                               "description" : "Read alias.",
1306                               "method" : "GET",
1307                               "name" : "read_alias",
1308                               "parameters" : {
1309                                  "additionalProperties" : 0,
1310                                  "properties" : {
1311                                     "name" : {
1312                                        "description" : "Alias name.",
1313                                        "maxLength" : 64,
1314                                        "minLength" : 2,
1315                                        "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1316                                        "type" : "string"
1317                                     }
1318                                  }
1319                               },
1320                               "permissions" : {
1321                                  "check" : [
1322                                     "perm",
1323                                     "/",
1324                                     [
1325                                        "Sys.Audit"
1326                                     ]
1327                                  ]
1328                               },
1329                               "returns" : {
1330                                  "type" : "object"
1331                               }
1332                            },
1333                            "PUT" : {
1334                               "description" : "Update IP or Network alias.",
1335                               "method" : "PUT",
1336                               "name" : "update_alias",
1337                               "parameters" : {
1338                                  "additionalProperties" : 0,
1339                                  "properties" : {
1340                                     "cidr" : {
1341                                        "description" : "Network/IP specification in CIDR format.",
1342                                        "format" : "IPorCIDR",
1343                                        "type" : "string"
1344                                     },
1345                                     "comment" : {
1346                                        "optional" : 1,
1347                                        "type" : "string"
1348                                     },
1349                                     "digest" : {
1350                                        "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1351                                        "maxLength" : 40,
1352                                        "optional" : 1,
1353                                        "type" : "string"
1354                                     },
1355                                     "name" : {
1356                                        "description" : "Alias name.",
1357                                        "maxLength" : 64,
1358                                        "minLength" : 2,
1359                                        "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1360                                        "type" : "string"
1361                                     },
1362                                     "rename" : {
1363                                        "description" : "Rename an existing alias.",
1364                                        "maxLength" : 64,
1365                                        "minLength" : 2,
1366                                        "optional" : 1,
1367                                        "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1368                                        "type" : "string"
1369                                     }
1370                                  }
1371                               },
1372                               "permissions" : {
1373                                  "check" : [
1374                                     "perm",
1375                                     "/",
1376                                     [
1377                                        "Sys.Modify"
1378                                     ]
1379                                  ]
1380                               },
1381                               "protected" : 1,
1382                               "returns" : {
1383                                  "type" : "null"
1384                               }
1385                            }
1386                         },
1387                         "leaf" : 1,
1388                         "path" : "/cluster/firewall/aliases/{name}",
1389                         "text" : "{name}"
1390                      }
1391                   ],
1392                   "info" : {
1393                      "GET" : {
1394                         "description" : "List aliases",
1395                         "method" : "GET",
1396                         "name" : "get_aliases",
1397                         "parameters" : {
1398                            "additionalProperties" : 0
1399                         },
1400                         "permissions" : {
1401                            "check" : [
1402                               "perm",
1403                               "/",
1404                               [
1405                                  "Sys.Audit"
1406                               ]
1407                            ]
1408                         },
1409                         "returns" : {
1410                            "items" : {
1411                               "properties" : {
1412                                  "cidr" : {
1413                                     "type" : "string"
1414                                  },
1415                                  "comment" : {
1416                                     "optional" : 1,
1417                                     "type" : "string"
1418                                  },
1419                                  "digest" : {
1420                                     "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1421                                     "maxLength" : 40,
1422                                     "optional" : 0,
1423                                     "type" : "string"
1424                                  },
1425                                  "name" : {
1426                                     "type" : "string"
1427                                  }
1428                               },
1429                               "type" : "object"
1430                            },
1431                            "links" : [
1432                               {
1433                                  "href" : "{name}",
1434                                  "rel" : "child"
1435                               }
1436                            ],
1437                            "type" : "array"
1438                         }
1439                      },
1440                      "POST" : {
1441                         "description" : "Create IP or Network Alias.",
1442                         "method" : "POST",
1443                         "name" : "create_alias",
1444                         "parameters" : {
1445                            "additionalProperties" : 0,
1446                            "properties" : {
1447                               "cidr" : {
1448                                  "description" : "Network/IP specification in CIDR format.",
1449                                  "format" : "IPorCIDR",
1450                                  "type" : "string"
1451                               },
1452                               "comment" : {
1453                                  "optional" : 1,
1454                                  "type" : "string"
1455                               },
1456                               "name" : {
1457                                  "description" : "Alias name.",
1458                                  "maxLength" : 64,
1459                                  "minLength" : 2,
1460                                  "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1461                                  "type" : "string"
1462                               }
1463                            }
1464                         },
1465                         "permissions" : {
1466                            "check" : [
1467                               "perm",
1468                               "/",
1469                               [
1470                                  "Sys.Modify"
1471                               ]
1472                            ]
1473                         },
1474                         "protected" : 1,
1475                         "returns" : {
1476                            "type" : "null"
1477                         }
1478                      }
1479                   },
1480                   "leaf" : 0,
1481                   "path" : "/cluster/firewall/aliases",
1482                   "text" : "aliases"
1483                },
1484                {
1485                   "info" : {
1486                      "GET" : {
1487                         "description" : "Get Firewall options.",
1488                         "method" : "GET",
1489                         "name" : "get_options",
1490                         "parameters" : {
1491                            "additionalProperties" : 0
1492                         },
1493                         "permissions" : {
1494                            "check" : [
1495                               "perm",
1496                               "/",
1497                               [
1498                                  "Sys.Audit"
1499                               ]
1500                            ]
1501                         },
1502                         "returns" : {
1503                            "properties" : {
1504                               "enable" : {
1505                                  "description" : "Enable or disable the firewall cluster wide.",
1506                                  "minimum" : 0,
1507                                  "optional" : 1,
1508                                  "type" : "integer"
1509                               },
1510                               "policy_in" : {
1511                                  "description" : "Input policy.",
1512                                  "enum" : [
1513                                     "ACCEPT",
1514                                     "REJECT",
1515                                     "DROP"
1516                                  ],
1517                                  "optional" : 1,
1518                                  "type" : "string"
1519                               },
1520                               "policy_out" : {
1521                                  "description" : "Output policy.",
1522                                  "enum" : [
1523                                     "ACCEPT",
1524                                     "REJECT",
1525                                     "DROP"
1526                                  ],
1527                                  "optional" : 1,
1528                                  "type" : "string"
1529                               }
1530                            },
1531                            "type" : "object"
1532                         }
1533                      },
1534                      "PUT" : {
1535                         "description" : "Set Firewall options.",
1536                         "method" : "PUT",
1537                         "name" : "set_options",
1538                         "parameters" : {
1539                            "additionalProperties" : 0,
1540                            "properties" : {
1541                               "delete" : {
1542                                  "description" : "A list of settings you want to delete.",
1543                                  "format" : "pve-configid-list",
1544                                  "optional" : 1,
1545                                  "type" : "string"
1546                               },
1547                               "digest" : {
1548                                  "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1549                                  "maxLength" : 40,
1550                                  "optional" : 1,
1551                                  "type" : "string"
1552                               },
1553                               "enable" : {
1554                                  "description" : "Enable or disable the firewall cluster wide.",
1555                                  "minimum" : 0,
1556                                  "optional" : 1,
1557                                  "type" : "integer",
1558                                  "typetext" : "integer (0 - N)"
1559                               },
1560                               "policy_in" : {
1561                                  "description" : "Input policy.",
1562                                  "enum" : [
1563                                     "ACCEPT",
1564                                     "REJECT",
1565                                     "DROP"
1566                                  ],
1567                                  "optional" : 1,
1568                                  "type" : "string"
1569                               },
1570                               "policy_out" : {
1571                                  "description" : "Output policy.",
1572                                  "enum" : [
1573                                     "ACCEPT",
1574                                     "REJECT",
1575                                     "DROP"
1576                                  ],
1577                                  "optional" : 1,
1578                                  "type" : "string"
1579                               }
1580                            }
1581                         },
1582                         "permissions" : {
1583                            "check" : [
1584                               "perm",
1585                               "/",
1586                               [
1587                                  "Sys.Modify"
1588                               ]
1589                            ]
1590                         },
1591                         "protected" : 1,
1592                         "returns" : {
1593                            "type" : "null"
1594                         }
1595                      }
1596                   },
1597                   "leaf" : 1,
1598                   "path" : "/cluster/firewall/options",
1599                   "text" : "options"
1600                },
1601                {
1602                   "info" : {
1603                      "GET" : {
1604                         "description" : "List available macros",
1605                         "method" : "GET",
1606                         "name" : "get_macros",
1607                         "parameters" : {
1608                            "additionalProperties" : 0
1609                         },
1610                         "permissions" : {
1611                            "user" : "all"
1612                         },
1613                         "returns" : {
1614                            "items" : {
1615                               "properties" : {
1616                                  "descr" : {
1617                                     "description" : "More verbose description (if available).",
1618                                     "type" : "string"
1619                                  },
1620                                  "macro" : {
1621                                     "description" : "Macro name.",
1622                                     "type" : "string"
1623                                  }
1624                               },
1625                               "type" : "object"
1626                            },
1627                            "type" : "array"
1628                         }
1629                      }
1630                   },
1631                   "leaf" : 1,
1632                   "path" : "/cluster/firewall/macros",
1633                   "text" : "macros"
1634                },
1635                {
1636                   "info" : {
1637                      "GET" : {
1638                         "description" : "Lists possible IPSet/Alias reference which are allowed in source/dest properties.",
1639                         "method" : "GET",
1640                         "name" : "refs",
1641                         "parameters" : {
1642                            "additionalProperties" : 0,
1643                            "properties" : {
1644                               "type" : {
1645                                  "description" : "Only list references of specified type.",
1646                                  "enum" : [
1647                                     "alias",
1648                                     "ipset"
1649                                  ],
1650                                  "optional" : 1,
1651                                  "type" : "string"
1652                               }
1653                            }
1654                         },
1655                         "permissions" : {
1656                            "check" : [
1657                               "perm",
1658                               "/",
1659                               [
1660                                  "Sys.Audit"
1661                               ]
1662                            ]
1663                         },
1664                         "returns" : {
1665                            "items" : {
1666                               "properties" : {
1667                                  "comment" : {
1668                                     "optional" : 1,
1669                                     "type" : "string"
1670                                  },
1671                                  "name" : {
1672                                     "type" : "string"
1673                                  },
1674                                  "ref" : {
1675                                     "type" : "string"
1676                                  },
1677                                  "type" : {
1678                                     "enum" : [
1679                                        "alias",
1680                                        "ipset"
1681                                     ],
1682                                     "type" : "string"
1683                                  }
1684                               },
1685                               "type" : "object"
1686                            },
1687                            "type" : "array"
1688                         }
1689                      }
1690                   },
1691                   "leaf" : 1,
1692                   "path" : "/cluster/firewall/refs",
1693                   "text" : "refs"
1694                }
1695             ],
1696             "info" : {
1697                "GET" : {
1698                   "description" : "Directory index.",
1699                   "method" : "GET",
1700                   "name" : "index",
1701                   "parameters" : {
1702                      "additionalProperties" : 0
1703                   },
1704                   "permissions" : {
1705                      "user" : "all"
1706                   },
1707                   "returns" : {
1708                      "items" : {
1709                         "properties" : {},
1710                         "type" : "object"
1711                      },
1712                      "links" : [
1713                         {
1714                            "href" : "{name}",
1715                            "rel" : "child"
1716                         }
1717                      ],
1718                      "type" : "array"
1719                   }
1720                }
1721             },
1722             "leaf" : 0,
1723             "path" : "/cluster/firewall",
1724             "text" : "firewall"
1725          },
1726          {
1727             "children" : [
1728                {
1729                   "info" : {
1730                      "DELETE" : {
1731                         "description" : "Delete vzdump backup job definition.",
1732                         "method" : "DELETE",
1733                         "name" : "delete_job",
1734                         "parameters" : {
1735                            "additionalProperties" : 0,
1736                            "properties" : {
1737                               "id" : {
1738                                  "description" : "The job ID.",
1739                                  "maxLength" : 50,
1740                                  "type" : "string"
1741                               }
1742                            }
1743                         },
1744                         "permissions" : {
1745                            "check" : [
1746                               "perm",
1747                               "/",
1748                               [
1749                                  "Sys.Modify"
1750                               ]
1751                            ]
1752                         },
1753                         "protected" : 1,
1754                         "returns" : {
1755                            "type" : "null"
1756                         }
1757                      },
1758                      "GET" : {
1759                         "description" : "Read vzdump backup job definition.",
1760                         "method" : "GET",
1761                         "name" : "read_job",
1762                         "parameters" : {
1763                            "additionalProperties" : 0,
1764                            "properties" : {
1765                               "id" : {
1766                                  "description" : "The job ID.",
1767                                  "maxLength" : 50,
1768                                  "type" : "string"
1769                               }
1770                            }
1771                         },
1772                         "permissions" : {
1773                            "check" : [
1774                               "perm",
1775                               "/",
1776                               [
1777                                  "Sys.Audit"
1778                               ]
1779                            ]
1780                         },
1781                         "returns" : {
1782                            "type" : "object"
1783                         }
1784                      },
1785                      "PUT" : {
1786                         "description" : "Update vzdump backup job definition.",
1787                         "method" : "PUT",
1788                         "name" : "update_job",
1789                         "parameters" : {
1790                            "additionalProperties" : 0,
1791                            "properties" : {
1792                               "all" : {
1793                                  "default" : 0,
1794                                  "description" : "Backup all known guest systems on this host.",
1795                                  "optional" : 1,
1796                                  "type" : "boolean"
1797                               },
1798                               "bwlimit" : {
1799                                  "default" : 0,
1800                                  "description" : "Limit I/O bandwidth (KBytes per second).",
1801                                  "minimum" : 0,
1802                                  "optional" : 1,
1803                                  "type" : "integer",
1804                                  "typetext" : "integer (0 - N)"
1805                               },
1806                               "compress" : {
1807                                  "default" : "0",
1808                                  "description" : "Compress dump file.",
1809                                  "enum" : [
1810                                     "0",
1811                                     "1",
1812                                     "gzip",
1813                                     "lzo"
1814                                  ],
1815                                  "optional" : 1,
1816                                  "type" : "string"
1817                               },
1818                               "delete" : {
1819                                  "description" : "A list of settings you want to delete.",
1820                                  "format" : "pve-configid-list",
1821                                  "optional" : 1,
1822                                  "type" : "string"
1823                               },
1824                               "dow" : {
1825                                  "description" : "Day of week selection.",
1826                                  "format" : "pve-day-of-week-list",
1827                                  "optional" : 1,
1828                                  "type" : "string"
1829                               },
1830                               "dumpdir" : {
1831                                  "description" : "Store resulting files to specified directory.",
1832                                  "optional" : 1,
1833                                  "type" : "string"
1834                               },
1835                               "enabled" : {
1836                                  "default" : "1",
1837                                  "description" : "Enable or disable the job.",
1838                                  "optional" : 1,
1839                                  "type" : "boolean"
1840                               },
1841                               "exclude" : {
1842                                  "description" : "Exclude specified guest systems (assumes --all)",
1843                                  "format" : "pve-vmid-list",
1844                                  "optional" : 1,
1845                                  "type" : "string"
1846                               },
1847                               "exclude-path" : {
1848                                  "description" : "Exclude certain files/directories (shell globs).",
1849                                  "format" : "string-alist",
1850                                  "optional" : 1,
1851                                  "type" : "string"
1852                               },
1853                               "id" : {
1854                                  "description" : "The job ID.",
1855                                  "maxLength" : 50,
1856                                  "type" : "string"
1857                               },
1858                               "ionice" : {
1859                                  "default" : 7,
1860                                  "description" : "Set CFQ ionice priority.",
1861                                  "maximum" : 8,
1862                                  "minimum" : 0,
1863                                  "optional" : 1,
1864                                  "type" : "integer",
1865                                  "typetext" : "integer (0 - 8)"
1866                               },
1867                               "lockwait" : {
1868                                  "default" : 180,
1869                                  "description" : "Maximal time to wait for the global lock (minutes).",
1870                                  "minimum" : 0,
1871                                  "optional" : 1,
1872                                  "type" : "integer",
1873                                  "typetext" : "integer (0 - N)"
1874                               },
1875                               "mailnotification" : {
1876                                  "default" : "always",
1877                                  "description" : "Specify when to send an email",
1878                                  "enum" : [
1879                                     "always",
1880                                     "failure"
1881                                  ],
1882                                  "optional" : 1,
1883                                  "type" : "string"
1884                               },
1885                               "mailto" : {
1886                                  "description" : "Comma-separated list of email addresses that should receive email notifications.",
1887                                  "format" : "string-list",
1888                                  "optional" : 1,
1889                                  "type" : "string"
1890                               },
1891                               "maxfiles" : {
1892                                  "default" : 1,
1893                                  "description" : "Maximal number of backup files per guest system.",
1894                                  "minimum" : 1,
1895                                  "optional" : 1,
1896                                  "type" : "integer",
1897                                  "typetext" : "integer (1 - N)"
1898                               },
1899                               "mode" : {
1900                                  "default" : "snapshot",
1901                                  "description" : "Backup mode.",
1902                                  "enum" : [
1903                                     "snapshot",
1904                                     "suspend",
1905                                     "stop"
1906                                  ],
1907                                  "optional" : 1,
1908                                  "type" : "string"
1909                               },
1910                               "node" : {
1911                                  "description" : "Only run if executed on this node.",
1912                                  "format" : "pve-node",
1913                                  "optional" : 1,
1914                                  "type" : "string"
1915                               },
1916                               "pigz" : {
1917                                  "default" : 0,
1918                                  "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
1919                                  "optional" : 1,
1920                                  "type" : "integer"
1921                               },
1922                               "quiet" : {
1923                                  "default" : 0,
1924                                  "description" : "Be quiet.",
1925                                  "optional" : 1,
1926                                  "type" : "boolean"
1927                               },
1928                               "remove" : {
1929                                  "default" : 1,
1930                                  "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
1931                                  "optional" : 1,
1932                                  "type" : "boolean"
1933                               },
1934                               "script" : {
1935                                  "description" : "Use specified hook script.",
1936                                  "optional" : 1,
1937                                  "type" : "string"
1938                               },
1939                               "size" : {
1940                                  "default" : 1024,
1941                                  "description" : "Unused, will be removed in a future release.",
1942                                  "minimum" : 500,
1943                                  "optional" : 1,
1944                                  "type" : "integer",
1945                                  "typetext" : "integer (500 - N)"
1946                               },
1947                               "starttime" : {
1948                                  "description" : "Job Start time.",
1949                                  "pattern" : "\\d{1,2}:\\d{1,2}",
1950                                  "type" : "string",
1951                                  "typetext" : "HH:MM"
1952                               },
1953                               "stdexcludes" : {
1954                                  "default" : 1,
1955                                  "description" : "Exclude temporary files and logs.",
1956                                  "optional" : 1,
1957                                  "type" : "boolean"
1958                               },
1959                               "stop" : {
1960                                  "default" : 0,
1961                                  "description" : "Stop runnig backup jobs on this host.",
1962                                  "optional" : 1,
1963                                  "type" : "boolean"
1964                               },
1965                               "stopwait" : {
1966                                  "default" : 10,
1967                                  "description" : "Maximal time to wait until a guest system is stopped (minutes).",
1968                                  "minimum" : 0,
1969                                  "optional" : 1,
1970                                  "type" : "integer",
1971                                  "typetext" : "integer (0 - N)"
1972                               },
1973                               "storage" : {
1974                                  "description" : "Store resulting file to this storage.",
1975                                  "format" : "pve-storage-id",
1976                                  "optional" : 1,
1977                                  "type" : "string"
1978                               },
1979                               "tmpdir" : {
1980                                  "description" : "Store temporary files to specified directory.",
1981                                  "optional" : 1,
1982                                  "type" : "string"
1983                               },
1984                               "vmid" : {
1985                                  "description" : "The ID of the guest system you want to backup.",
1986                                  "format" : "pve-vmid-list",
1987                                  "optional" : 1,
1988                                  "type" : "string"
1989                               }
1990                            }
1991                         },
1992                         "permissions" : {
1993                            "check" : [
1994                               "perm",
1995                               "/",
1996                               [
1997                                  "Sys.Modify"
1998                               ]
1999                            ]
2000                         },
2001                         "protected" : 1,
2002                         "returns" : {
2003                            "type" : "null"
2004                         }
2005                      }
2006                   },
2007                   "leaf" : 1,
2008                   "path" : "/cluster/backup/{id}",
2009                   "text" : "{id}"
2010                }
2011             ],
2012             "info" : {
2013                "GET" : {
2014                   "description" : "List vzdump backup schedule.",
2015                   "method" : "GET",
2016                   "name" : "index",
2017                   "parameters" : {
2018                      "additionalProperties" : 0
2019                   },
2020                   "permissions" : {
2021                      "check" : [
2022                         "perm",
2023                         "/",
2024                         [
2025                            "Sys.Audit"
2026                         ]
2027                      ]
2028                   },
2029                   "returns" : {
2030                      "items" : {
2031                         "properties" : {
2032                            "id" : {
2033                               "type" : "string"
2034                            }
2035                         },
2036                         "type" : "object"
2037                      },
2038                      "links" : [
2039                         {
2040                            "href" : "{id}",
2041                            "rel" : "child"
2042                         }
2043                      ],
2044                      "type" : "array"
2045                   }
2046                },
2047                "POST" : {
2048                   "description" : "Create new vzdump backup job.",
2049                   "method" : "POST",
2050                   "name" : "create_job",
2051                   "parameters" : {
2052                      "additionalProperties" : 0,
2053                      "properties" : {
2054                         "all" : {
2055                            "default" : 0,
2056                            "description" : "Backup all known guest systems on this host.",
2057                            "optional" : 1,
2058                            "type" : "boolean"
2059                         },
2060                         "bwlimit" : {
2061                            "default" : 0,
2062                            "description" : "Limit I/O bandwidth (KBytes per second).",
2063                            "minimum" : 0,
2064                            "optional" : 1,
2065                            "type" : "integer",
2066                            "typetext" : "integer (0 - N)"
2067                         },
2068                         "compress" : {
2069                            "default" : "0",
2070                            "description" : "Compress dump file.",
2071                            "enum" : [
2072                               "0",
2073                               "1",
2074                               "gzip",
2075                               "lzo"
2076                            ],
2077                            "optional" : 1,
2078                            "type" : "string"
2079                         },
2080                         "dow" : {
2081                            "default" : "mon,tue,wed,thu,fri,sat,sun",
2082                            "description" : "Day of week selection.",
2083                            "format" : "pve-day-of-week-list",
2084                            "optional" : 1,
2085                            "type" : "string"
2086                         },
2087                         "dumpdir" : {
2088                            "description" : "Store resulting files to specified directory.",
2089                            "optional" : 1,
2090                            "type" : "string"
2091                         },
2092                         "enabled" : {
2093                            "default" : "1",
2094                            "description" : "Enable or disable the job.",
2095                            "optional" : 1,
2096                            "type" : "boolean"
2097                         },
2098                         "exclude" : {
2099                            "description" : "Exclude specified guest systems (assumes --all)",
2100                            "format" : "pve-vmid-list",
2101                            "optional" : 1,
2102                            "type" : "string"
2103                         },
2104                         "exclude-path" : {
2105                            "description" : "Exclude certain files/directories (shell globs).",
2106                            "format" : "string-alist",
2107                            "optional" : 1,
2108                            "type" : "string"
2109                         },
2110                         "ionice" : {
2111                            "default" : 7,
2112                            "description" : "Set CFQ ionice priority.",
2113                            "maximum" : 8,
2114                            "minimum" : 0,
2115                            "optional" : 1,
2116                            "type" : "integer",
2117                            "typetext" : "integer (0 - 8)"
2118                         },
2119                         "lockwait" : {
2120                            "default" : 180,
2121                            "description" : "Maximal time to wait for the global lock (minutes).",
2122                            "minimum" : 0,
2123                            "optional" : 1,
2124                            "type" : "integer",
2125                            "typetext" : "integer (0 - N)"
2126                         },
2127                         "mailnotification" : {
2128                            "default" : "always",
2129                            "description" : "Specify when to send an email",
2130                            "enum" : [
2131                               "always",
2132                               "failure"
2133                            ],
2134                            "optional" : 1,
2135                            "type" : "string"
2136                         },
2137                         "mailto" : {
2138                            "description" : "Comma-separated list of email addresses that should receive email notifications.",
2139                            "format" : "string-list",
2140                            "optional" : 1,
2141                            "type" : "string"
2142                         },
2143                         "maxfiles" : {
2144                            "default" : 1,
2145                            "description" : "Maximal number of backup files per guest system.",
2146                            "minimum" : 1,
2147                            "optional" : 1,
2148                            "type" : "integer",
2149                            "typetext" : "integer (1 - N)"
2150                         },
2151                         "mode" : {
2152                            "default" : "snapshot",
2153                            "description" : "Backup mode.",
2154                            "enum" : [
2155                               "snapshot",
2156                               "suspend",
2157                               "stop"
2158                            ],
2159                            "optional" : 1,
2160                            "type" : "string"
2161                         },
2162                         "node" : {
2163                            "description" : "Only run if executed on this node.",
2164                            "format" : "pve-node",
2165                            "optional" : 1,
2166                            "type" : "string"
2167                         },
2168                         "pigz" : {
2169                            "default" : 0,
2170                            "description" : "Use pigz instead of gzip when N>0. N=1 uses half of cores, N>1 uses N as thread count.",
2171                            "optional" : 1,
2172                            "type" : "integer"
2173                         },
2174                         "quiet" : {
2175                            "default" : 0,
2176                            "description" : "Be quiet.",
2177                            "optional" : 1,
2178                            "type" : "boolean"
2179                         },
2180                         "remove" : {
2181                            "default" : 1,
2182                            "description" : "Remove old backup files if there are more than 'maxfiles' backup files.",
2183                            "optional" : 1,
2184                            "type" : "boolean"
2185                         },
2186                         "script" : {
2187                            "description" : "Use specified hook script.",
2188                            "optional" : 1,
2189                            "type" : "string"
2190                         },
2191                         "size" : {
2192                            "default" : 1024,
2193                            "description" : "Unused, will be removed in a future release.",
2194                            "minimum" : 500,
2195                            "optional" : 1,
2196                            "type" : "integer",
2197                            "typetext" : "integer (500 - N)"
2198                         },
2199                         "starttime" : {
2200                            "description" : "Job Start time.",
2201                            "pattern" : "\\d{1,2}:\\d{1,2}",
2202                            "type" : "string",
2203                            "typetext" : "HH:MM"
2204                         },
2205                         "stdexcludes" : {
2206                            "default" : 1,
2207                            "description" : "Exclude temporary files and logs.",
2208                            "optional" : 1,
2209                            "type" : "boolean"
2210                         },
2211                         "stop" : {
2212                            "default" : 0,
2213                            "description" : "Stop runnig backup jobs on this host.",
2214                            "optional" : 1,
2215                            "type" : "boolean"
2216                         },
2217                         "stopwait" : {
2218                            "default" : 10,
2219                            "description" : "Maximal time to wait until a guest system is stopped (minutes).",
2220                            "minimum" : 0,
2221                            "optional" : 1,
2222                            "type" : "integer",
2223                            "typetext" : "integer (0 - N)"
2224                         },
2225                         "storage" : {
2226                            "description" : "Store resulting file to this storage.",
2227                            "format" : "pve-storage-id",
2228                            "optional" : 1,
2229                            "type" : "string"
2230                         },
2231                         "tmpdir" : {
2232                            "description" : "Store temporary files to specified directory.",
2233                            "optional" : 1,
2234                            "type" : "string"
2235                         },
2236                         "vmid" : {
2237                            "description" : "The ID of the guest system you want to backup.",
2238                            "format" : "pve-vmid-list",
2239                            "optional" : 1,
2240                            "type" : "string"
2241                         }
2242                      }
2243                   },
2244                   "permissions" : {
2245                      "check" : [
2246                         "perm",
2247                         "/",
2248                         [
2249                            "Sys.Modify"
2250                         ]
2251                      ]
2252                   },
2253                   "protected" : 1,
2254                   "returns" : {
2255                      "type" : "null"
2256                   }
2257                }
2258             },
2259             "leaf" : 0,
2260             "path" : "/cluster/backup",
2261             "text" : "backup"
2262          },
2263          {
2264             "children" : [
2265                {
2266                   "children" : [
2267                      {
2268                         "children" : [
2269                            {
2270                               "info" : {
2271                                  "POST" : {
2272                                     "description" : "Request resource migration (online) to another node.",
2273                                     "method" : "POST",
2274                                     "name" : "migrate",
2275                                     "parameters" : {
2276                                        "additionalProperties" : 0,
2277                                        "properties" : {
2278                                           "node" : {
2279                                              "description" : "The cluster node name.",
2280                                              "format" : "pve-node",
2281                                              "type" : "string"
2282                                           },
2283                                           "sid" : {
2284                                              "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
2285                                              "format" : "pve-ha-resource-or-vm-id",
2286                                              "type" : "string",
2287                                              "typetext" : "<type>:<name>"
2288                                           }
2289                                        }
2290                                     },
2291                                     "permissions" : {
2292                                        "check" : [
2293                                           "perm",
2294                                           "/",
2295                                           [
2296                                              "Sys.Console"
2297                                           ]
2298                                        ]
2299                                     },
2300                                     "protected" : 1,
2301                                     "returns" : {
2302                                        "type" : "null"
2303                                     }
2304                                  }
2305                               },
2306                               "leaf" : 1,
2307                               "path" : "/cluster/ha/resources/{sid}/migrate",
2308                               "text" : "migrate"
2309                            },
2310                            {
2311                               "info" : {
2312                                  "POST" : {
2313                                     "description" : "Request resource relocatzion to another node. This stops the service on the old node, and restarts it on the target node.",
2314                                     "method" : "POST",
2315                                     "name" : "relocate",
2316                                     "parameters" : {
2317                                        "additionalProperties" : 0,
2318                                        "properties" : {
2319                                           "node" : {
2320                                              "description" : "The cluster node name.",
2321                                              "format" : "pve-node",
2322                                              "type" : "string"
2323                                           },
2324                                           "sid" : {
2325                                              "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
2326                                              "format" : "pve-ha-resource-or-vm-id",
2327                                              "type" : "string",
2328                                              "typetext" : "<type>:<name>"
2329                                           }
2330                                        }
2331                                     },
2332                                     "permissions" : {
2333                                        "check" : [
2334                                           "perm",
2335                                           "/",
2336                                           [
2337                                              "Sys.Console"
2338                                           ]
2339                                        ]
2340                                     },
2341                                     "protected" : 1,
2342                                     "returns" : {
2343                                        "type" : "null"
2344                                     }
2345                                  }
2346                               },
2347                               "leaf" : 1,
2348                               "path" : "/cluster/ha/resources/{sid}/relocate",
2349                               "text" : "relocate"
2350                            }
2351                         ],
2352                         "info" : {
2353                            "DELETE" : {
2354                               "description" : "Delete resource configuration.",
2355                               "method" : "DELETE",
2356                               "name" : "delete",
2357                               "parameters" : {
2358                                  "additionalProperties" : 0,
2359                                  "properties" : {
2360                                     "sid" : {
2361                                        "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
2362                                        "format" : "pve-ha-resource-or-vm-id",
2363                                        "type" : "string",
2364                                        "typetext" : "<type>:<name>"
2365                                     }
2366                                  }
2367                               },
2368                               "permissions" : {
2369                                  "check" : [
2370                                     "perm",
2371                                     "/",
2372                                     [
2373                                        "Sys.Console"
2374                                     ]
2375                                  ]
2376                               },
2377                               "protected" : 1,
2378                               "returns" : {
2379                                  "type" : "null"
2380                               }
2381                            },
2382                            "GET" : {
2383                               "description" : "Read resource configuration.",
2384                               "method" : "GET",
2385                               "name" : "read",
2386                               "parameters" : {
2387                                  "additionalProperties" : 0,
2388                                  "properties" : {
2389                                     "sid" : {
2390                                        "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
2391                                        "format" : "pve-ha-resource-or-vm-id",
2392                                        "type" : "string",
2393                                        "typetext" : "<type>:<name>"
2394                                     }
2395                                  }
2396                               },
2397                               "permissions" : {
2398                                  "check" : [
2399                                     "perm",
2400                                     "/",
2401                                     [
2402                                        "Sys.Audit"
2403                                     ]
2404                                  ]
2405                               },
2406                               "returns" : {}
2407                            },
2408                            "PUT" : {
2409                               "description" : "Update resource configuration.",
2410                               "method" : "PUT",
2411                               "name" : "update",
2412                               "parameters" : {
2413                                  "additionalProperties" : 0,
2414                                  "properties" : {
2415                                     "comment" : {
2416                                        "description" : "Description.",
2417                                        "maxLength" : 4096,
2418                                        "optional" : 1,
2419                                        "type" : "string"
2420                                     },
2421                                     "delete" : {
2422                                        "description" : "A list of settings you want to delete.",
2423                                        "format" : "pve-configid-list",
2424                                        "maxLength" : 4096,
2425                                        "optional" : 1,
2426                                        "type" : "string"
2427                                     },
2428                                     "digest" : {
2429                                        "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2430                                        "maxLength" : 40,
2431                                        "optional" : 1,
2432                                        "type" : "string"
2433                                     },
2434                                     "group" : {
2435                                        "description" : "The HA group identifier.",
2436                                        "format" : "pve-configid",
2437                                        "optional" : 1,
2438                                        "type" : "string"
2439                                     },
2440                                     "max_relocate" : {
2441                                        "default" : 1,
2442                                        "description" : "Maximal number of service relocate tries when a service failes to start.",
2443                                        "minimum" : 0,
2444                                        "optional" : 1,
2445                                        "type" : "integer",
2446                                        "typetext" : "integer (0 - N)"
2447                                     },
2448                                     "max_restart" : {
2449                                        "default" : 1,
2450                                        "description" : "Maximal number of tries to restart the service on a node after its start failed.",
2451                                        "minimum" : 0,
2452                                        "optional" : 1,
2453                                        "type" : "integer",
2454                                        "typetext" : "integer (0 - N)"
2455                                     },
2456                                     "sid" : {
2457                                        "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
2458                                        "format" : "pve-ha-resource-or-vm-id",
2459                                        "type" : "string",
2460                                        "typetext" : "<type>:<name>"
2461                                     },
2462                                     "state" : {
2463                                        "default" : "enabled",
2464                                        "description" : "Resource state.",
2465                                        "enum" : [
2466                                           "enabled",
2467                                           "disabled"
2468                                        ],
2469                                        "optional" : 1,
2470                                        "type" : "string"
2471                                     }
2472                                  },
2473                                  "type" : "object"
2474                               },
2475                               "permissions" : {
2476                                  "check" : [
2477                                     "perm",
2478                                     "/",
2479                                     [
2480                                        "Sys.Console"
2481                                     ]
2482                                  ]
2483                               },
2484                               "protected" : 1,
2485                               "returns" : {
2486                                  "type" : "null"
2487                               }
2488                            }
2489                         },
2490                         "leaf" : 0,
2491                         "path" : "/cluster/ha/resources/{sid}",
2492                         "text" : "{sid}"
2493                      }
2494                   ],
2495                   "info" : {
2496                      "GET" : {
2497                         "description" : "List HA resources.",
2498                         "method" : "GET",
2499                         "name" : "index",
2500                         "parameters" : {
2501                            "additionalProperties" : 0,
2502                            "properties" : {
2503                               "type" : {
2504                                  "description" : "Only list resources of specific type",
2505                                  "enum" : [
2506                                     "ct",
2507                                     "vm"
2508                                  ],
2509                                  "optional" : 1,
2510                                  "type" : "string"
2511                               }
2512                            }
2513                         },
2514                         "permissions" : {
2515                            "check" : [
2516                               "perm",
2517                               "/",
2518                               [
2519                                  "Sys.Audit"
2520                               ]
2521                            ]
2522                         },
2523                         "returns" : {
2524                            "items" : {
2525                               "properties" : {
2526                                  "sid" : {
2527                                     "type" : "string"
2528                                  }
2529                               },
2530                               "type" : "object"
2531                            },
2532                            "links" : [
2533                               {
2534                                  "href" : "{sid}",
2535                                  "rel" : "child"
2536                               }
2537                            ],
2538                            "type" : "array"
2539                         }
2540                      },
2541                      "POST" : {
2542                         "description" : "Create a new HA resource.",
2543                         "method" : "POST",
2544                         "name" : "create",
2545                         "parameters" : {
2546                            "additionalProperties" : 0,
2547                            "properties" : {
2548                               "comment" : {
2549                                  "description" : "Description.",
2550                                  "maxLength" : 4096,
2551                                  "optional" : 1,
2552                                  "type" : "string"
2553                               },
2554                               "group" : {
2555                                  "description" : "The HA group identifier.",
2556                                  "format" : "pve-configid",
2557                                  "optional" : 1,
2558                                  "type" : "string"
2559                               },
2560                               "max_relocate" : {
2561                                  "default" : 1,
2562                                  "description" : "Maximal number of service relocate tries when a service failes to start.",
2563                                  "minimum" : 0,
2564                                  "optional" : 1,
2565                                  "type" : "integer",
2566                                  "typetext" : "integer (0 - N)"
2567                               },
2568                               "max_restart" : {
2569                                  "default" : 1,
2570                                  "description" : "Maximal number of tries to restart the service on a node after its start failed.",
2571                                  "minimum" : 0,
2572                                  "optional" : 1,
2573                                  "type" : "integer",
2574                                  "typetext" : "integer (0 - N)"
2575                               },
2576                               "sid" : {
2577                                  "description" : "HA resource ID. This consists of a resource type followed by a resource specific name, separated with colon (example: vm:100 / ct:100). For virtual machines and containers, you can simply use the VM or CT id as a shortcut (example: 100).",
2578                                  "format" : "pve-ha-resource-or-vm-id",
2579                                  "type" : "string",
2580                                  "typetext" : "<type>:<name>"
2581                               },
2582                               "state" : {
2583                                  "default" : "enabled",
2584                                  "description" : "Resource state.",
2585                                  "enum" : [
2586                                     "enabled",
2587                                     "disabled"
2588                                  ],
2589                                  "optional" : 1,
2590                                  "type" : "string"
2591                               },
2592                               "type" : {
2593                                  "description" : "Resource type.",
2594                                  "enum" : [
2595                                     "ct",
2596                                     "vm"
2597                                  ],
2598                                  "optional" : 1,
2599                                  "type" : "string"
2600                               }
2601                            },
2602                            "type" : "object"
2603                         },
2604                         "permissions" : {
2605                            "check" : [
2606                               "perm",
2607                               "/",
2608                               [
2609                                  "Sys.Console"
2610                               ]
2611                            ]
2612                         },
2613                         "protected" : 1,
2614                         "returns" : {
2615