+ {
+ "children" : [
+ {
+ "info" : {
+ "GET" : {
+ "description" : "Get ceph metadata.",
+ "method" : "GET",
+ "name" : "metadata",
+ "parameters" : {
+ "additionalProperties" : 0
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Audit",
+ "Datastore.Audit"
+ ],
+ "any",
+ 1
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "object"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/cluster/ceph/metadata",
+ "text" : "metadata"
+ },
+ {
+ "info" : {
+ "GET" : {
+ "description" : "Get ceph status.",
+ "method" : "GET",
+ "name" : "status",
+ "parameters" : {
+ "additionalProperties" : 0
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Audit",
+ "Datastore.Audit"
+ ],
+ "any",
+ 1
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "object"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/cluster/ceph/status",
+ "text" : "status"
+ },
+ {
+ "children" : [
+ {
+ "info" : {
+ "GET" : {
+ "description" : "Get the status of a specific ceph flag.",
+ "method" : "GET",
+ "name" : "get_flag",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "flag" : {
+ "description" : "The name of the flag name to get.",
+ "enum" : [
+ "nobackfill",
+ "nodeep-scrub",
+ "nodown",
+ "noin",
+ "noout",
+ "norebalance",
+ "norecover",
+ "noscrub",
+ "notieragent",
+ "noup",
+ "pause"
+ ],
+ "type" : "string"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Audit"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "boolean"
+ }
+ },
+ "PUT" : {
+ "description" : "Set or clear (unset) a specific ceph flag",
+ "method" : "PUT",
+ "name" : "update_flag",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "flag" : {
+ "description" : "The ceph flag to update",
+ "enum" : [
+ "nobackfill",
+ "nodeep-scrub",
+ "nodown",
+ "noin",
+ "noout",
+ "norebalance",
+ "norecover",
+ "noscrub",
+ "notieragent",
+ "noup",
+ "pause"
+ ],
+ "type" : "string"
+ },
+ "value" : {
+ "description" : "The new value of the flag",
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Modify"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/cluster/ceph/flags/{flag}",
+ "text" : "{flag}"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "description" : "get the status of all ceph flags",
+ "method" : "GET",
+ "name" : "get_all_flags",
+ "parameters" : {
+ "additionalProperties" : 0
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Audit"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "items" : {
+ "additionalProperties" : 1,
+ "properties" : {
+ "name" : {
+ "description" : "Flag name.",
+ "enum" : [
+ "nobackfill",
+ "nodeep-scrub",
+ "nodown",
+ "noin",
+ "noout",
+ "norebalance",
+ "norecover",
+ "noscrub",
+ "notieragent",
+ "noup",
+ "pause"
+ ],
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{name}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ },
+ "PUT" : {
+ "description" : "Set/Unset multiple ceph flags at once.",
+ "method" : "PUT",
+ "name" : "set_flags",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "nobackfill" : {
+ "description" : "Backfilling of PGs is suspended.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "nodeep-scrub" : {
+ "description" : "Deep Scrubbing is disabled.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "nodown" : {
+ "description" : "OSD failure reports are being ignored, such that the monitors will not mark OSDs down.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "noin" : {
+ "description" : "OSDs that were previously marked out will not be marked back in when they start.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "noout" : {
+ "description" : "OSDs will not automatically be marked out after the configured interval.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "norebalance" : {
+ "description" : "Rebalancing of PGs is suspended.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "norecover" : {
+ "description" : "Recovery of PGs is suspended.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "noscrub" : {
+ "description" : "Scrubbing is disabled.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "notieragent" : {
+ "description" : "Cache tiering activity is suspended.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "noup" : {
+ "description" : "OSDs are not allowed to start.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ },
+ "pause" : {
+ "description" : "Pauses read and writes.",
+ "optional" : 1,
+ "type" : "boolean",
+ "typetext" : "<boolean>"
+ }
+ }
+ },
+ "permissions" : {
+ "check" : [
+ "perm",
+ "/",
+ [
+ "Sys.Modify"
+ ]
+ ]
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "string"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/cluster/ceph/flags",
+ "text" : "flags"
+ }
+ ],
+ "info" : {
+ "GET" : {
+ "description" : "Cluster ceph index.",
+ "method" : "GET",
+ "name" : "cephindex",
+ "parameters" : {
+ "additionalProperties" : 0
+ },
+ "permissions" : {
+ "user" : "all"
+ },
+ "returns" : {
+ "items" : {
+ "properties" : {},
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{name}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/cluster/ceph",
+ "text" : "ceph"
+ },
+ {
+ "children" : [
+ {
+ "info" : {
+ "DELETE" : {
+ "description" : "Delete sdn object configuration.",
+ "method" : "DELETE",
+ "name" : "delete",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "sdn" : {
+ "description" : "The SDN object identifier.",
+ "format" : "pve-sdn-id",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "GET" : {
+ "description" : "Read sdn configuration.",
+ "method" : "GET",
+ "name" : "read",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "sdn" : {
+ "description" : "The SDN object identifier.",
+ "format" : "pve-sdn-id",
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ }
+ },
+ "returns" : {
+ "type" : "object"
+ }
+ },
+ "PUT" : {
+ "description" : "Update sdn object configuration.",
+ "method" : "PUT",
+ "name" : "update",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "alias" : {
+ "description" : "alias name of the vnet",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "asn" : {
+ "description" : "autonomous system number",
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer>"
+ },
+ "controller" : {
+ "description" : "Frr router name",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "delete" : {
+ "description" : "A list of settings you want to delete.",
+ "format" : "pve-configid-list",
+ "maxLength" : 4096,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "digest" : {
+ "description" : "Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.",
+ "maxLength" : 40,
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "dp-id" : {
+ "description" : "Faucet dataplane id",
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer>"
+ },
+ "gateway-external-peers" : {
+ "description" : "upstream bgp peers address list.",
+ "format" : "ip-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "gateway-nodes" : {
+ "description" : "List of cluster node names.",
+ "format" : "pve-node-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "ipv4" : {
+ "description" : "Anycast router ipv4 address.",
+ "format" : "CIDRv4",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "ipv6" : {
+ "description" : "Anycast router ipv6 address.",
+ "format" : "CIDRv6",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "mac" : {
+ "description" : "Anycast router mac address",
+ "format" : "mac-addr",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "mtu" : {
+ "description" : "mtu",
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer>"
+ },
+ "multicast-address" : {
+ "description" : "Multicast address.",
+ "format" : "ipv4-multicast",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "peers" : {
+ "description" : "peers address list.",
+ "format" : "ip-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "sdn" : {
+ "description" : "The SDN object identifier.",
+ "format" : "pve-sdn-id",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "tag" : {
+ "description" : "vlan or vxlan id",
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer>"
+ },
+ "transportzone" : {
+ "description" : "transportzone id",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "unicast-address" : {
+ "description" : "Unicast peers address ip list.",
+ "format" : "ip-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "uplink-id" : {
+ "description" : "Uplink interface",
+ "maximum" : 4096,
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - 4096)"
+ },
+ "vlan-allowed" : {
+ "description" : "Allowed vlan range",
+ "format" : "pve-sdn-vlanrange",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "vlan-protocol" : {
+ "default" : "802.1q",
+ "description" : "vlan protocol",
+ "enum" : [
+ "802.1q",
+ "802.1ad"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "vrf" : {
+ "description" : "vrf name.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "vrf-vxlan" : {
+ "description" : "l3vni.",
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer>"
+ },
+ "vxlan-allowed" : {
+ "description" : "Allowed vlan range",
+ "format" : "pve-sdn-vxlanrange",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ },
+ "type" : "object"
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 1,
+ "path" : "/cluster/sdn/{sdn}",
+ "text" : "{sdn}"
+ }
+ ],
+ "info" : {
+ "DELETE" : {
+ "description" : "Revert sdn changes.",
+ "method" : "DELETE",
+ "name" : "revert_configuration",
+ "parameters" : {
+ "additionalProperties" : 0
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "GET" : {
+ "description" : "SDN index.",
+ "method" : "GET",
+ "name" : "index",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "type" : {
+ "description" : "Only list sdn of specific type",
+ "enum" : [
+ "evpn",
+ "evpncontroller",
+ "faucet",
+ "faucetcontroller",
+ "qinq",
+ "vlan",
+ "vnet",
+ "vxlan"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ }
+ }
+ },
+ "permissions" : {
+ "description" : "Only list entries where you have 'SDN.Audit' or 'SDN.Allocate' permissions on '/cluster/sdn/<sdn>'",
+ "user" : "all"
+ },
+ "returns" : {
+ "items" : {
+ "properties" : {
+ "role" : {
+ "type" : "string"
+ },
+ "sdn" : {
+ "type" : "string"
+ },
+ "type" : {
+ "type" : "string"
+ }
+ },
+ "type" : "object"
+ },
+ "links" : [
+ {
+ "href" : "{sdn}",
+ "rel" : "child"
+ }
+ ],
+ "type" : "array"
+ }
+ },
+ "POST" : {
+ "description" : "Create a new sdn object.",
+ "method" : "POST",
+ "name" : "create",
+ "parameters" : {
+ "additionalProperties" : 0,
+ "properties" : {
+ "alias" : {
+ "description" : "alias name of the vnet",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "asn" : {
+ "description" : "autonomous system number",
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer>"
+ },
+ "controller" : {
+ "description" : "Frr router name",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "dp-id" : {
+ "description" : "Faucet dataplane id",
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer>"
+ },
+ "gateway-external-peers" : {
+ "description" : "upstream bgp peers address list.",
+ "format" : "ip-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "gateway-nodes" : {
+ "description" : "List of cluster node names.",
+ "format" : "pve-node-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "ipv4" : {
+ "description" : "Anycast router ipv4 address.",
+ "format" : "CIDRv4",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "ipv6" : {
+ "description" : "Anycast router ipv6 address.",
+ "format" : "CIDRv6",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "mac" : {
+ "description" : "Anycast router mac address",
+ "format" : "mac-addr",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "mtu" : {
+ "description" : "mtu",
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer>"
+ },
+ "multicast-address" : {
+ "description" : "Multicast address.",
+ "format" : "ipv4-multicast",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "peers" : {
+ "description" : "peers address list.",
+ "format" : "ip-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "sdn" : {
+ "description" : "The SDN object identifier.",
+ "format" : "pve-sdn-id",
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "tag" : {
+ "description" : "vlan or vxlan id",
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer>"
+ },
+ "transportzone" : {
+ "description" : "transportzone id",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "type" : {
+ "description" : "Plugin type.",
+ "enum" : [
+ "evpn",
+ "evpncontroller",
+ "faucet",
+ "faucetcontroller",
+ "qinq",
+ "vlan",
+ "vnet",
+ "vxlan"
+ ],
+ "format" : "pve-configid",
+ "type" : "string"
+ },
+ "unicast-address" : {
+ "description" : "Unicast peers address ip list.",
+ "format" : "ip-list",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "uplink-id" : {
+ "description" : "Uplink interface",
+ "maximum" : 4096,
+ "minimum" : 1,
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer> (1 - 4096)"
+ },
+ "vlan-allowed" : {
+ "description" : "Allowed vlan range",
+ "format" : "pve-sdn-vlanrange",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "vlan-protocol" : {
+ "default" : "802.1q",
+ "description" : "vlan protocol",
+ "enum" : [
+ "802.1q",
+ "802.1ad"
+ ],
+ "optional" : 1,
+ "type" : "string"
+ },
+ "vrf" : {
+ "description" : "vrf name.",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ },
+ "vrf-vxlan" : {
+ "description" : "l3vni.",
+ "optional" : 1,
+ "type" : "integer",
+ "typetext" : "<integer>"
+ },
+ "vxlan-allowed" : {
+ "description" : "Allowed vlan range",
+ "format" : "pve-sdn-vxlanrange",
+ "optional" : 1,
+ "type" : "string",
+ "typetext" : "<string>"
+ }
+ },
+ "type" : "object"
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ },
+ "PUT" : {
+ "description" : "Apply sdn changes.",
+ "method" : "PUT",
+ "name" : "apply_configuration",
+ "parameters" : {
+ "additionalProperties" : 0
+ },
+ "protected" : 1,
+ "returns" : {
+ "type" : "null"
+ }
+ }
+ },
+ "leaf" : 0,
+ "path" : "/cluster/sdn",
+ "text" : "sdn"
+ },