run make update
[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                                     "link[n]" : {
330                                        "description" : "Address and priority information of a single corosync link.",
331                                        "format" : {
332                                           "address" : {
333                                              "default_key" : 1,
334                                              "description" : "Hostname (or IP) of this corosync link address.",
335                                              "format" : "address",
336                                              "format_description" : "IP",
337                                              "type" : "string"
338                                           },
339                                           "priority" : {
340                                              "default" : 0,
341                                              "description" : "The priority for the link when knet is used in 'passive' mode. Lower value means higher priority.",
342                                              "maximum" : 255,
343                                              "minimum" : 0,
344                                              "optional" : 1,
345                                              "type" : "integer"
346                                           }
347                                        },
348                                        "optional" : 1,
349                                        "type" : "string",
350                                        "typetext" : "[address=]<IP> [,priority=<integer>]"
351                                     },
352                                     "node" : {
353                                        "description" : "The cluster node name.",
354                                        "format" : "pve-node",
355                                        "type" : "string",
356                                        "typetext" : "<string>"
357                                     },
358                                     "nodeid" : {
359                                        "description" : "Node id for this node.",
360                                        "minimum" : 1,
361                                        "optional" : 1,
362                                        "type" : "integer",
363                                        "typetext" : "<integer> (1 - N)"
364                                     },
365                                     "votes" : {
366                                        "description" : "Number of votes for this node",
367                                        "minimum" : 0,
368                                        "optional" : 1,
369                                        "type" : "integer",
370                                        "typetext" : "<integer> (0 - N)"
371                                     }
372                                  }
373                               },
374                               "protected" : 1,
375                               "returns" : {
376                                  "properties" : {
377                                     "corosync_authkey" : {
378                                        "type" : "string"
379                                     },
380                                     "corosync_conf" : {
381                                        "type" : "string"
382                                     }
383                                  },
384                                  "type" : "object"
385                               }
386                            }
387                         },
388                         "leaf" : 1,
389                         "path" : "/cluster/config/nodes/{node}",
390                         "text" : "{node}"
391                      }
392                   ],
393                   "info" : {
394                      "GET" : {
395                         "description" : "Corosync node list.",
396                         "method" : "GET",
397                         "name" : "nodes",
398                         "parameters" : {
399                            "additionalProperties" : 0
400                         },
401                         "permissions" : {
402                            "check" : [
403                               "perm",
404                               "/",
405                               [
406                                  "Sys.Audit"
407                               ]
408                            ]
409                         },
410                         "returns" : {
411                            "items" : {
412                               "properties" : {
413                                  "node" : {
414                                     "type" : "string"
415                                  }
416                               },
417                               "type" : "object"
418                            },
419                            "links" : [
420                               {
421                                  "href" : "{node}",
422                                  "rel" : "child"
423                               }
424                            ],
425                            "type" : "array"
426                         }
427                      }
428                   },
429                   "leaf" : 0,
430                   "path" : "/cluster/config/nodes",
431                   "text" : "nodes"
432                },
433                {
434                   "info" : {
435                      "GET" : {
436                         "description" : "Get information needed to join this cluster over the connected node.",
437                         "method" : "GET",
438                         "name" : "join_info",
439                         "parameters" : {
440                            "additionalProperties" : 0,
441                            "properties" : {
442                               "node" : {
443                                  "default" : "current connected node",
444                                  "description" : "The node for which the joinee gets the nodeinfo. ",
445                                  "format" : "pve-node",
446                                  "optional" : 1,
447                                  "type" : "string",
448                                  "typetext" : "<string>"
449                               }
450                            }
451                         },
452                         "permissions" : {
453                            "check" : [
454                               "perm",
455                               "/",
456                               [
457                                  "Sys.Audit"
458                               ]
459                            ]
460                         },
461                         "returns" : {
462                            "additionalProperties" : 0,
463                            "properties" : {
464                               "config_digest" : {
465                                  "type" : "string"
466                               },
467                               "nodelist" : {
468                                  "items" : {
469                                     "additionalProperties" : 1,
470                                     "properties" : {
471                                        "name" : {
472                                           "description" : "The cluster node name.",
473                                           "format" : "pve-node",
474                                           "type" : "string"
475                                        },
476                                        "nodeid" : {
477                                           "description" : "Node id for this node.",
478                                           "minimum" : 1,
479                                           "optional" : 1,
480                                           "type" : "integer"
481                                        },
482                                        "pve_addr" : {
483                                           "format" : "ip",
484                                           "type" : "string"
485                                        },
486                                        "pve_fp" : {
487                                           "description" : "Certificate SHA 256 fingerprint.",
488                                           "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
489                                           "type" : "string"
490                                        },
491                                        "quorum_votes" : {
492                                           "minimum" : 0,
493                                           "type" : "integer"
494                                        },
495                                        "ring0_addr" : {
496                                           "description" : "Address and priority information of a single corosync link.",
497                                           "format" : {
498                                              "address" : {
499                                                 "default_key" : 1,
500                                                 "description" : "Hostname (or IP) of this corosync link address.",
501                                                 "format" : "address",
502                                                 "format_description" : "IP",
503                                                 "type" : "string"
504                                              },
505                                              "priority" : {
506                                                 "default" : 0,
507                                                 "description" : "The priority for the link when knet is used in 'passive' mode. Lower value means higher priority.",
508                                                 "maximum" : 255,
509                                                 "minimum" : 0,
510                                                 "optional" : 1,
511                                                 "type" : "integer"
512                                              }
513                                           },
514                                           "optional" : 1,
515                                           "type" : "string"
516                                        }
517                                     },
518                                     "type" : "object"
519                                  },
520                                  "type" : "array"
521                               },
522                               "preferred_node" : {
523                                  "description" : "The cluster node name.",
524                                  "format" : "pve-node",
525                                  "type" : "string"
526                               },
527                               "totem" : {
528                                  "type" : "object"
529                               }
530                            },
531                            "type" : "object"
532                         }
533                      },
534                      "POST" : {
535                         "description" : "Joins this node into an existing cluster.",
536                         "method" : "POST",
537                         "name" : "join",
538                         "parameters" : {
539                            "additionalProperties" : 0,
540                            "properties" : {
541                               "fingerprint" : {
542                                  "description" : "Certificate SHA 256 fingerprint.",
543                                  "pattern" : "([A-Fa-f0-9]{2}:){31}[A-Fa-f0-9]{2}",
544                                  "type" : "string"
545                               },
546                               "force" : {
547                                  "description" : "Do not throw error if node already exists.",
548                                  "optional" : 1,
549                                  "type" : "boolean",
550                                  "typetext" : "<boolean>"
551                               },
552                               "hostname" : {
553                                  "description" : "Hostname (or IP) of an existing cluster member.",
554                                  "type" : "string",
555                                  "typetext" : "<string>"
556                               },
557                               "link[n]" : {
558                                  "default" : "IP resolved by node's hostname",
559                                  "description" : "Address and priority information of a single corosync link.",
560                                  "format" : {
561                                     "address" : {
562                                        "default_key" : 1,
563                                        "description" : "Hostname (or IP) of this corosync link address.",
564                                        "format" : "address",
565                                        "format_description" : "IP",
566                                        "type" : "string"
567                                     },
568                                     "priority" : {
569                                        "default" : 0,
570                                        "description" : "The priority for the link when knet is used in 'passive' mode. Lower value means higher priority.",
571                                        "maximum" : 255,
572                                        "minimum" : 0,
573                                        "optional" : 1,
574                                        "type" : "integer"
575                                     }
576                                  },
577                                  "optional" : 1,
578                                  "type" : "string",
579                                  "typetext" : "[address=]<IP> [,priority=<integer>]"
580                               },
581                               "nodeid" : {
582                                  "description" : "Node id for this node.",
583                                  "minimum" : 1,
584                                  "optional" : 1,
585                                  "type" : "integer",
586                                  "typetext" : "<integer> (1 - N)"
587                               },
588                               "password" : {
589                                  "description" : "Superuser (root) password of peer node.",
590                                  "maxLength" : 128,
591                                  "type" : "string",
592                                  "typetext" : "<string>"
593                               },
594                               "votes" : {
595                                  "description" : "Number of votes for this node",
596                                  "minimum" : 0,
597                                  "optional" : 1,
598                                  "type" : "integer",
599                                  "typetext" : "<integer> (0 - N)"
600                               }
601                            }
602                         },
603                         "protected" : 1,
604                         "returns" : {
605                            "type" : "string"
606                         }
607                      }
608                   },
609                   "leaf" : 1,
610                   "path" : "/cluster/config/join",
611                   "text" : "join"
612                },
613                {
614                   "info" : {
615                      "GET" : {
616                         "description" : "Get corosync totem protocol settings.",
617                         "method" : "GET",
618                         "name" : "totem",
619                         "parameters" : {
620                            "additionalProperties" : 0
621                         },
622                         "permissions" : {
623                            "check" : [
624                               "perm",
625                               "/",
626                               [
627                                  "Sys.Audit"
628                               ]
629                            ]
630                         },
631                         "returns" : {
632                            "type" : "object"
633                         }
634                      }
635                   },
636                   "leaf" : 1,
637                   "path" : "/cluster/config/totem",
638                   "text" : "totem"
639                }
640             ],
641             "info" : {
642                "GET" : {
643                   "description" : "Directory index.",
644                   "method" : "GET",
645                   "name" : "index",
646                   "parameters" : {
647                      "additionalProperties" : 0
648                   },
649                   "permissions" : {
650                      "check" : [
651                         "perm",
652                         "/",
653                         [
654                            "Sys.Audit"
655                         ]
656                      ]
657                   },
658                   "returns" : {
659                      "items" : {
660                         "properties" : {},
661                         "type" : "object"
662                      },
663                      "links" : [
664                         {
665                            "href" : "{name}",
666                            "rel" : "child"
667                         }
668                      ],
669                      "type" : "array"
670                   }
671                },
672                "POST" : {
673                   "description" : "Generate new cluster configuration.",
674                   "method" : "POST",
675                   "name" : "create",
676                   "parameters" : {
677                      "additionalProperties" : 0,
678                      "properties" : {
679                         "clustername" : {
680                            "description" : "The name of the cluster.",
681                            "format" : "pve-node",
682                            "maxLength" : 15,
683                            "type" : "string",
684                            "typetext" : "<string>"
685                         },
686                         "link[n]" : {
687                            "description" : "Address and priority information of a single corosync link.",
688                            "format" : {
689                               "address" : {
690                                  "default_key" : 1,
691                                  "description" : "Hostname (or IP) of this corosync link address.",
692                                  "format" : "address",
693                                  "format_description" : "IP",
694                                  "type" : "string"
695                               },
696                               "priority" : {
697                                  "default" : 0,
698                                  "description" : "The priority for the link when knet is used in 'passive' mode. Lower value means higher priority.",
699                                  "maximum" : 255,
700                                  "minimum" : 0,
701                                  "optional" : 1,
702                                  "type" : "integer"
703                               }
704                            },
705                            "optional" : 1,
706                            "type" : "string",
707                            "typetext" : "[address=]<IP> [,priority=<integer>]"
708                         },
709                         "nodeid" : {
710                            "description" : "Node id for this node.",
711                            "minimum" : 1,
712                            "optional" : 1,
713                            "type" : "integer",
714                            "typetext" : "<integer> (1 - N)"
715                         },
716                         "votes" : {
717                            "description" : "Number of votes for this node.",
718                            "minimum" : 1,
719                            "optional" : 1,
720                            "type" : "integer",
721                            "typetext" : "<integer> (1 - N)"
722                         }
723                      }
724                   },
725                   "protected" : 1,
726                   "returns" : {
727                      "type" : "string"
728                   }
729                }
730             },
731             "leaf" : 0,
732             "path" : "/cluster/config",
733             "text" : "config"
734          },
735          {
736             "children" : [
737                {
738                   "children" : [
739                      {
740                         "children" : [
741                            {
742                               "info" : {
743                                  "DELETE" : {
744                                     "description" : "Delete rule.",
745                                     "method" : "DELETE",
746                                     "name" : "delete_rule",
747                                     "parameters" : {
748                                        "additionalProperties" : 0,
749                                        "properties" : {
750                                           "digest" : {
751                                              "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
752                                              "maxLength" : 40,
753                                              "optional" : 1,
754                                              "type" : "string",
755                                              "typetext" : "<string>"
756                                           },
757                                           "group" : {
758                                              "description" : "Security Group name.",
759                                              "maxLength" : 18,
760                                              "minLength" : 2,
761                                              "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
762                                              "type" : "string"
763                                           },
764                                           "pos" : {
765                                              "description" : "Update rule at position <pos>.",
766                                              "minimum" : 0,
767                                              "optional" : 1,
768                                              "type" : "integer",
769                                              "typetext" : "<integer> (0 - N)"
770                                           }
771                                        }
772                                     },
773                                     "permissions" : {
774                                        "check" : [
775                                           "perm",
776                                           "/",
777                                           [
778                                              "Sys.Modify"
779                                           ]
780                                        ]
781                                     },
782                                     "protected" : 1,
783                                     "proxyto" : null,
784                                     "returns" : {
785                                        "type" : "null"
786                                     }
787                                  },
788                                  "GET" : {
789                                     "description" : "Get single rule data.",
790                                     "method" : "GET",
791                                     "name" : "get_rule",
792                                     "parameters" : {
793                                        "additionalProperties" : 0,
794                                        "properties" : {
795                                           "group" : {
796                                              "description" : "Security Group name.",
797                                              "maxLength" : 18,
798                                              "minLength" : 2,
799                                              "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
800                                              "type" : "string"
801                                           },
802                                           "pos" : {
803                                              "description" : "Update rule at position <pos>.",
804                                              "minimum" : 0,
805                                              "optional" : 1,
806                                              "type" : "integer",
807                                              "typetext" : "<integer> (0 - N)"
808                                           }
809                                        }
810                                     },
811                                     "permissions" : {
812                                        "check" : [
813                                           "perm",
814                                           "/",
815                                           [
816                                              "Sys.Audit"
817                                           ]
818                                        ]
819                                     },
820                                     "proxyto" : null,
821                                     "returns" : {
822                                        "properties" : {
823                                           "action" : {
824                                              "type" : "string"
825                                           },
826                                           "comment" : {
827                                              "optional" : 1,
828                                              "type" : "string"
829                                           },
830                                           "dest" : {
831                                              "optional" : 1,
832                                              "type" : "string"
833                                           },
834                                           "dport" : {
835                                              "optional" : 1,
836                                              "type" : "string"
837                                           },
838                                           "enable" : {
839                                              "optional" : 1,
840                                              "type" : "integer"
841                                           },
842                                           "iface" : {
843                                              "optional" : 1,
844                                              "type" : "string"
845                                           },
846                                           "ipversion" : {
847                                              "optional" : 1,
848                                              "type" : "integer"
849                                           },
850                                           "log" : {
851                                              "description" : "Log level for firewall rule",
852                                              "enum" : [
853                                                 "emerg",
854                                                 "alert",
855                                                 "crit",
856                                                 "err",
857                                                 "warning",
858                                                 "notice",
859                                                 "info",
860                                                 "debug",
861                                                 "nolog"
862                                              ],
863                                              "optional" : 1,
864                                              "type" : "string"
865                                           },
866                                           "macro" : {
867                                              "optional" : 1,
868                                              "type" : "string"
869                                           },
870                                           "pos" : {
871                                              "type" : "integer"
872                                           },
873                                           "proto" : {
874                                              "optional" : 1,
875                                              "type" : "string"
876                                           },
877                                           "source" : {
878                                              "optional" : 1,
879                                              "type" : "string"
880                                           },
881                                           "sport" : {
882                                              "optional" : 1,
883                                              "type" : "string"
884                                           },
885                                           "type" : {
886                                              "type" : "string"
887                                           }
888                                        },
889                                        "type" : "object"
890                                     }
891                                  },
892                                  "PUT" : {
893                                     "description" : "Modify rule data.",
894                                     "method" : "PUT",
895                                     "name" : "update_rule",
896                                     "parameters" : {
897                                        "additionalProperties" : 0,
898                                        "properties" : {
899                                           "action" : {
900                                              "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
901                                              "maxLength" : 20,
902                                              "minLength" : 2,
903                                              "optional" : 1,
904                                              "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
905                                              "type" : "string"
906                                           },
907                                           "comment" : {
908                                              "description" : "Descriptive comment.",
909                                              "optional" : 1,
910                                              "type" : "string",
911                                              "typetext" : "<string>"
912                                           },
913                                           "delete" : {
914                                              "description" : "A list of settings you want to delete.",
915                                              "format" : "pve-configid-list",
916                                              "optional" : 1,
917                                              "type" : "string",
918                                              "typetext" : "<string>"
919                                           },
920                                           "dest" : {
921                                              "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.",
922                                              "format" : "pve-fw-addr-spec",
923                                              "optional" : 1,
924                                              "type" : "string",
925                                              "typetext" : "<string>"
926                                           },
927                                           "digest" : {
928                                              "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
929                                              "maxLength" : 40,
930                                              "optional" : 1,
931                                              "type" : "string",
932                                              "typetext" : "<string>"
933                                           },
934                                           "dport" : {
935                                              "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.",
936                                              "format" : "pve-fw-dport-spec",
937                                              "optional" : 1,
938                                              "type" : "string",
939                                              "typetext" : "<string>"
940                                           },
941                                           "enable" : {
942                                              "description" : "Flag to enable/disable a rule.",
943                                              "minimum" : 0,
944                                              "optional" : 1,
945                                              "type" : "integer",
946                                              "typetext" : "<integer> (0 - N)"
947                                           },
948                                           "group" : {
949                                              "description" : "Security Group name.",
950                                              "maxLength" : 18,
951                                              "minLength" : 2,
952                                              "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
953                                              "type" : "string"
954                                           },
955                                           "iface" : {
956                                              "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.",
957                                              "format" : "pve-iface",
958                                              "maxLength" : 20,
959                                              "minLength" : 2,
960                                              "optional" : 1,
961                                              "type" : "string",
962                                              "typetext" : "<string>"
963                                           },
964                                           "log" : {
965                                              "description" : "Log level for firewall rule.",
966                                              "enum" : [
967                                                 "emerg",
968                                                 "alert",
969                                                 "crit",
970                                                 "err",
971                                                 "warning",
972                                                 "notice",
973                                                 "info",
974                                                 "debug",
975                                                 "nolog"
976                                              ],
977                                              "optional" : 1,
978                                              "type" : "string"
979                                           },
980                                           "macro" : {
981                                              "description" : "Use predefined standard macro.",
982                                              "maxLength" : 128,
983                                              "optional" : 1,
984                                              "type" : "string",
985                                              "typetext" : "<string>"
986                                           },
987                                           "moveto" : {
988                                              "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
989                                              "minimum" : 0,
990                                              "optional" : 1,
991                                              "type" : "integer",
992                                              "typetext" : "<integer> (0 - N)"
993                                           },
994                                           "pos" : {
995                                              "description" : "Update rule at position <pos>.",
996                                              "minimum" : 0,
997                                              "optional" : 1,
998                                              "type" : "integer",
999                                              "typetext" : "<integer> (0 - N)"
1000                                           },
1001                                           "proto" : {
1002                                              "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1003                                              "format" : "pve-fw-protocol-spec",
1004                                              "optional" : 1,
1005                                              "type" : "string",
1006                                              "typetext" : "<string>"
1007                                           },
1008                                           "source" : {
1009                                              "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.",
1010                                              "format" : "pve-fw-addr-spec",
1011                                              "optional" : 1,
1012                                              "type" : "string",
1013                                              "typetext" : "<string>"
1014                                           },
1015                                           "sport" : {
1016                                              "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.",
1017                                              "format" : "pve-fw-sport-spec",
1018                                              "optional" : 1,
1019                                              "type" : "string",
1020                                              "typetext" : "<string>"
1021                                           },
1022                                           "type" : {
1023                                              "description" : "Rule type.",
1024                                              "enum" : [
1025                                                 "in",
1026                                                 "out",
1027                                                 "group"
1028                                              ],
1029                                              "optional" : 1,
1030                                              "type" : "string"
1031                                           }
1032                                        }
1033                                     },
1034                                     "permissions" : {
1035                                        "check" : [
1036                                           "perm",
1037                                           "/",
1038                                           [
1039                                              "Sys.Modify"
1040                                           ]
1041                                        ]
1042                                     },
1043                                     "protected" : 1,
1044                                     "proxyto" : null,
1045                                     "returns" : {
1046                                        "type" : "null"
1047                                     }
1048                                  }
1049                               },
1050                               "leaf" : 1,
1051                               "path" : "/cluster/firewall/groups/{group}/{pos}",
1052                               "text" : "{pos}"
1053                            }
1054                         ],
1055                         "info" : {
1056                            "DELETE" : {
1057                               "description" : "Delete security group.",
1058                               "method" : "DELETE",
1059                               "name" : "delete_security_group",
1060                               "parameters" : {
1061                                  "additionalProperties" : 0,
1062                                  "properties" : {
1063                                     "group" : {
1064                                        "description" : "Security Group name.",
1065                                        "maxLength" : 18,
1066                                        "minLength" : 2,
1067                                        "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1068                                        "type" : "string"
1069                                     }
1070                                  }
1071                               },
1072                               "permissions" : {
1073                                  "check" : [
1074                                     "perm",
1075                                     "/",
1076                                     [
1077                                        "Sys.Modify"
1078                                     ]
1079                                  ]
1080                               },
1081                               "protected" : 1,
1082                               "returns" : {
1083                                  "type" : "null"
1084                               }
1085                            },
1086                            "GET" : {
1087                               "description" : "List rules.",
1088                               "method" : "GET",
1089                               "name" : "get_rules",
1090                               "parameters" : {
1091                                  "additionalProperties" : 0,
1092                                  "properties" : {
1093                                     "group" : {
1094                                        "description" : "Security Group name.",
1095                                        "maxLength" : 18,
1096                                        "minLength" : 2,
1097                                        "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1098                                        "type" : "string"
1099                                     }
1100                                  }
1101                               },
1102                               "permissions" : {
1103                                  "check" : [
1104                                     "perm",
1105                                     "/",
1106                                     [
1107                                        "Sys.Audit"
1108                                     ]
1109                                  ]
1110                               },
1111                               "proxyto" : null,
1112                               "returns" : {
1113                                  "items" : {
1114                                     "properties" : {
1115                                        "pos" : {
1116                                           "type" : "integer"
1117                                        }
1118                                     },
1119                                     "type" : "object"
1120                                  },
1121                                  "links" : [
1122                                     {
1123                                        "href" : "{pos}",
1124                                        "rel" : "child"
1125                                     }
1126                                  ],
1127                                  "type" : "array"
1128                               }
1129                            },
1130                            "POST" : {
1131                               "description" : "Create new rule.",
1132                               "method" : "POST",
1133                               "name" : "create_rule",
1134                               "parameters" : {
1135                                  "additionalProperties" : 0,
1136                                  "properties" : {
1137                                     "action" : {
1138                                        "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1139                                        "maxLength" : 20,
1140                                        "minLength" : 2,
1141                                        "optional" : 0,
1142                                        "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1143                                        "type" : "string"
1144                                     },
1145                                     "comment" : {
1146                                        "description" : "Descriptive comment.",
1147                                        "optional" : 1,
1148                                        "type" : "string",
1149                                        "typetext" : "<string>"
1150                                     },
1151                                     "dest" : {
1152                                        "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.",
1153                                        "format" : "pve-fw-addr-spec",
1154                                        "optional" : 1,
1155                                        "type" : "string",
1156                                        "typetext" : "<string>"
1157                                     },
1158                                     "digest" : {
1159                                        "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1160                                        "maxLength" : 40,
1161                                        "optional" : 1,
1162                                        "type" : "string",
1163                                        "typetext" : "<string>"
1164                                     },
1165                                     "dport" : {
1166                                        "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.",
1167                                        "format" : "pve-fw-dport-spec",
1168                                        "optional" : 1,
1169                                        "type" : "string",
1170                                        "typetext" : "<string>"
1171                                     },
1172                                     "enable" : {
1173                                        "description" : "Flag to enable/disable a rule.",
1174                                        "minimum" : 0,
1175                                        "optional" : 1,
1176                                        "type" : "integer",
1177                                        "typetext" : "<integer> (0 - N)"
1178                                     },
1179                                     "group" : {
1180                                        "description" : "Security Group name.",
1181                                        "maxLength" : 18,
1182                                        "minLength" : 2,
1183                                        "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1184                                        "type" : "string"
1185                                     },
1186                                     "iface" : {
1187                                        "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.",
1188                                        "format" : "pve-iface",
1189                                        "maxLength" : 20,
1190                                        "minLength" : 2,
1191                                        "optional" : 1,
1192                                        "type" : "string",
1193                                        "typetext" : "<string>"
1194                                     },
1195                                     "log" : {
1196                                        "description" : "Log level for firewall rule.",
1197                                        "enum" : [
1198                                           "emerg",
1199                                           "alert",
1200                                           "crit",
1201                                           "err",
1202                                           "warning",
1203                                           "notice",
1204                                           "info",
1205                                           "debug",
1206                                           "nolog"
1207                                        ],
1208                                        "optional" : 1,
1209                                        "type" : "string"
1210                                     },
1211                                     "macro" : {
1212                                        "description" : "Use predefined standard macro.",
1213                                        "maxLength" : 128,
1214                                        "optional" : 1,
1215                                        "type" : "string",
1216                                        "typetext" : "<string>"
1217                                     },
1218                                     "pos" : {
1219                                        "description" : "Update rule at position <pos>.",
1220                                        "minimum" : 0,
1221                                        "optional" : 1,
1222                                        "type" : "integer",
1223                                        "typetext" : "<integer> (0 - N)"
1224                                     },
1225                                     "proto" : {
1226                                        "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1227                                        "format" : "pve-fw-protocol-spec",
1228                                        "optional" : 1,
1229                                        "type" : "string",
1230                                        "typetext" : "<string>"
1231                                     },
1232                                     "source" : {
1233                                        "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.",
1234                                        "format" : "pve-fw-addr-spec",
1235                                        "optional" : 1,
1236                                        "type" : "string",
1237                                        "typetext" : "<string>"
1238                                     },
1239                                     "sport" : {
1240                                        "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.",
1241                                        "format" : "pve-fw-sport-spec",
1242                                        "optional" : 1,
1243                                        "type" : "string",
1244                                        "typetext" : "<string>"
1245                                     },
1246                                     "type" : {
1247                                        "description" : "Rule type.",
1248                                        "enum" : [
1249                                           "in",
1250                                           "out",
1251                                           "group"
1252                                        ],
1253                                        "optional" : 0,
1254                                        "type" : "string"
1255                                     }
1256                                  }
1257                               },
1258                               "permissions" : {
1259                                  "check" : [
1260                                     "perm",
1261                                     "/",
1262                                     [
1263                                        "Sys.Modify"
1264                                     ]
1265                                  ]
1266                               },
1267                               "protected" : 1,
1268                               "proxyto" : null,
1269                               "returns" : {
1270                                  "type" : "null"
1271                               }
1272                            }
1273                         },
1274                         "leaf" : 0,
1275                         "path" : "/cluster/firewall/groups/{group}",
1276                         "text" : "{group}"
1277                      }
1278                   ],
1279                   "info" : {
1280                      "GET" : {
1281                         "description" : "List security groups.",
1282                         "method" : "GET",
1283                         "name" : "list_security_groups",
1284                         "parameters" : {
1285                            "additionalProperties" : 0
1286                         },
1287                         "permissions" : {
1288                            "user" : "all"
1289                         },
1290                         "returns" : {
1291                            "items" : {
1292                               "properties" : {
1293                                  "comment" : {
1294                                     "optional" : 1,
1295                                     "type" : "string"
1296                                  },
1297                                  "digest" : {
1298                                     "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1299                                     "maxLength" : 40,
1300                                     "optional" : 0,
1301                                     "type" : "string"
1302                                  },
1303                                  "group" : {
1304                                     "description" : "Security Group name.",
1305                                     "maxLength" : 18,
1306                                     "minLength" : 2,
1307                                     "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1308                                     "type" : "string"
1309                                  }
1310                               },
1311                               "type" : "object"
1312                            },
1313                            "links" : [
1314                               {
1315                                  "href" : "{group}",
1316                                  "rel" : "child"
1317                               }
1318                            ],
1319                            "type" : "array"
1320                         }
1321                      },
1322                      "POST" : {
1323                         "description" : "Create new security group.",
1324                         "method" : "POST",
1325                         "name" : "create_security_group",
1326                         "parameters" : {
1327                            "additionalProperties" : 0,
1328                            "properties" : {
1329                               "comment" : {
1330                                  "optional" : 1,
1331                                  "type" : "string",
1332                                  "typetext" : "<string>"
1333                               },
1334                               "digest" : {
1335                                  "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1336                                  "maxLength" : 40,
1337                                  "optional" : 1,
1338                                  "type" : "string",
1339                                  "typetext" : "<string>"
1340                               },
1341                               "group" : {
1342                                  "description" : "Security Group name.",
1343                                  "maxLength" : 18,
1344                                  "minLength" : 2,
1345                                  "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1346                                  "type" : "string"
1347                               },
1348                               "rename" : {
1349                                  "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.",
1350                                  "maxLength" : 18,
1351                                  "minLength" : 2,
1352                                  "optional" : 1,
1353                                  "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1354                                  "type" : "string"
1355                               }
1356                            }
1357                         },
1358                         "permissions" : {
1359                            "check" : [
1360                               "perm",
1361                               "/",
1362                               [
1363                                  "Sys.Modify"
1364                               ]
1365                            ]
1366                         },
1367                         "protected" : 1,
1368                         "returns" : {
1369                            "type" : "null"
1370                         }
1371                      }
1372                   },
1373                   "leaf" : 0,
1374                   "path" : "/cluster/firewall/groups",
1375                   "text" : "groups"
1376                },
1377                {
1378                   "children" : [
1379                      {
1380                         "info" : {
1381                            "DELETE" : {
1382                               "description" : "Delete rule.",
1383                               "method" : "DELETE",
1384                               "name" : "delete_rule",
1385                               "parameters" : {
1386                                  "additionalProperties" : 0,
1387                                  "properties" : {
1388                                     "digest" : {
1389                                        "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1390                                        "maxLength" : 40,
1391                                        "optional" : 1,
1392                                        "type" : "string",
1393                                        "typetext" : "<string>"
1394                                     },
1395                                     "pos" : {
1396                                        "description" : "Update rule at position <pos>.",
1397                                        "minimum" : 0,
1398                                        "optional" : 1,
1399                                        "type" : "integer",
1400                                        "typetext" : "<integer> (0 - N)"
1401                                     }
1402                                  }
1403                               },
1404                               "permissions" : {
1405                                  "check" : [
1406                                     "perm",
1407                                     "/",
1408                                     [
1409                                        "Sys.Modify"
1410                                     ]
1411                                  ]
1412                               },
1413                               "protected" : 1,
1414                               "proxyto" : null,
1415                               "returns" : {
1416                                  "type" : "null"
1417                               }
1418                            },
1419                            "GET" : {
1420                               "description" : "Get single rule data.",
1421                               "method" : "GET",
1422                               "name" : "get_rule",
1423                               "parameters" : {
1424                                  "additionalProperties" : 0,
1425                                  "properties" : {
1426                                     "pos" : {
1427                                        "description" : "Update rule at position <pos>.",
1428                                        "minimum" : 0,
1429                                        "optional" : 1,
1430                                        "type" : "integer",
1431                                        "typetext" : "<integer> (0 - N)"
1432                                     }
1433                                  }
1434                               },
1435                               "permissions" : {
1436                                  "check" : [
1437                                     "perm",
1438                                     "/",
1439                                     [
1440                                        "Sys.Audit"
1441                                     ]
1442                                  ]
1443                               },
1444                               "proxyto" : null,
1445                               "returns" : {
1446                                  "properties" : {
1447                                     "action" : {
1448                                        "type" : "string"
1449                                     },
1450                                     "comment" : {
1451                                        "optional" : 1,
1452                                        "type" : "string"
1453                                     },
1454                                     "dest" : {
1455                                        "optional" : 1,
1456                                        "type" : "string"
1457                                     },
1458                                     "dport" : {
1459                                        "optional" : 1,
1460                                        "type" : "string"
1461                                     },
1462                                     "enable" : {
1463                                        "optional" : 1,
1464                                        "type" : "integer"
1465                                     },
1466                                     "iface" : {
1467                                        "optional" : 1,
1468                                        "type" : "string"
1469                                     },
1470                                     "ipversion" : {
1471                                        "optional" : 1,
1472                                        "type" : "integer"
1473                                     },
1474                                     "log" : {
1475                                        "description" : "Log level for firewall rule",
1476                                        "enum" : [
1477                                           "emerg",
1478                                           "alert",
1479                                           "crit",
1480                                           "err",
1481                                           "warning",
1482                                           "notice",
1483                                           "info",
1484                                           "debug",
1485                                           "nolog"
1486                                        ],
1487                                        "optional" : 1,
1488                                        "type" : "string"
1489                                     },
1490                                     "macro" : {
1491                                        "optional" : 1,
1492                                        "type" : "string"
1493                                     },
1494                                     "pos" : {
1495                                        "type" : "integer"
1496                                     },
1497                                     "proto" : {
1498                                        "optional" : 1,
1499                                        "type" : "string"
1500                                     },
1501                                     "source" : {
1502                                        "optional" : 1,
1503                                        "type" : "string"
1504                                     },
1505                                     "sport" : {
1506                                        "optional" : 1,
1507                                        "type" : "string"
1508                                     },
1509                                     "type" : {
1510                                        "type" : "string"
1511                                     }
1512                                  },
1513                                  "type" : "object"
1514                               }
1515                            },
1516                            "PUT" : {
1517                               "description" : "Modify rule data.",
1518                               "method" : "PUT",
1519                               "name" : "update_rule",
1520                               "parameters" : {
1521                                  "additionalProperties" : 0,
1522                                  "properties" : {
1523                                     "action" : {
1524                                        "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1525                                        "maxLength" : 20,
1526                                        "minLength" : 2,
1527                                        "optional" : 1,
1528                                        "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1529                                        "type" : "string"
1530                                     },
1531                                     "comment" : {
1532                                        "description" : "Descriptive comment.",
1533                                        "optional" : 1,
1534                                        "type" : "string",
1535                                        "typetext" : "<string>"
1536                                     },
1537                                     "delete" : {
1538                                        "description" : "A list of settings you want to delete.",
1539                                        "format" : "pve-configid-list",
1540                                        "optional" : 1,
1541                                        "type" : "string",
1542                                        "typetext" : "<string>"
1543                                     },
1544                                     "dest" : {
1545                                        "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.",
1546                                        "format" : "pve-fw-addr-spec",
1547                                        "optional" : 1,
1548                                        "type" : "string",
1549                                        "typetext" : "<string>"
1550                                     },
1551                                     "digest" : {
1552                                        "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1553                                        "maxLength" : 40,
1554                                        "optional" : 1,
1555                                        "type" : "string",
1556                                        "typetext" : "<string>"
1557                                     },
1558                                     "dport" : {
1559                                        "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.",
1560                                        "format" : "pve-fw-dport-spec",
1561                                        "optional" : 1,
1562                                        "type" : "string",
1563                                        "typetext" : "<string>"
1564                                     },
1565                                     "enable" : {
1566                                        "description" : "Flag to enable/disable a rule.",
1567                                        "minimum" : 0,
1568                                        "optional" : 1,
1569                                        "type" : "integer",
1570                                        "typetext" : "<integer> (0 - N)"
1571                                     },
1572                                     "iface" : {
1573                                        "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.",
1574                                        "format" : "pve-iface",
1575                                        "maxLength" : 20,
1576                                        "minLength" : 2,
1577                                        "optional" : 1,
1578                                        "type" : "string",
1579                                        "typetext" : "<string>"
1580                                     },
1581                                     "log" : {
1582                                        "description" : "Log level for firewall rule.",
1583                                        "enum" : [
1584                                           "emerg",
1585                                           "alert",
1586                                           "crit",
1587                                           "err",
1588                                           "warning",
1589                                           "notice",
1590                                           "info",
1591                                           "debug",
1592                                           "nolog"
1593                                        ],
1594                                        "optional" : 1,
1595                                        "type" : "string"
1596                                     },
1597                                     "macro" : {
1598                                        "description" : "Use predefined standard macro.",
1599                                        "maxLength" : 128,
1600                                        "optional" : 1,
1601                                        "type" : "string",
1602                                        "typetext" : "<string>"
1603                                     },
1604                                     "moveto" : {
1605                                        "description" : "Move rule to new position <moveto>. Other arguments are ignored.",
1606                                        "minimum" : 0,
1607                                        "optional" : 1,
1608                                        "type" : "integer",
1609                                        "typetext" : "<integer> (0 - N)"
1610                                     },
1611                                     "pos" : {
1612                                        "description" : "Update rule at position <pos>.",
1613                                        "minimum" : 0,
1614                                        "optional" : 1,
1615                                        "type" : "integer",
1616                                        "typetext" : "<integer> (0 - N)"
1617                                     },
1618                                     "proto" : {
1619                                        "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1620                                        "format" : "pve-fw-protocol-spec",
1621                                        "optional" : 1,
1622                                        "type" : "string",
1623                                        "typetext" : "<string>"
1624                                     },
1625                                     "source" : {
1626                                        "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.",
1627                                        "format" : "pve-fw-addr-spec",
1628                                        "optional" : 1,
1629                                        "type" : "string",
1630                                        "typetext" : "<string>"
1631                                     },
1632                                     "sport" : {
1633                                        "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.",
1634                                        "format" : "pve-fw-sport-spec",
1635                                        "optional" : 1,
1636                                        "type" : "string",
1637                                        "typetext" : "<string>"
1638                                     },
1639                                     "type" : {
1640                                        "description" : "Rule type.",
1641                                        "enum" : [
1642                                           "in",
1643                                           "out",
1644                                           "group"
1645                                        ],
1646                                        "optional" : 1,
1647                                        "type" : "string"
1648                                     }
1649                                  }
1650                               },
1651                               "permissions" : {
1652                                  "check" : [
1653                                     "perm",
1654                                     "/",
1655                                     [
1656                                        "Sys.Modify"
1657                                     ]
1658                                  ]
1659                               },
1660                               "protected" : 1,
1661                               "proxyto" : null,
1662                               "returns" : {
1663                                  "type" : "null"
1664                               }
1665                            }
1666                         },
1667                         "leaf" : 1,
1668                         "path" : "/cluster/firewall/rules/{pos}",
1669                         "text" : "{pos}"
1670                      }
1671                   ],
1672                   "info" : {
1673                      "GET" : {
1674                         "description" : "List rules.",
1675                         "method" : "GET",
1676                         "name" : "get_rules",
1677                         "parameters" : {
1678                            "additionalProperties" : 0
1679                         },
1680                         "permissions" : {
1681                            "check" : [
1682                               "perm",
1683                               "/",
1684                               [
1685                                  "Sys.Audit"
1686                               ]
1687                            ]
1688                         },
1689                         "proxyto" : null,
1690                         "returns" : {
1691                            "items" : {
1692                               "properties" : {
1693                                  "pos" : {
1694                                     "type" : "integer"
1695                                  }
1696                               },
1697                               "type" : "object"
1698                            },
1699                            "links" : [
1700                               {
1701                                  "href" : "{pos}",
1702                                  "rel" : "child"
1703                               }
1704                            ],
1705                            "type" : "array"
1706                         }
1707                      },
1708                      "POST" : {
1709                         "description" : "Create new rule.",
1710                         "method" : "POST",
1711                         "name" : "create_rule",
1712                         "parameters" : {
1713                            "additionalProperties" : 0,
1714                            "properties" : {
1715                               "action" : {
1716                                  "description" : "Rule action ('ACCEPT', 'DROP', 'REJECT') or security group name.",
1717                                  "maxLength" : 20,
1718                                  "minLength" : 2,
1719                                  "optional" : 0,
1720                                  "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1721                                  "type" : "string"
1722                               },
1723                               "comment" : {
1724                                  "description" : "Descriptive comment.",
1725                                  "optional" : 1,
1726                                  "type" : "string",
1727                                  "typetext" : "<string>"
1728                               },
1729                               "dest" : {
1730                                  "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.",
1731                                  "format" : "pve-fw-addr-spec",
1732                                  "optional" : 1,
1733                                  "type" : "string",
1734                                  "typetext" : "<string>"
1735                               },
1736                               "digest" : {
1737                                  "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1738                                  "maxLength" : 40,
1739                                  "optional" : 1,
1740                                  "type" : "string",
1741                                  "typetext" : "<string>"
1742                               },
1743                               "dport" : {
1744                                  "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.",
1745                                  "format" : "pve-fw-dport-spec",
1746                                  "optional" : 1,
1747                                  "type" : "string",
1748                                  "typetext" : "<string>"
1749                               },
1750                               "enable" : {
1751                                  "description" : "Flag to enable/disable a rule.",
1752                                  "minimum" : 0,
1753                                  "optional" : 1,
1754                                  "type" : "integer",
1755                                  "typetext" : "<integer> (0 - N)"
1756                               },
1757                               "iface" : {
1758                                  "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.",
1759                                  "format" : "pve-iface",
1760                                  "maxLength" : 20,
1761                                  "minLength" : 2,
1762                                  "optional" : 1,
1763                                  "type" : "string",
1764                                  "typetext" : "<string>"
1765                               },
1766                               "log" : {
1767                                  "description" : "Log level for firewall rule.",
1768                                  "enum" : [
1769                                     "emerg",
1770                                     "alert",
1771                                     "crit",
1772                                     "err",
1773                                     "warning",
1774                                     "notice",
1775                                     "info",
1776                                     "debug",
1777                                     "nolog"
1778                                  ],
1779                                  "optional" : 1,
1780                                  "type" : "string"
1781                               },
1782                               "macro" : {
1783                                  "description" : "Use predefined standard macro.",
1784                                  "maxLength" : 128,
1785                                  "optional" : 1,
1786                                  "type" : "string",
1787                                  "typetext" : "<string>"
1788                               },
1789                               "pos" : {
1790                                  "description" : "Update rule at position <pos>.",
1791                                  "minimum" : 0,
1792                                  "optional" : 1,
1793                                  "type" : "integer",
1794                                  "typetext" : "<integer> (0 - N)"
1795                               },
1796                               "proto" : {
1797                                  "description" : "IP protocol. You can use protocol names ('tcp'/'udp') or simple numbers, as defined in '/etc/protocols'.",
1798                                  "format" : "pve-fw-protocol-spec",
1799                                  "optional" : 1,
1800                                  "type" : "string",
1801                                  "typetext" : "<string>"
1802                               },
1803                               "source" : {
1804                                  "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.",
1805                                  "format" : "pve-fw-addr-spec",
1806                                  "optional" : 1,
1807                                  "type" : "string",
1808                                  "typetext" : "<string>"
1809                               },
1810                               "sport" : {
1811                                  "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.",
1812                                  "format" : "pve-fw-sport-spec",
1813                                  "optional" : 1,
1814                                  "type" : "string",
1815                                  "typetext" : "<string>"
1816                               },
1817                               "type" : {
1818                                  "description" : "Rule type.",
1819                                  "enum" : [
1820                                     "in",
1821                                     "out",
1822                                     "group"
1823                                  ],
1824                                  "optional" : 0,
1825                                  "type" : "string"
1826                               }
1827                            }
1828                         },
1829                         "permissions" : {
1830                            "check" : [
1831                               "perm",
1832                               "/",
1833                               [
1834                                  "Sys.Modify"
1835                               ]
1836                            ]
1837                         },
1838                         "protected" : 1,
1839                         "proxyto" : null,
1840                         "returns" : {
1841                            "type" : "null"
1842                         }
1843                      }
1844                   },
1845                   "leaf" : 0,
1846                   "path" : "/cluster/firewall/rules",
1847                   "text" : "rules"
1848                },
1849                {
1850                   "children" : [
1851                      {
1852                         "children" : [
1853                            {
1854                               "info" : {
1855                                  "DELETE" : {
1856                                     "description" : "Remove IP or Network from IPSet.",
1857                                     "method" : "DELETE",
1858                                     "name" : "remove_ip",
1859                                     "parameters" : {
1860                                        "additionalProperties" : 0,
1861                                        "properties" : {
1862                                           "cidr" : {
1863                                              "description" : "Network/IP specification in CIDR format.",
1864                                              "format" : "IPorCIDRorAlias",
1865                                              "type" : "string",
1866                                              "typetext" : "<string>"
1867                                           },
1868                                           "digest" : {
1869                                              "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1870                                              "maxLength" : 40,
1871                                              "optional" : 1,
1872                                              "type" : "string",
1873                                              "typetext" : "<string>"
1874                                           },
1875                                           "name" : {
1876                                              "description" : "IP set name.",
1877                                              "maxLength" : 64,
1878                                              "minLength" : 2,
1879                                              "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1880                                              "type" : "string"
1881                                           }
1882                                        }
1883                                     },
1884                                     "permissions" : {
1885                                        "check" : [
1886                                           "perm",
1887                                           "/",
1888                                           [
1889                                              "Sys.Modify"
1890                                           ]
1891                                        ]
1892                                     },
1893                                     "protected" : 1,
1894                                     "returns" : {
1895                                        "type" : "null"
1896                                     }
1897                                  },
1898                                  "GET" : {
1899                                     "description" : "Read IP or Network settings from IPSet.",
1900                                     "method" : "GET",
1901                                     "name" : "read_ip",
1902                                     "parameters" : {
1903                                        "additionalProperties" : 0,
1904                                        "properties" : {
1905                                           "cidr" : {
1906                                              "description" : "Network/IP specification in CIDR format.",
1907                                              "format" : "IPorCIDRorAlias",
1908                                              "type" : "string",
1909                                              "typetext" : "<string>"
1910                                           },
1911                                           "name" : {
1912                                              "description" : "IP set name.",
1913                                              "maxLength" : 64,
1914                                              "minLength" : 2,
1915                                              "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1916                                              "type" : "string"
1917                                           }
1918                                        }
1919                                     },
1920                                     "permissions" : {
1921                                        "check" : [
1922                                           "perm",
1923                                           "/",
1924                                           [
1925                                              "Sys.Audit"
1926                                           ]
1927                                        ]
1928                                     },
1929                                     "protected" : 1,
1930                                     "returns" : {
1931                                        "type" : "object"
1932                                     }
1933                                  },
1934                                  "PUT" : {
1935                                     "description" : "Update IP or Network settings",
1936                                     "method" : "PUT",
1937                                     "name" : "update_ip",
1938                                     "parameters" : {
1939                                        "additionalProperties" : 0,
1940                                        "properties" : {
1941                                           "cidr" : {
1942                                              "description" : "Network/IP specification in CIDR format.",
1943                                              "format" : "IPorCIDRorAlias",
1944                                              "type" : "string",
1945                                              "typetext" : "<string>"
1946                                           },
1947                                           "comment" : {
1948                                              "optional" : 1,
1949                                              "type" : "string",
1950                                              "typetext" : "<string>"
1951                                           },
1952                                           "digest" : {
1953                                              "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
1954                                              "maxLength" : 40,
1955                                              "optional" : 1,
1956                                              "type" : "string",
1957                                              "typetext" : "<string>"
1958                                           },
1959                                           "name" : {
1960                                              "description" : "IP set name.",
1961                                              "maxLength" : 64,
1962                                              "minLength" : 2,
1963                                              "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
1964                                              "type" : "string"
1965                                           },
1966                                           "nomatch" : {
1967                                              "optional" : 1,
1968                                              "type" : "boolean",
1969                                              "typetext" : "<boolean>"
1970                                           }
1971                                        }
1972                                     },
1973                                     "permissions" : {
1974                                        "check" : [
1975                                           "perm",
1976                                           "/",
1977                                           [
1978                                              "Sys.Modify"
1979                                           ]
1980                                        ]
1981                                     },
1982                                     "protected" : 1,
1983                                     "returns" : {
1984                                        "type" : "null"
1985                                     }
1986                                  }
1987                               },
1988                               "leaf" : 1,
1989                               "path" : "/cluster/firewall/ipset/{name}/{cidr}",
1990                               "text" : "{cidr}"
1991                            }
1992                         ],
1993                         "info" : {
1994                            "DELETE" : {
1995                               "description" : "Delete IPSet",
1996                               "method" : "DELETE",
1997                               "name" : "delete_ipset",
1998                               "parameters" : {
1999                                  "additionalProperties" : 0,
2000                                  "properties" : {
2001                                     "name" : {
2002                                        "description" : "IP set name.",
2003                                        "maxLength" : 64,
2004                                        "minLength" : 2,
2005                                        "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2006                                        "type" : "string"
2007                                     }
2008                                  }
2009                               },
2010                               "permissions" : {
2011                                  "check" : [
2012                                     "perm",
2013                                     "/",
2014                                     [
2015                                        "Sys.Modify"
2016                                     ]
2017                                  ]
2018                               },
2019                               "protected" : 1,
2020                               "returns" : {
2021                                  "type" : "null"
2022                               }
2023                            },
2024                            "GET" : {
2025                               "description" : "List IPSet content",
2026                               "method" : "GET",
2027                               "name" : "get_ipset",
2028                               "parameters" : {
2029                                  "additionalProperties" : 0,
2030                                  "properties" : {
2031                                     "name" : {
2032                                        "description" : "IP set name.",
2033                                        "maxLength" : 64,
2034                                        "minLength" : 2,
2035                                        "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2036                                        "type" : "string"
2037                                     }
2038                                  }
2039                               },
2040                               "permissions" : {
2041                                  "check" : [
2042                                     "perm",
2043                                     "/",
2044                                     [
2045                                        "Sys.Audit"
2046                                     ]
2047                                  ]
2048                               },
2049                               "returns" : {
2050                                  "items" : {
2051                                     "properties" : {
2052                                        "cidr" : {
2053                                           "type" : "string"
2054                                        },
2055                                        "comment" : {
2056                                           "optional" : 1,
2057                                           "type" : "string"
2058                                        },
2059                                        "digest" : {
2060                                           "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2061                                           "maxLength" : 40,
2062                                           "optional" : 0,
2063                                           "type" : "string"
2064                                        },
2065                                        "nomatch" : {
2066                                           "optional" : 1,
2067                                           "type" : "boolean"
2068                                        }
2069                                     },
2070                                     "type" : "object"
2071                                  },
2072                                  "links" : [
2073                                     {
2074                                        "href" : "{cidr}",
2075                                        "rel" : "child"
2076                                     }
2077                                  ],
2078                                  "type" : "array"
2079                               }
2080                            },
2081                            "POST" : {
2082                               "description" : "Add IP or Network to IPSet.",
2083                               "method" : "POST",
2084                               "name" : "create_ip",
2085                               "parameters" : {
2086                                  "additionalProperties" : 0,
2087                                  "properties" : {
2088                                     "cidr" : {
2089                                        "description" : "Network/IP specification in CIDR format.",
2090                                        "format" : "IPorCIDRorAlias",
2091                                        "type" : "string",
2092                                        "typetext" : "<string>"
2093                                     },
2094                                     "comment" : {
2095                                        "optional" : 1,
2096                                        "type" : "string",
2097                                        "typetext" : "<string>"
2098                                     },
2099                                     "name" : {
2100                                        "description" : "IP set name.",
2101                                        "maxLength" : 64,
2102                                        "minLength" : 2,
2103                                        "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2104                                        "type" : "string"
2105                                     },
2106                                     "nomatch" : {
2107                                        "optional" : 1,
2108                                        "type" : "boolean",
2109                                        "typetext" : "<boolean>"
2110                                     }
2111                                  }
2112                               },
2113                               "permissions" : {
2114                                  "check" : [
2115                                     "perm",
2116                                     "/",
2117                                     [
2118                                        "Sys.Modify"
2119                                     ]
2120                                  ]
2121                               },
2122                               "protected" : 1,
2123                               "returns" : {
2124                                  "type" : "null"
2125                               }
2126                            }
2127                         },
2128                         "leaf" : 0,
2129                         "path" : "/cluster/firewall/ipset/{name}",
2130                         "text" : "{name}"
2131                      }
2132                   ],
2133                   "info" : {
2134                      "GET" : {
2135                         "description" : "List IPSets",
2136                         "method" : "GET",
2137                         "name" : "ipset_index",
2138                         "parameters" : {
2139                            "additionalProperties" : 0
2140                         },
2141                         "permissions" : {
2142                            "check" : [
2143                               "perm",
2144                               "/",
2145                               [
2146                                  "Sys.Audit"
2147                               ]
2148                            ]
2149                         },
2150                         "returns" : {
2151                            "items" : {
2152                               "properties" : {
2153                                  "comment" : {
2154                                     "optional" : 1,
2155                                     "type" : "string"
2156                                  },
2157                                  "digest" : {
2158                                     "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2159                                     "maxLength" : 40,
2160                                     "optional" : 0,
2161                                     "type" : "string"
2162                                  },
2163                                  "name" : {
2164                                     "description" : "IP set name.",
2165                                     "maxLength" : 64,
2166                                     "minLength" : 2,
2167                                     "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2168                                     "type" : "string"
2169                                  }
2170                               },
2171                               "type" : "object"
2172                            },
2173                            "links" : [
2174                               {
2175                                  "href" : "{name}",
2176                                  "rel" : "child"
2177                               }
2178                            ],
2179                            "type" : "array"
2180                         }
2181                      },
2182                      "POST" : {
2183                         "description" : "Create new IPSet",
2184                         "method" : "POST",
2185                         "name" : "create_ipset",
2186                         "parameters" : {
2187                            "additionalProperties" : 0,
2188                            "properties" : {
2189                               "comment" : {
2190                                  "optional" : 1,
2191                                  "type" : "string",
2192                                  "typetext" : "<string>"
2193                               },
2194                               "digest" : {
2195                                  "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2196                                  "maxLength" : 40,
2197                                  "optional" : 1,
2198                                  "type" : "string",
2199                                  "typetext" : "<string>"
2200                               },
2201                               "name" : {
2202                                  "description" : "IP set name.",
2203                                  "maxLength" : 64,
2204                                  "minLength" : 2,
2205                                  "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2206                                  "type" : "string"
2207                               },
2208                               "rename" : {
2209                                  "description" : "Rename an existing IPSet. You can set 'rename' to the same value as 'name' to update the 'comment' of an existing IPSet.",
2210                                  "maxLength" : 64,
2211                                  "minLength" : 2,
2212                                  "optional" : 1,
2213                                  "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2214                                  "type" : "string"
2215                               }
2216                            }
2217                         },
2218                         "permissions" : {
2219                            "check" : [
2220                               "perm",
2221                               "/",
2222                               [
2223                                  "Sys.Modify"
2224                               ]
2225                            ]
2226                         },
2227                         "protected" : 1,
2228                         "returns" : {
2229                            "type" : "null"
2230                         }
2231                      }
2232                   },
2233                   "leaf" : 0,
2234                   "path" : "/cluster/firewall/ipset",
2235                   "text" : "ipset"
2236                },
2237                {
2238                   "children" : [
2239                      {
2240                         "info" : {
2241                            "DELETE" : {
2242                               "description" : "Remove IP or Network alias.",
2243                               "method" : "DELETE",
2244                               "name" : "remove_alias",
2245                               "parameters" : {
2246                                  "additionalProperties" : 0,
2247                                  "properties" : {
2248                                     "digest" : {
2249                                        "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
2250                                        "maxLength" : 40,
2251                                        "optional" : 1,
2252                                        "type" : "string",
2253                                        "typetext" : "<string>"
2254                                     },
2255                                     "name" : {
2256                                        "description" : "Alias name.",
2257                                        "maxLength" : 64,
2258                                        "minLength" : 2,
2259                                        "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2260                                        "type" : "string"
2261                                     }
2262                                  }
2263                               },
2264                               "permissions" : {
2265                                  "check" : [
2266                                     "perm",
2267                                     "/",
2268                                     [
2269                                        "Sys.Modify"
2270                                     ]
2271                                  ]
2272                               },
2273                               "protected" : 1,
2274                               "returns" : {
2275                                  "type" : "null"
2276                               }
2277                            },
2278                            "GET" : {
2279                               "description" : "Read alias.",
2280                               "method" : "GET",
2281                               "name" : "read_alias",
2282                               "parameters" : {
2283                                  "additionalProperties" : 0,
2284                                  "properties" : {
2285                                     "name" : {
2286                                        "description" : "Alias name.",
2287                                        "maxLength" : 64,
2288                                        "minLength" : 2,
2289                                        "pattern" : "[A-Za-z][A-Za-z0-9\\-\\_]+",
2290                                        "type" : "string"
2291                                     }
2292                                  }
2293                               },
2294                               "permissions" : {
2295                                  "check" : [
2296                                     "perm",
2297                                     "/",
2298                                     [
2299                                        "Sys.Audit"
2300                                     ]
2301                                  ]
2302                               },
2303                               "returns" : {
2304                                  "type" : "object"
2305                               }
2306                            },
2307                            "PUT" : {
2308                               "description" : "Update IP or Network alias.",
2309                               "method" : "PUT",
2310                               "name" : "update_alias",
2311                               "parameters" : {
2312                                  "additionalProperties" : 0,
2313                                  "properties" : {
2314                                     "cidr" : {
2315                                     &n