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