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