Precise certificate generation
[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. This call is for internal use.",
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                                           "action" : {
798                                              "type" : "string"
799                                           },
800                                           "comment" : {
801                                              "optional" : 1,
802                                              "type" : "string"
803                                           },
804                                           "dest" : {
805                                              "optional" : 1,
806                                              "type" : "string"
807                                           },
808                                           "dport" : {
809                                              "optional" : 1,
810                                              "type" : "string"
811                                           },
812                                           "enable" : {
813                                              "optional" : 1,
814                                              "type" : "integer"
815                                           },
816                                           "iface" : {
817                                              "optional" : 1,
818                                              "type" : "string"
819                                           },
820                                           "ipversion" : {
821                                              "optional" : 1,
822                                              "type" : "integer"
823                                           },
824                                           "macro" : {
825                                              "optional" : 1,
826                                              "type" : "integer"
827                                           },
828                                           "pos" : {
829                                              "type" : "integer"
830                                           },
831                                           "proto" : {
832                                              "optional" : 1,
833                                              "type" : "string"
834                                           },
835                                           "source" : {
836                                              "optional" : 1,
837                                              "type" : "string"
838                                           },
839                                           "sport" : {
840                                              "optional" : 1,
841                                              "type" : "string"
842                                           },
843                                           "type" : {
844                                              "type" : "string"
845                                           }
846                                        },
847                                        "type" : "object"
848                                     }
849                                  },
850                                  "PUT" : {
851                                     "description" : "Modify rule data.",
852                                     "method" : "PUT",
853                                     "name" : "update_rule",
854                                     "parameters" : {
855                                        "additionalProperties" : 0,
856                                        "properties" : {
857                                           "action" : {
858                                              "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
859                                              "maxLength" : 20,
860                                              "minLength" : 2,
861                                              "optional" : 1,
862                                              "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
863                                              "type" : "string"
864                                           },
865                                           "comment" : {
866                                              "description" : "Descriptive comment.",
867                                              "optional" : 1,
868                                              "type" : "string",
869                                              "typetext" : "<string>"
870                                           },
871                                           "delete" : {
872                                              "description" : "A list of settings you want to delete.",
873                                              "format" : "pve-configid-list",
874                                              "optional" : 1,
875                                              "type" : "string",
876                                              "typetext" : "<string>"
877                                           },
878                                           "dest" : {
879                                              "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.",
880                                              "format" : "pve-fw-addr-spec",
881                                              "optional" : 1,
882                                              "type" : "string",
883                                              "typetext" : "<string>"
884                                           },
885                                           "digest" : {
886                                              "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
887                                              "maxLength" : 40,
888                                              "optional" : 1,
889                                              "type" : "string",
890                                              "typetext" : "<string>"
891                                           },
892                                           "dport" : {
893                                              "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.",
894                                              "format" : "pve-fw-dport-spec",
895                                              "optional" : 1,
896                                              "type" : "string",
897                                              "typetext" : "<string>"
898                                           },
899                                           "enable" : {
900                                              "description" : "Flag to enable/disable a rule.",
901                                              "minimum" : 0,
902                                              "optional" : 1,
903                                              "type" : "integer",
904                                              "typetext" : "<integer> (0 - N)"
905                                           },
906                                           "group" : {
907                                              "description" : "Security Group name.",
908                                              "maxLength" : 18,
909                                              "minLength" : 2,
910                                              "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
911                                              "type" : "string"
912                                           },
913                                           "iface" : {
914                                              "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.",
915                                              "format" : "pve-iface",
916                                              "maxLength" : 20,
917                                              "minLength" : 2,
918                                              "optional" : 1,
919                                              "type" : "string",
920                                              "typetext" : "<string>"
921                                           },
922                                           "macro" : {
923                                              "description" : "Use predefined standard macro.",
924                                              "maxLength" : 128,
925                                              "optional" : 1,
926                                              "type" : "string",
927                                              "typetext" : "<string>"
928                                           },
929                                           "moveto" : {
930                                              "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
931                                              "minimum" : 0,
932                                              "optional" : 1,
933                                              "type" : "integer",
934                                              "typetext" : "<integer> (0 - N)"
935                                           },
936                                           "pos" : {
937                                              "description" : "Update rule at position <pos>.",
938                                              "minimum" : 0,
939                                              "optional" : 1,
940                                              "type" : "integer",
941                                              "typetext" : "<integer> (0 - N)"
942                                           },
943                                           "proto" : {
944                                              "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
945                                              "format" : "pve-fw-protocol-spec",
946                                              "optional" : 1,
947                                              "type" : "string",
948                                              "typetext" : "<string>"
949                                           },
950                                           "source" : {
951                                              "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.",
952                                              "format" : "pve-fw-addr-spec",
953                                              "optional" : 1,
954                                              "type" : "string",
955                                              "typetext" : "<string>"
956                                           },
957                                           "sport" : {
958                                              "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.",
959                                              "format" : "pve-fw-sport-spec",
960                                              "optional" : 1,
961                                              "type" : "string",
962                                              "typetext" : "<string>"
963                                           },
964                                           "type" : {
965                                              "description" : "Rule type.",
966                                              "enum" : [
967                                                 "in",
968                                                 "out",
969                                                 "group"
970                                              ],
971                                              "optional" : 1,
972                                              "type" : "string"
973                                           }
974                                        }
975                                     },
976                                     "permissions" : {
977                                        "check" : [
978                                           "perm",
979                                           "/",
980                                           [
981                                              "Sys.Modify"
982                                           ]
983                                        ]
984                                     },
985                                     "protected" : 1,
986                                     "proxyto" : null,
987                                     "returns" : {
988                                        "type" : "null"
989                                     }
990                                  }
991                               },
992                               "leaf" : 1,
993                               "path" : "/cluster/firewall/groups/{group}/{pos}",
994                               "text" : "{pos}"
995                            }
996                         ],
997                         "info" : {
998                            "DELETE" : {
999                               "description" : "Delete security group.",
1000                               "method" : "DELETE",
1001                               "name" : "delete_security_group",
1002                               "parameters" : {
1003                                  "additionalProperties" : 0,
1004                                  "properties" : {
1005                                     "group" : {
1006                                        "description" : "Security Group name.",
1007                                        "maxLength" : 18,
1008                                        "minLength" : 2,
1009                                        "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1010                                        "type" : "string"
1011                                     }
1012                                  }
1013                               },
1014                               "permissions" : {
1015                                  "check" : [
1016                                     "perm",
1017                                     "/",
1018                                     [
1019                                        "Sys.Modify"
1020                                     ]
1021                                  ]
1022                               },
1023                               "protected" : 1,
1024                               "returns" : {
1025                                  "type" : "null"
1026                               }
1027                            },
1028                            "GET" : {
1029                               "description" : "List rules.",
1030                               "method" : "GET",
1031                               "name" : "get_rules",
1032                               "parameters" : {
1033                                  "additionalProperties" : 0,
1034                                  "properties" : {
1035                                     "group" : {
1036                                        "description" : "Security Group name.",
1037                                        "maxLength" : 18,
1038                                        "minLength" : 2,
1039                                        "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1040                                        "type" : "string"
1041                                     }
1042                                  }
1043                               },
1044                               "permissions" : {
1045                                  "check" : [
1046                                     "perm",
1047                                     "/",
1048                                     [
1049                                        "Sys.Audit"
1050                                     ]
1051                                  ]
1052                               },
1053                               "proxyto" : null,
1054                               "returns" : {
1055                                  "items" : {
1056                                     "properties" : {
1057                                        "pos" : {
1058                                           "type" : "integer"
1059                                        }
1060                                     },
1061                                     "type" : "object"
1062                                  },
1063                                  "links" : [
1064                                     {
1065                                        "href" : "{pos}",
1066                                        "rel" : "child"
1067                                     }
1068                                  ],
1069                                  "type" : "array"
1070                               }
1071                            },
1072                            "POST" : {
1073                               "description" : "Create new rule.",
1074                               "method" : "POST",
1075                               "name" : "create_rule",
1076                               "parameters" : {
1077                                  "additionalProperties" : 0,
1078                                  "properties" : {
1079                                     "action" : {
1080                                        "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1081                                        "maxLength" : 20,
1082                                        "minLength" : 2,
1083                                        "optional" : 0,
1084                                        "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1085                                        "type" : "string"
1086                                     },
1087                                     "comment" : {
1088                                        "description" : "Descriptive comment.",
1089                                        "optional" : 1,
1090                                        "type" : "string",
1091                                        "typetext" : "<string>"
1092                                     },
1093                                     "dest" : {
1094                                        "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.",
1095                                        "format" : "pve-fw-addr-spec",
1096                                        "optional" : 1,
1097                                        "type" : "string",
1098                                        "typetext" : "<string>"
1099                                     },
1100                                     "digest" : {
1101                                        "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1102                                        "maxLength" : 40,
1103                                        "optional" : 1,
1104                                        "type" : "string",
1105                                        "typetext" : "<string>"
1106                                     },
1107                                     "dport" : {
1108                                        "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.",
1109                                        "format" : "pve-fw-dport-spec",
1110                                        "optional" : 1,
1111                                        "type" : "string",
1112                                        "typetext" : "<string>"
1113                                     },
1114                                     "enable" : {
1115                                        "description" : "Flag to enable/disable a rule.",
1116                                        "minimum" : 0,
1117                                        "optional" : 1,
1118                                        "type" : "integer",
1119                                        "typetext" : "<integer> (0 - N)"
1120                                     },
1121                                     "group" : {
1122                                        "description" : "Security Group name.",
1123                                        "maxLength" : 18,
1124                                        "minLength" : 2,
1125                                        "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1126                                        "type" : "string"
1127                                     },
1128                                     "iface" : {
1129                                        "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.",
1130                                        "format" : "pve-iface",
1131                                        "maxLength" : 20,
1132                                        "minLength" : 2,
1133                                        "optional" : 1,
1134                                        "type" : "string",
1135                                        "typetext" : "<string>"
1136                                     },
1137                                     "macro" : {
1138                                        "description" : "Use predefined standard macro.",
1139                                        "maxLength" : 128,
1140                                        "optional" : 1,
1141                                        "type" : "string",
1142                                        "typetext" : "<string>"
1143                                     },
1144                                     "pos" : {
1145                                        "description" : "Update rule at position <pos>.",
1146                                        "minimum" : 0,
1147                                        "optional" : 1,
1148                                        "type" : "integer",
1149                                        "typetext" : "<integer> (0 - N)"
1150                                     },
1151                                     "proto" : {
1152                                        "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1153                                        "format" : "pve-fw-protocol-spec",
1154                                        "optional" : 1,
1155                                        "type" : "string",
1156                                        "typetext" : "<string>"
1157                                     },
1158                                     "source" : {
1159                                        "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.",
1160                                        "format" : "pve-fw-addr-spec",
1161                                        "optional" : 1,
1162                                        "type" : "string",
1163                                        "typetext" : "<string>"
1164                                     },
1165                                     "sport" : {
1166                                        "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.",
1167                                        "format" : "pve-fw-sport-spec",
1168                                        "optional" : 1,
1169                                        "type" : "string",
1170                                        "typetext" : "<string>"
1171                                     },
1172                                     "type" : {
1173                                        "description" : "Rule type.",
1174                                        "enum" : [
1175                                           "in",
1176                                           "out",
1177                                           "group"
1178                                        ],
1179                                        "optional" : 0,
1180                                        "type" : "string"
1181                                     }
1182                                  }
1183                               },
1184                               "permissions" : {
1185                                  "check" : [
1186                                     "perm",
1187                                     "/",
1188                                     [
1189                                        "Sys.Modify"
1190                                     ]
1191                                  ]
1192                               },
1193                               "protected" : 1,
1194                               "proxyto" : null,
1195                               "returns" : {
1196                                  "type" : "null"
1197                               }
1198                            }
1199                         },
1200                         "leaf" : 0,
1201                         "path" : "/cluster/firewall/groups/{group}",
1202                         "text" : "{group}"
1203                      }
1204                   ],
1205                   "info" : {
1206                      "GET" : {
1207                         "description" : "List security groups.",
1208                         "method" : "GET",
1209                         "name" : "list_security_groups",
1210                         "parameters" : {
1211                            "additionalProperties" : 0
1212                         },
1213                         "permissions" : {
1214                            "user" : "all"
1215                         },
1216                         "returns" : {
1217                            "items" : {
1218                               "properties" : {
1219                                  "comment" : {
1220                                     "optional" : 1,
1221                                     "type" : "string"
1222                                  },
1223                                  "digest" : {
1224                                     "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1225                                     "maxLength" : 40,
1226                                     "optional" : 0,
1227                                     "type" : "string"
1228                                  },
1229                                  "group" : {
1230                                     "description" : "Security Group name.",
1231                                     "maxLength" : 18,
1232                                     "minLength" : 2,
1233                                     "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1234                                     "type" : "string"
1235                                  }
1236                               },
1237                               "type" : "object"
1238                            },
1239                            "links" : [
1240                               {
1241                                  "href" : "{group}",
1242                                  "rel" : "child"
1243                               }
1244                            ],
1245                            "type" : "array"
1246                         }
1247                      },
1248                      "POST" : {
1249                         "description" : "Create new security group.",
1250                         "method" : "POST",
1251                         "name" : "create_security_group",
1252                         "parameters" : {
1253                            "additionalProperties" : 0,
1254                            "properties" : {
1255                               "comment" : {
1256                                  "optional" : 1,
1257                                  "type" : "string",
1258                                  "typetext" : "<string>"
1259                               },
1260                               "digest" : {
1261                                  "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1262                                  "maxLength" : 40,
1263                                  "optional" : 1,
1264                                  "type" : "string",
1265                                  "typetext" : "<string>"
1266                               },
1267                               "group" : {
1268                                  "description" : "Security Group name.",
1269                                  "maxLength" : 18,
1270                                  "minLength" : 2,
1271                                  "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1272                                  "type" : "string"
1273                               },
1274                               "rename" : {
1275                                  "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.",
1276                                  "maxLength" : 18,
1277                                  "minLength" : 2,
1278                                  "optional" : 1,
1279                                  "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1280                                  "type" : "string"
1281                               }
1282                            }
1283                         },
1284                         "permissions" : {
1285                            "check" : [
1286                               "perm",
1287                               "/",
1288                               [
1289                                  "Sys.Modify"
1290                               ]
1291                            ]
1292                         },
1293                         "protected" : 1,
1294                         "returns" : {
1295                            "type" : "null"
1296                         }
1297                      }
1298                   },
1299                   "leaf" : 0,
1300                   "path" : "/cluster/firewall/groups",
1301                   "text" : "groups"
1302                },
1303                {
1304                   "children" : [
1305                      {
1306                         "info" : {
1307                            "DELETE" : {
1308                               "description" : "Delete rule.",
1309                               "method" : "DELETE",
1310                               "name" : "delete_rule",
1311                               "parameters" : {
1312                                  "additionalProperties" : 0,
1313                                  "properties" : {
1314                                     "digest" : {
1315                                        "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1316                                        "maxLength" : 40,
1317                                        "optional" : 1,
1318                                        "type" : "string",
1319                                        "typetext" : "<string>"
1320                                     },
1321                                     "pos" : {
1322                                        "description" : "Update rule at position <pos>.",
1323                                        "minimum" : 0,
1324                                        "optional" : 1,
1325                                        "type" : "integer",
1326                                        "typetext" : "<integer> (0 - N)"
1327                                     }
1328                                  }
1329                               },
1330                               "permissions" : {
1331                                  "check" : [
1332                                     "perm",
1333                                     "/",
1334                                     [
1335                                        "Sys.Modify"
1336                                     ]
1337                                  ]
1338                               },
1339                               "protected" : 1,
1340                               "proxyto" : null,
1341                               "returns" : {
1342                                  "type" : "null"
1343                               }
1344                            },
1345                            "GET" : {
1346                               "description" : "Get single rule data.",
1347                               "method" : "GET",
1348                               "name" : "get_rule",
1349                               "parameters" : {
1350                                  "additionalProperties" : 0,
1351                                  "properties" : {
1352                                     "pos" : {
1353                                        "description" : "Update rule at position <pos>.",
1354                                        "minimum" : 0,
1355                                        "optional" : 1,
1356                                        "type" : "integer",
1357                                        "typetext" : "<integer> (0 - N)"
1358                                     }
1359                                  }
1360                               },
1361                               "permissions" : {
1362                                  "check" : [
1363                                     "perm",
1364                                     "/",
1365                                     [
1366                                        "Sys.Audit"
1367                                     ]
1368                                  ]
1369                               },
1370                               "proxyto" : null,
1371                               "returns" : {
1372                                  "properties" : {
1373                                     "action" : {
1374                                        "type" : "string"
1375                                     },
1376                                     "comment" : {
1377                                        "optional" : 1,
1378                                        "type" : "string"
1379                                     },
1380                                     "dest" : {
1381                                        "optional" : 1,
1382                                        "type" : "string"
1383                                     },
1384                                     "dport" : {
1385                                        "optional" : 1,
1386                                        "type" : "string"
1387                                     },
1388                                     "enable" : {
1389                                        "optional" : 1,
1390                                        "type" : "integer"
1391                                     },
1392                                     "iface" : {
1393                                        "optional" : 1,
1394                                        "type" : "string"
1395                                     },
1396                                     "ipversion" : {
1397                                        "optional" : 1,
1398                                        "type" : "integer"
1399                                     },
1400                                     "macro" : {
1401                                        "optional" : 1,
1402                                        "type" : "integer"
1403                                     },
1404                                     "pos" : {
1405                                        "type" : "integer"
1406                                     },
1407                                     "proto" : {
1408                                        "optional" : 1,
1409                                        "type" : "string"
1410                                     },
1411                                     "source" : {
1412                                        "optional" : 1,
1413                                        "type" : "string"
1414                                     },
1415                                     "sport" : {
1416                                        "optional" : 1,
1417                                        "type" : "string"
1418                                     },
1419                                     "type" : {
1420                                        "type" : "string"
1421                                     }
1422                                  },
1423                                  "type" : "object"
1424                               }
1425                            },
1426                            "PUT" : {
1427                               "description" : "Modify rule data.",
1428                               "method" : "PUT",
1429                               "name" : "update_rule",
1430                               "parameters" : {
1431                                  "additionalProperties" : 0,
1432                                  "properties" : {
1433                                     "action" : {
1434                                        "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1435                                        "maxLength" : 20,
1436                                        "minLength" : 2,
1437                                        "optional" : 1,
1438                                        "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1439                                        "type" : "string"
1440                                     },
1441                                     "comment" : {
1442                                        "description" : "Descriptive comment.",
1443                                        "optional" : 1,
1444                                        "type" : "string",
1445                                        "typetext" : "<string>"
1446                                     },
1447                                     "delete" : {
1448                                        "description" : "A list of settings you want to delete.",
1449                                        "format" : "pve-configid-list",
1450                                        "optional" : 1,
1451                                        "type" : "string",
1452                                        "typetext" : "<string>"
1453                                     },
1454                                     "dest" : {
1455                                        "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.",
1456                                        "format" : "pve-fw-addr-spec",
1457                                        "optional" : 1,
1458                                        "type" : "string",
1459                                        "typetext" : "<string>"
1460                                     },
1461                                     "digest" : {
1462                                        "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1463                                        "maxLength" : 40,
1464                                        "optional" : 1,
1465                                        "type" : "string",
1466                                        "typetext" : "<string>"
1467                                     },
1468                                     "dport" : {
1469                                        "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.",
1470                                        "format" : "pve-fw-dport-spec",
1471                                        "optional" : 1,
1472                                        "type" : "string",
1473                                        "typetext" : "<string>"
1474                                     },
1475                                     "enable" : {
1476                                        "description" : "Flag to enable/disable a rule.",
1477                                        "minimum" : 0,
1478                                        "optional" : 1,
1479                                        "type" : "integer",
1480                                        "typetext" : "<integer> (0 - N)"
1481                                     },
1482                                     "iface" : {
1483                                        "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.",
1484                                        "format" : "pve-iface",
1485                                        "maxLength" : 20,
1486                                        "minLength" : 2,
1487                                        "optional" : 1,
1488                                        "type" : "string",
1489                                        "typetext" : "<string>"
1490                                     },
1491                                     "macro" : {
1492                                        "description" : "Use predefined standard macro.",
1493                                        "maxLength" : 128,
1494                                        "optional" : 1,
1495                                        "type" : "string",
1496                                        "typetext" : "<string>"
1497                                     },
1498                                     "moveto" : {
1499                                        "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
1500                                        "minimum" : 0,
1501                                        "optional" : 1,
1502                                        "type" : "integer",
1503                                        "typetext" : "<integer> (0 - N)"
1504                                     },
1505                                     "pos" : {
1506                                        "description" : "Update rule at position <pos>.",
1507                                        "minimum" : 0,
1508                                        "optional" : 1,
1509                                        "type" : "integer",
1510                                        "typetext" : "<integer> (0 - N)"
1511                                     },
1512                                     "proto" : {
1513                                        "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1514                                        "format" : "pve-fw-protocol-spec",
1515                                        "optional" : 1,
1516                                        "type" : "string",
1517                                        "typetext" : "<string>"
1518                                     },
1519                                     "source" : {
1520                                        "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.",
1521                                        "format" : "pve-fw-addr-spec",
1522                                        "optional" : 1,
1523                                        "type" : "string",
1524                                        "typetext" : "<string>"
1525                                     },
1526                                     "sport" : {
1527                                        "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.",
1528                                        "format" : "pve-fw-sport-spec",
1529                                        "optional" : 1,
1530                                        "type" : "string",
1531                                        "typetext" : "<string>"
1532                                     },
1533                                     "type" : {
1534                                        "description" : "Rule type.",
1535                                        "enum" : [
1536                                           "in",
1537                                           "out",
1538                                           "group"
1539                                        ],
1540                                        "optional" : 1,
1541                                        "type" : "string"
1542                                     }
1543                                  }
1544                               },
1545                               "permissions" : {
1546                                  "check" : [
1547                                     "perm",
1548                                     "/",
1549                                     [
1550                                        "Sys.Modify"
1551                                     ]
1552                                  ]
1553                               },
1554                               "protected" : 1,
1555                               "proxyto" : null,
1556                               "returns" : {
1557                                  "type" : "null"
1558                               }
1559                            }
1560                         },
1561                         "leaf" : 1,
1562                         "path" : "/cluster/firewall/rules/{pos}",
1563                         "text" : "{pos}"
1564                      }
1565                   ],
1566                   "info" : {
1567                      "GET" : {
1568                         "description" : "List rules.",
1569                         "method" : "GET",
1570                         "name" : "get_rules",
1571                         "parameters" : {
1572                            "additionalProperties" : 0
1573                         },
1574                         "permissions" : {
1575                            "check" : [
1576                               "perm",
1577                               "/",
1578                               [
1579                                  "Sys.Audit"
1580                               ]
1581                            ]
1582                         },
1583                         "proxyto" : null,
1584                         "returns" : {
1585                            "items" : {
1586                               "properties" : {
1587                                  "pos" : {
1588                                     "type" : "integer"
1589                                  }
1590                               },
1591                               "type" : "object"
1592                            },
1593                            "links" : [
1594                               {
1595                                  "href" : "{pos}",
1596                                  "rel" : "child"
1597                               }
1598                            ],
1599                            "type" : "array"
1600                         }
1601                      },
1602                      "POST" : {
1603                         "description" : "Create new rule.",
1604                         "method" : "POST",
1605                         "name" : "create_rule",
1606                         "parameters" : {
1607                            "additionalProperties" : 0,
1608                            "properties" : {
1609                               "action" : {
1610                                  "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1611                                  "maxLength" : 20,
1612                                  "minLength" : 2,
1613                                  "optional" : 0,
1614                                  "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1615                                  "type" : "string"
1616                               },
1617                               "comment" : {
1618                                  "description" : "Descriptive comment.",
1619                                  "optional" : 1,
1620                                  "type" : "string",
1621                                  "typetext" : "<string>"
1622                               },
1623                               "dest" : {
1624                                  "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.",
1625                                  "format" : "pve-fw-addr-spec",
1626                                  "optional" : 1,
1627                                  "type" : "string",
1628                                  "typetext" : "<string>"
1629                               },
1630                               "digest" : {
1631                                  "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1632                                  "maxLength" : 40,
1633                                  "optional" : 1,
1634                                  "type" : "string",
1635                                  "typetext" : "<string>"
1636                               },
1637                               "dport" : {
1638                                  "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.",
1639                                  "format" : "pve-fw-dport-spec",
1640                                  "optional" : 1,
1641                                  "type" : "string",
1642                                  "typetext" : "<string>"
1643                               },
1644                               "enable" : {
1645                                  "description" : "Flag to enable/disable a rule.",
1646                                  "minimum" : 0,
1647                                  "optional" : 1,
1648                                  "type" : "integer",
1649                                  "typetext" : "<integer> (0 - N)"
1650                               },
1651                               "iface" : {
1652                                  "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.",
1653                                  "format" : "pve-iface",
1654                                  "maxLength" : 20,
1655                                  "minLength" : 2,
1656                                  "optional" : 1,
1657                                  "type" : "string",
1658                                  "typetext" : "<string>"
1659                               },
1660                               "macro" : {
1661                                  "description" : "Use predefined standard macro.",
1662                                  "maxLength" : 128,
1663                                  "optional" : 1,
1664                                  "type" : "string",
1665                                  "typetext" : "<string>"
1666                               },
1667                               "pos" : {
1668                                  "description" : "Update rule at position <pos>.",
1669                                  "minimum" : 0,
1670                                  "optional" : 1,
1671                                  "type" : "integer",
1672                                  "typetext" : "<integer> (0 - N)"
1673                               },
1674                               "proto" : {
1675                                  "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1676                                  "format" : "pve-fw-protocol-spec",
1677                                  "optional" : 1,
1678                                  "type" : "string",
1679                                  "typetext" : "<string>"
1680                               },
1681                               "source" : {
1682                                  "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.",
1683                                  "format" : "pve-fw-addr-spec",
1684                                  "optional" : 1,
1685                                  "type" : "string",
1686                                  "typetext" : "<string>"
1687                               },
1688                               "sport" : {
1689                                  "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.",
1690                                  "format" : "pve-fw-sport-spec",
1691                                  "optional" : 1,
1692                                  "type" : "string",
1693                                  "typetext" : "<string>"
1694                               },
1695                               "type" : {
1696                                  "description" : "Rule type.",
1697                                  "enum" : [
1698                                     "in",
1699                                     "out",
1700                                     "group"
1701                                  ],
1702                                  "optional" : 0,
1703                                  "type" : "string"
1704                               }
1705                            }
1706                         },
1707                         "permissions" : {
1708                            "check" : [
1709                               "perm",
1710                               "/",
1711                               [
1712                                  "Sys.Modify"
1713                               ]
1714                            ]
1715                         },
1716                         "protected" : 1,
1717                         "proxyto" : null,
1718                         "returns" : {
1719                            "type" : "null"
1720                         }
1721                      }
1722                   },
1723                   "leaf" : 0,
1724                   "path" : "/cluster/firewall/rules",
1725                   "text" : "rules"
1726                },
1727                {
1728                   "children" : [
1729                      {
1730                         "children" : [
1731                            {
1732                               "info" : {
1733                                  "DELETE" : {
1734                                     "description" : "Remove IP or Network from IPSet.",
1735                                     "method" : "DELETE",
1736                                     "name" : "remove_ip",
1737                                     "parameters" : {
1738                                        "additionalProperties" : 0,
1739                                        "properties" : {
1740                                           "cidr" : {
1741                                              "description" : "Network/IP specification in CIDR format.",
1742                                              "format" : "IPorCIDRorAlias",
1743                                              "type" : "string",
1744                                              "typetext" : "<string>"
1745                                           },
1746                                           "digest" : {
1747                                              "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1748                                              "maxLength" : 40,
1749                                              "optional" : 1,
1750                                              "type" : "string",
1751                                              "typetext" : "<string>"
1752                                           },
1753                                           "name" : {
1754                                              "description" : "IP set name.",
1755                                              "maxLength" : 64,
1756                                              "minLength" : 2,
1757                                              "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1758                                              "type" : "string"
1759                                           }
1760                                        }
1761                                     },
1762                                     "permissions" : {
1763                                        "check" : [
1764                                           "perm",
1765                                           "/",
1766                                           [
1767                                              "Sys.Modify"
1768                                           ]
1769                                        ]
1770                                     },
1771                                     "protected" : 1,
1772                                     "returns" : {
1773                                        "type" : "null"
1774                                     }
1775                                  },
1776                                  "GET" : {
1777                                     "description" : "Read IP or Network settings from IPSet.",
1778                                     "method" : "GET",
1779                                     "name" : "read_ip",
1780                                     "parameters" : {
1781                                        "additionalProperties" : 0,
1782                                        "properties" : {
1783                                           "cidr" : {
1784                                              "description" : "Network/IP specification in CIDR format.",
1785                                              "format" : "IPorCIDRorAlias",
1786                                              "type" : "string",
1787                                              "typetext" : "<string>"
1788                                           },
1789                                           "name" : {
1790                                              "description" : "IP set name.",
1791                                              "maxLength" : 64,
1792                                              "minLength" : 2,
1793                                              "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1794                                              "type" : "string"
1795                                           }
1796                                        }
1797                                     },
1798                                     "permissions" : {
1799                                        "check" : [
1800                                           "perm",
1801                                           "/",
1802                                           [
1803                                              "Sys.Audit"
1804                                           ]
1805                                        ]
1806                                     },
1807                                     "protected" : 1,
1808                                     "returns" : {
1809                                        "type" : "object"
1810                                     }
1811                                  },
1812                                  "PUT" : {
1813                                     "description" : "Update IP or Network settings",
1814                                     "method" : "PUT",
1815                                     "name" : "update_ip",
1816                                     "parameters" : {
1817                                        "additionalProperties" : 0,
1818                                        "properties" : {
1819                                           "cidr" : {
1820                                              "description" : "Network/IP specification in CIDR format.",
1821                                              "format" : "IPorCIDRorAlias",
1822                                              "type" : "string",
1823                                              "typetext" : "<string>"
1824                                           },
1825                                           "comment" : {
1826                                              "optional" : 1,
1827                                              "type" : "string",
1828                                              "typetext" : "<string>"
1829                                           },
1830                                           "digest" : {
1831                                              "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1832                                              "maxLength" : 40,
1833                                              "optional" : 1,
1834                                              "type" : "string",
1835                                              "typetext" : "<string>"
1836                                           },
1837                                           "name" : {
1838                                              "description" : "IP set name.",
1839                                              "maxLength" : 64,
1840                                              "minLength" : 2,
1841                                              "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1842                                              "type" : "string"
1843                                           },
1844                                           "nomatch" : {
1845                                              "optional" : 1,
1846                                              "type" : "boolean",
1847                                              "typetext" : "<boolean>"
1848                                           }
1849                                        }
1850                                     },
1851                                     "permissions" : {
1852                                        "check" : [
1853                                           "perm",
1854                                           "/",
1855                                           [
1856                                              "Sys.Modify"
1857                                           ]
1858                                        ]
1859                                     },
1860                                     "protected" : 1,
1861                                     "returns" : {
1862                                        "type" : "null"
1863                                     }
1864                                  }
1865                               },
1866                               "leaf" : 1,
1867                               "path" : "/cluster/firewall/ipset/{name}/{cidr}",
1868                               "text" : "{cidr}"
1869                            }
1870                         ],
1871                         "info" : {
1872                            "DELETE" : {
1873                               "description" : "Delete IPSet",
1874                               "method" : "DELETE",
1875                               "name" : "delete_ipset",
1876                               "parameters" : {
1877                                  "additionalProperties" : 0,
1878                                  "properties" : {
1879                                     "name" : {
1880                                        "description" : "IP set name.",
1881                                        "maxLength" : 64,
1882                                        "minLength" : 2,
1883                                        "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1884                                        "type" : "string"
1885                                     }
1886                                  }
1887                               },
1888                               "permissions" : {
1889                                  "check" : [
1890                                     "perm",
1891                                     "/",
1892                                     [
1893                                        "Sys.Modify"
1894                                     ]
1895                                  ]
1896                               },
1897                               "protected" : 1,
1898                               "returns" : {
1899                                  "type" : "null"
1900                               }
1901                            },
1902                            "GET" : {
1903                               "description" : "List IPSet content",
1904                               "method" : "GET",
1905                               "name" : "get_ipset",
1906                               "parameters" : {
1907                                  "additionalProperties" : 0,
1908                                  "properties" : {
1909                                     "name" : {
1910                                        "description" : "IP set name.",
1911                                        "maxLength" : 64,
1912                                        "minLength" : 2,
1913                                        "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1914                                        "type" : "string"
1915                                     }
1916                                  }
1917                               },
1918                               "permissions" : {
1919                                  "check" : [
1920                                     "perm",
1921                                     "/",
1922                                     [
1923                                        "Sys.Audit"
1924                                     ]
1925                                  ]
1926                               },
1927                               "returns" : {
1928                                  "items" : {
1929                                     "properties" : {
1930                                        "cidr" : {
1931                                           "type" : "string"
1932                                        },
1933                                        "comment" : {
1934                                           "optional" : 1,
1935                                           "type" : "string"
1936                                        },
1937                                        "digest" : {
1938                                           "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1939                                           "maxLength" : 40,
1940                                           "optional" : 0,
1941                                           "type" : "string"
1942                                        },
1943                                        "nomatch" : {
1944                                           "optional" : 1,
1945                                           "type" : "boolean"
1946                                        }
1947                                     },
1948                                     "type" : "object"
1949                                  },
1950                                  "links" : [
1951                                     {
1952                                        "href" : "{cidr}",
1953                                        "rel" : "child"
1954                                     }
1955                                  ],
1956                                  "type" : "array"
1957                               }
1958                            },
1959                            "POST" : {
1960                               "description" : "Add IP or Network to IPSet.",
1961                               "method" : "POST",
1962                               "name" : "create_ip",
1963                               "parameters" : {
1964                                  "additionalProperties" : 0,
1965                                  "properties" : {
1966                                     "cidr" : {
1967                                        "description" : "Network/IP specification in CIDR format.",
1968                                        "format" : "IPorCIDRorAlias",
1969                                        "type" : "string",
1970                                        "typetext" : "<string>"
1971                                     },
1972                                     "comment" : {
1973                                        "optional" : 1,
1974                                        "type" : "string",
1975                                        "typetext" : "<string>"
1976                                     },
1977                                     "name" : {
1978                                        "description" : "IP set name.",
1979                                        "maxLength" : 64,
1980                                        "minLength" : 2,
1981                                        "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1982                                        "type" : "string"
1983                                     },
1984                                     "nomatch" : {
1985                                        "optional" : 1,
1986                                        "type" : "boolean",
1987                                        "typetext" : "<boolean>"
1988                                     }
1989                                  }
1990                               },
1991                               "permissions" : {
1992                                  "check" : [
1993                                     "perm",
1994                                     "/",
1995                                     [
1996                                        "Sys.Modify"
1997                                     ]
1998                                  ]
1999                               },
2000                               "protected" : 1,
2001                               "returns" : {
2002                                  "type" : "null"
2003                               }
2004                            }
2005                         },
2006                         "leaf" : 0,
2007                         "path" : "/cluster/firewall/ipset/{name}",
2008                         "text" : "{name}"
2009                      }
2010                   ],
2011                   "info" : {
2012                      "GET" : {
2013                         "description" : "List IPSets",
2014                         "method" : "GET",
2015                         "name" : "ipset_index",
2016                         "parameters" : {
2017                            "additionalProperties" : 0
2018                         },
2019                         "permissions" : {
2020                            "check" : [
2021                               "perm",
2022                               "/",
2023                               [
2024                                  "Sys.Audit"
2025                               ]
2026                            ]
2027                         },
2028                         "returns" : {
2029                            "items" : {
2030                               "properties" : {
2031                                  "comment" : {
2032                                     "optional" : 1,
2033                                     "type" : "string"
2034                                  },
2035                                  "digest" : {
2036                                     "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2037                                     "maxLength" : 40,
2038                                     "optional" : 0,
2039                                     "type" : "string"
2040                                  },
2041                                  "name" : {
2042                                     "description" : "IP set name.",
2043                                     "maxLength" : 64,
2044                                     "minLength" : 2,
2045                                     "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2046                                     "type" : "string"
2047                                  }
2048                               },
2049                               "type" : "object"
2050                            },
2051                            "links" : [
2052                               {
2053                                  "href" : "{name}",
2054                                  "rel" : "child"
2055                               }
2056                            ],
2057                            "type" : "array"
2058                         }
2059                      },
2060                      "POST" : {
2061                         "description" : "Create new IPSet",
2062                         "method" : "POST",
2063                         "name" : "create_ipset",
2064                         "parameters" : {
2065                            "additionalProperties" : 0,
2066                            "properties" : {
2067                               "comment" : {
2068                                  "optional" : 1,
2069                                  "type" : "string",
2070                                  "typetext" : "<string>"
2071                               },
2072                               "digest" : {
2073                                  "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2074                                  "maxLength" : 40,
2075                                  "optional" : 1,
2076                                  "type" : "string",
2077                                  "typetext" : "<string>"
2078                               },
2079                               "name" : {
2080                                  "description" : "IP set name.",
2081                                  "maxLength" : 64,
2082                                  "minLength" : 2,
2083                                  "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2084                                  "type" : "string"
2085                               },
2086                               "rename" : {
2087                                  "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
2088                                  "maxLength" : 64,
2089                                  "minLength" : 2,
2090                                  "optional" : 1,
2091                                  "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2092                                  "type" : "string"
2093                               }
2094                            }
2095                         },
2096                         "permissions" : {
2097                            "check" : [
2098                               "perm",
2099                               "/",
2100                               [
2101                                  "Sys.Modify"
2102                               ]
2103                            ]
2104                         },
2105                         "protected" : 1,
2106                         "returns" : {
2107                            "type" : "null"
2108                         }
2109                      }
2110                   },
2111                   "leaf" : 0,
2112                   "path" : "/cluster/firewall/ipset",
2113                   "text" : "ipset"
2114                },
2115                {
2116                   "children" : [
2117                      {
2118                         "info" : {
2119                            "DELETE" : {
2120                               "description" : "Remove IP or Network alias.",
2121                               "method" : "DELETE",
2122                               "name" : "remove_alias",
2123                               "parameters" : {
2124                                  "additionalProperties" : 0,
2125                                  "properties" : {
2126                                     "digest" : {
2127                                        "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2128                                        "maxLength" : 40,
2129                                        "optional" : 1,
2130                                        "type" : "string",
2131                                        "typetext" : "<string>"
2132                                     },
2133                                     "name" : {
2134                                        "description" : "Alias name.",
2135                                        "maxLength" : 64,
2136                                        "minLength" : 2,
2137                                        "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2138                                        "type" : "string"
2139                                     }
2140                                  }
2141                               },
2142                               "permissions" : {
2143                                  "check" : [
2144                                     "perm",
2145                                     "/",
2146                                     [
2147                                        "Sys.Modify"
2148                                     ]
2149                                  ]
2150                               },
2151                               "protected" : 1,
2152                               "returns" : {
2153                                  "type" : "null"
2154                               }
2155                            },
2156                            "GET" : {
2157                               "description" : "Read alias.",
2158                               "method" : "GET",
2159                               "name" : "read_alias",
2160                               "parameters" : {
2161                                  "additionalProperties" : 0,
2162                                  "properties" : {
2163                                     "name" : {
2164                                        "description" : "Alias name.",
2165                                        "maxLength" : 64,
2166                                        "minLength" : 2,
2167                                        "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2168                                        "type" : "string"
2169                                     }
2170                                  }
2171                               },
2172                               "permissions" : {
2173                                  "check" : [
2174                                     "perm",
2175                                     "/",
2176                                     [
2177                                        "Sys.Audit"
2178                                     ]
2179                                  ]
2180                               },
2181                               "returns" : {
2182                                  "type" : "object"
2183                               }
2184                            },
2185                            "PUT" : {
2186                               "description" : "Update IP or Network alias.",
2187                               "method" : "PUT",
2188                               "name" : "update_alias",
2189                               "parameters" : {
2190                                  "additionalProperties" : 0,
2191                                  "properties" : {
2192                                     "cidr" : {
2193                                        "description" : "Network/IP specification in CIDR format.",
2194                                        "format" : "IPorCIDR",
2195                                        "type" : "string",
2196                                        "typetext" : "<string>"
2197                                     },
2198                                     "comment" : {
2199                                        "optional" : 1,
2200                                        "type" : "string",
2201                                        "typetext" : "<string>"
2202                                     },
2203                                     "digest" : {
2204                                        "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2205                                        "maxLength" : 40,
2206                                        "optional" : 1,
2207                                        "type" : "string",
2208                                        "typetext" : "<string>"
2209                                     },
2210                                     "name" : {
2211                                        "description" : "Alias name.",
2212                                        "maxLength" : 64,
2213                                        "minLength" : 2,
2214                                        "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2215                                        "type" : "string"
2216                                     },
2217                                     "rename" : {
2218                                        "description" : "Rename an existing alias.",
2219                                        "maxLength" : 64,
2220                                        "minLength" : 2,
2221                                        "optional" : 1,
2222                                        "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2223                                        "type" : "string"
2224                                     }
2225                                  }
2226                               },
2227                               "permissions" : {
2228                                  "check" : [
2229                                     "perm",
2230                                     "/",
2231                                     [
2232                                        "Sys.Modify"
2233                                     ]
2234                                  ]
2235                               },
2236                               "protected" : 1,
2237                               "returns" : {
2238                                  "type" : "null"
2239                               }
2240                            }
2241                         },
2242                         "leaf" : 1,
2243                         "path" : "/cluster/firewall/aliases/{name}",
2244                         "text" : "{name}"
2245                      }
2246                   ],
2247                   "info" : {
2248                      "GET" : {
2249                         "description" : "List aliases",
2250                         "method" : "GET",
2251                         "name" : "get_aliases",
2252                         "parameters" : {
2253                            "additionalProperties" : 0
2254                         },
2255                         "permissions" : {
2256                            "check" : [
2257                               "perm",
2258                               "/",
2259                               [
2260                                  "Sys.Audit"
2261                               ]
2262                            ]
2263                         },
2264                         "returns" : {
2265                            "items" : {
2266                               "properties" : {
2267                                  "cidr" : {
2268                                     "type" : "string"
2269                                  },
2270                                  "comment" : {
2271                                     "optional" : 1,
2272                                     "type" : "string"
2273                                  },
2274                                  "digest" : {
2275                                     "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2276                                     "maxLength" : 40,
2277                                     "optional" : 0,
2278                                     "type" : "string"
2279                                  },
2280                                  "name" : {
2281                                     "type" : "string"
2282                                  }
2283                               },
2284                               "type" : "object"
2285                            },
2286                            "links" : [
2287                               {
2288                                  "href" : "{name}",
2289                                  "rel" : "child"
2290                               }
2291                            ],
2292                            "type" : "array"
2293                         }
2294                      },
2295                      "POST" : {
2296                         "description" : "Create IP or Network Alias.",
2297                         "method" : "POST",
2298                         "name" : "create_alias",
2299                         "parameters" : {
2300                            "additionalProperties" : 0,
2301                            "properties" : {
2302                               "cidr" : {
2303                                  "description" : "Network/IP specification in CIDR format.",
2304                                  "format" : "IPorCIDR",
2305                                  "type" : "string",
2306                                  "typetext" : "<string>"
2307                               },
2308                               "comment" : {
2309                                  "optional" : 1,
2310                                  "type" : "string",
2311                                  "typetext" : "<string>"
2312                               },
2313                               "name" : {
2314                                  "description" : "Alias name.",
2315                                  "maxLength" : 64,
2316                                  "minLength" : 2,
2317                                  "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2318                                  "type" : "string"
2319                               }
2320                            }
2321                         },
2322                         "permissions" : {
2323                            "check" : [
2324                               "perm",
2325                               "/",
2326                               [
2327                                  "Sys.Modify"
2328                               ]
2329                            ]
2330                         },
2331                         "protected" : 1,
2332                         "returns" : {
2333                            "type" : "null"
2334                         }