{ "info": { "version": "2.3.0.0.6", "description": "VMware NSX VMC Policy API REST API", "title": "NSX VMC Policy API API" }, "schemes": [ "https" ], "produces": [ "application/json" ], "securityDefinitions": { "BasicAuth": { "type": "basic", "description": "HTTP Basic Authentication" } }, "host": "nsxmanager.your.domain", "security": [ { "BasicAuth": [] } ], "swagger": "2.0", "basePath": "/policy/api/v1", "version": "2.3.0.0.6", "paths": { "/infra/domains/{domain-id}/gateway-policies/{gateway-policy-id}": { "put": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/GatewayPolicy" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Update the gateway policy for a domain. This is a full replace.\nAll the rules are replaced.\n", "parameters": [ { "required": true, "type": "string", "name": "domain-id", "in": "path", "controlName": "domain-id" }, { "required": true, "type": "string", "name": "gateway-policy-id", "in": "path", "controlName": "gateway-policy-id" }, { "schema": { "$ref": "#/definitions/GatewayPolicy" }, "required": true, "name": "GatewayPolicy", "in": "body", "definition": "GatewayPolicy", "type": "object", "controlName": "body" } ], "produces": [ "application/json" ], "tags": [ "Policy Gateway Firewall" ], "summary": "Update gateway policy", "x-vmw-nsx-module": "PolicyEdgeFirewall", "consumes": [ "application/json" ], "operationId": "CreateOrReplaceGatewayPolicyForDomain" }, "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/GatewayPolicy" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Read gateway policy for a domain.\n", "parameters": [ { "required": true, "type": "string", "name": "domain-id", "in": "path", "controlName": "domain-id" }, { "required": true, "type": "string", "name": "gateway-policy-id", "in": "path", "controlName": "gateway-policy-id" } ], "produces": [ "application/json" ], "tags": [ "Policy Gateway Firewall" ], "summary": "Read gateway policy", "x-vmw-nsx-module": "PolicyEdgeFirewall", "consumes": [ "application/json" ], "operationId": "ReadGatewayPolicyForDomain" }, "patch": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Update the gateway policy for a domain. This is a full replace.\nAll the rules are replaced.\n", "parameters": [ { "required": true, "type": "string", "name": "domain-id", "in": "path", "controlName": "domain-id" }, { "required": true, "type": "string", "name": "gateway-policy-id", "in": "path", "controlName": "gateway-policy-id" }, { "schema": { "$ref": "#/definitions/GatewayPolicy" }, "required": true, "name": "GatewayPolicy", "in": "body", "definition": "GatewayPolicy", "type": "object", "controlName": "body" } ], "tags": [ "Policy Gateway Firewall" ], "summary": "Update gateway policy", "x-vmw-nsx-module": "PolicyEdgeFirewall", "consumes": [ "application/json" ], "operationId": "PatchGatewayPolicyForDomain" } }, "/infra/dhcp-relay-configs/{dhcp-relay-config-id}": { "put": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/DhcpRelayConfig" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "If DHCP relay config with the dhcp-relay-config-id is not already present,\ncreate a new DHCP relay config instance. If it already exists, replace\nthe DHCP relay config instance with this object.\n", "parameters": [ { "description": "DHCP relay config ID", "required": true, "type": "string", "name": "dhcp-relay-config-id", "in": "path", "controlName": "dhcp-relay-config-id" }, { "schema": { "$ref": "#/definitions/DhcpRelayConfig" }, "required": true, "name": "DhcpRelayConfig", "in": "body", "definition": "DhcpRelayConfig", "type": "object", "controlName": "body" } ], "produces": [ "application/json" ], "tags": [ "Policy Connectivity Dhcp" ], "summary": "Create or update DHCP relay configuration", "x-vmw-nsx-module": "PolicyConnectivity", "consumes": [ "application/json" ], "operationId": "CreateOrReplaceDhcpRelayConfig" }, "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/DhcpRelayConfig" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Read DHCP relay configuration", "parameters": [ { "description": "DHCP relay config ID", "required": true, "type": "string", "name": "dhcp-relay-config-id", "in": "path", "controlName": "dhcp-relay-config-id" } ], "produces": [ "application/json" ], "tags": [ "Policy Connectivity Dhcp" ], "summary": "Read DHCP relay configuration", "x-vmw-nsx-module": "PolicyConnectivity", "consumes": [ "application/json" ], "operationId": "ReadDhcpRelayConfig" }, "delete": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Delete DHCP relay configuration", "parameters": [ { "description": "DHCP relay config ID", "required": true, "type": "string", "name": "dhcp-relay-config-id", "in": "path", "controlName": "dhcp-relay-config-id" } ], "tags": [ "Policy Connectivity Dhcp" ], "summary": "Delete DHCP relay configuration", "x-vmw-nsx-module": "PolicyConnectivity", "consumes": [ "application/json" ], "operationId": "DeleteDhcpRelayConfig" }, "patch": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "If DHCP relay config with the dhcp-relay-config-id is not already present, create a new DHCP relay config instance.\nIf it already exists, update the DHCP relay config instance with specified attributes.\n", "parameters": [ { "description": "DHCP relay config ID", "required": true, "type": "string", "name": "dhcp-relay-config-id", "in": "path", "controlName": "dhcp-relay-config-id" }, { "schema": { "$ref": "#/definitions/DhcpRelayConfig" }, "required": true, "name": "DhcpRelayConfig", "in": "body", "definition": "DhcpRelayConfig", "type": "object", "controlName": "body" } ], "tags": [ "Policy Connectivity Dhcp" ], "summary": "Create or update DHCP relay configuration", "x-vmw-nsx-module": "PolicyConnectivity", "consumes": [ "application/json" ], "operationId": "PatchDhcpRelayConfig" } }, "/infra/tier-1s/{tier-1-id}/nat/{nat-id}/nat-rules": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PolicyNatRuleListResult" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "List NAT Rules from Tier-1 denoted by Tier-1 ID, under NAT section denoted by <nat-id>. Under tier-1 there will be 3 different NATs(sections). (INTERNAL, USER and DEFAULT) For more details related to NAT section please refer to PolicyNAT schema.", "parameters": [ { "description": "Tier-1 ID", "required": true, "type": "string", "name": "tier-1-id", "in": "path", "controlName": "tier-1-id" }, { "description": "NAT id", "required": true, "type": "string", "name": "nat-id", "in": "path", "controlName": "nat-id" }, { "description": "Opaque cursor to be used for getting next page of records (supplied by current result page)", "type": "string", "name": "cursor", "in": "query", "controlName": "cursor" }, { "description": "Comma separated list of fields that should be included in query result", "type": "string", "name": "included_fields", "in": "query", "controlName": "included_fields" }, { "description": "Maximum number of results to return in this page (server may return fewer)", "format": "int64", "default": 1000, "maximum": 1000, "minimum": 0, "in": "query", "type": "integer", "name": "page_size", "controlName": "page_size" }, { "type": "boolean", "name": "sort_ascending", "in": "query", "controlName": "sort_ascending" }, { "description": "Field by which records are sorted", "type": "string", "name": "sort_by", "in": "query", "controlName": "sort_by" } ], "produces": [ "application/json" ], "tags": [ "Policy Nat" ], "summary": "List NAT Rules", "x-vmw-nsx-module": "PolicyNAT", "consumes": [ "application/json" ], "operationId": "ListPolicyNatRules" } }, "/infra/dhcp-relay-configs": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/DhcpRelayConfigListResult" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Paginated list of all DHCP relay config instances\n", "parameters": [ { "description": "Opaque cursor to be used for getting next page of records (supplied by current result page)", "type": "string", "name": "cursor", "in": "query", "controlName": "cursor" }, { "description": "Comma separated list of fields that should be included in query result", "type": "string", "name": "included_fields", "in": "query", "controlName": "included_fields" }, { "description": "Maximum number of results to return in this page (server may return fewer)", "format": "int64", "default": 1000, "maximum": 1000, "minimum": 0, "in": "query", "type": "integer", "name": "page_size", "controlName": "page_size" }, { "type": "boolean", "name": "sort_ascending", "in": "query", "controlName": "sort_ascending" }, { "description": "Field by which records are sorted", "type": "string", "name": "sort_by", "in": "query", "controlName": "sort_by" } ], "produces": [ "application/json" ], "tags": [ "Policy Connectivity Dhcp" ], "summary": "List DHCP relay config instances", "x-vmw-nsx-module": "PolicyConnectivity", "consumes": [ "application/json" ], "operationId": "ListDhcpRelayConfig" } }, "/infra/domains/{domain-id}/communication-maps/{communication-map-id}/communication-entries": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/CommunicationEntryListResult" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "List CommunicationEntries", "parameters": [ { "required": true, "type": "string", "name": "domain-id", "in": "path", "controlName": "domain-id" }, { "required": true, "type": "string", "name": "communication-map-id", "in": "path", "controlName": "communication-map-id" }, { "description": "Opaque cursor to be used for getting next page of records (supplied by current result page)", "type": "string", "name": "cursor", "in": "query", "controlName": "cursor" }, { "description": "Comma separated list of fields that should be included in query result", "type": "string", "name": "included_fields", "in": "query", "controlName": "included_fields" }, { "description": "Maximum number of results to return in this page (server may return fewer)", "format": "int64", "default": 1000, "maximum": 1000, "minimum": 0, "in": "query", "type": "integer", "name": "page_size", "controlName": "page_size" }, { "type": "boolean", "name": "sort_ascending", "in": "query", "controlName": "sort_ascending" }, { "description": "Field by which records are sorted", "type": "string", "name": "sort_by", "in": "query", "controlName": "sort_by" } ], "produces": [ "application/json" ], "tags": [ "Policy Dfw" ], "summary": "List CommunicationEntries", "x-vmw-nsx-module": "PolicyDfw", "consumes": [ "application/json" ], "operationId": "ListCommunicationEntry" } }, "/infra/tier-1s/{tier-1-id}": { "patch": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "If tier-1 with the tier-1-id is not already present, create a new tier-1 instance.\nIf it already exists, update the tier-1 instance with specified attributes.\n", "parameters": [ { "description": "Tier-1 ID", "required": true, "type": "string", "name": "tier-1-id", "in": "path", "controlName": "tier-1-id" }, { "schema": { "$ref": "#/definitions/Tier1" }, "required": true, "name": "Tier1", "in": "body", "definition": "Tier1", "type": "object", "controlName": "body" } ], "tags": [ "Policy Connectivity Tier 1" ], "summary": "Create or update tier-1 configuration", "x-vmw-nsx-module": "PolicyConnectivity", "consumes": [ "application/json" ], "operationId": "PatchTier1" }, "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Tier1" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Read tier-1 configuration", "parameters": [ { "description": "Tier-1 ID", "required": true, "type": "string", "name": "tier-1-id", "in": "path", "controlName": "tier-1-id" } ], "produces": [ "application/json" ], "tags": [ "Policy Connectivity Tier 1" ], "summary": "Read tier-1 configuration", "x-vmw-nsx-module": "PolicyConnectivity", "consumes": [ "application/json" ], "operationId": "ReadTier1" } }, "/infra/domains/{domain-id}/groups/{group-id}/members/ip-addresses": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PolicyGroupIPMembersListResult" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Get IP addresses that belong to this Group\n", "parameters": [ { "description": "Domain id", "required": true, "type": "string", "name": "domain-id", "in": "path", "controlName": "domain-id" }, { "description": "Group Id", "required": true, "type": "string", "name": "group-id", "in": "path", "controlName": "group-id" }, { "description": "Opaque cursor to be used for getting next page of records (supplied by current result page)", "type": "string", "name": "cursor", "in": "query", "controlName": "cursor" }, { "description": "String Path of the enforcement point", "required": true, "type": "string", "name": "enforcement_point_path", "in": "query", "controlName": "enforcement_point_path" }, { "description": "Comma separated list of fields that should be included in query result", "type": "string", "name": "included_fields", "in": "query", "controlName": "included_fields" }, { "description": "Maximum number of results to return in this page (server may return fewer)", "format": "int64", "default": 1000, "maximum": 1000, "minimum": 0, "in": "query", "type": "integer", "name": "page_size", "controlName": "page_size" }, { "type": "boolean", "name": "sort_ascending", "in": "query", "controlName": "sort_ascending" }, { "description": "Field by which records are sorted", "type": "string", "name": "sort_by", "in": "query", "controlName": "sort_by" } ], "produces": [ "application/json" ], "tags": [ "Policy Statistics Group" ], "summary": "Get IP addresses that belong to this Group", "x-vmw-nsx-module": "PolicyGroupRealization", "consumes": [ "application/json" ], "operationId": "GetGroupIPMembers" } }, "/infra/tier-0s/{tier-0-id}/locale-services/{locale-service-id}/l3vpn-context": { "put": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/L3VpnContext" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Create the new L3Vpn Context under tier-0 if it does not exist. If the L3Vpn Context\nalready exists under tier-0, replace the the existing one. This is a full replace.\n", "parameters": [ { "required": true, "type": "string", "name": "tier-0-id", "in": "path", "controlName": "tier-0-id" }, { "required": true, "type": "string", "name": "locale-service-id", "in": "path", "controlName": "locale-service-id" }, { "schema": { "$ref": "#/definitions/L3VpnContext" }, "required": true, "name": "L3VpnContext", "in": "body", "definition": "L3VpnContext", "type": "object", "controlName": "body" } ], "produces": [ "application/json" ], "tags": [ "Policy L3Vpn" ], "summary": "Create or replace the L3Vpn Context", "x-vmw-nsx-module": "PolicyL3Vpn", "consumes": [ "application/json" ], "operationId": "CreateOrReplaceL3VpnContext" }, "patch": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Create the new L3Vpn Context under tier-0 if it does not exist. If the L3Vpn Context\nalready exists under tier-0, merge with the the existing one. This is a patch.\nIf the passed L3VpnContext has new L3VpnRules, add them to the existing L3VpnContext.\nIf the passed L3VpnContext also has existing L3VpnRules, update the existing L3VpnRules.\n", "parameters": [ { "required": true, "type": "string", "name": "tier-0-id", "in": "path", "controlName": "tier-0-id" }, { "required": true, "type": "string", "name": "locale-service-id", "in": "path", "controlName": "locale-service-id" }, { "schema": { "$ref": "#/definitions/L3VpnContext" }, "required": true, "name": "L3VpnContext", "in": "body", "definition": "L3VpnContext", "type": "object", "controlName": "body" } ], "tags": [ "Policy L3Vpn" ], "summary": "Create or patch the L3Vpn Context", "x-vmw-nsx-module": "PolicyL3Vpn", "consumes": [ "application/json" ], "operationId": "CreateOrPatchL3VpnContext" }, "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/L3VpnContext" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Read the L3Vpn Context under tier-0.\n", "parameters": [ { "required": true, "type": "string", "name": "tier-0-id", "in": "path", "controlName": "tier-0-id" }, { "required": true, "type": "string", "name": "locale-service-id", "in": "path", "controlName": "locale-service-id" } ], "produces": [ "application/json" ], "tags": [ "Policy L3Vpn" ], "summary": "Read the L3Vpn Context", "x-vmw-nsx-module": "PolicyL3Vpn", "consumes": [ "application/json" ], "operationId": "ReadL3VpnContext" } }, "/infra": { "put": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Infra" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Update the infra including all the nested entities", "parameters": [ { "schema": { "$ref": "#/definitions/Infra" }, "required": true, "name": "Infra", "in": "body", "definition": "Infra", "type": "object", "controlName": "body" } ], "produces": [ "application/json" ], "tags": [ "Policy" ], "summary": "Update the infra including all the nested entities", "x-vmw-nsx-module": "Policy", "consumes": [ "application/json" ], "operationId": "UpdateInfra" }, "patch": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Update the infra including all the nested entities", "parameters": [ { "schema": { "$ref": "#/definitions/Infra" }, "required": true, "name": "Infra", "in": "body", "definition": "Infra", "type": "object", "controlName": "body" } ], "tags": [ "Policy" ], "summary": "Update the infra including all the nested entities", "x-vmw-nsx-module": "Policy", "consumes": [ "application/json" ], "operationId": "PatchInfra" }, "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Infra" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Read infra. Returns only the infra related properties. Inner object\nare not populated.\n", "parameters": [ { "description": "Filter string as java regex", "required": false, "type": "string", "name": "filter", "in": "query", "controlName": "filter" } ], "produces": [ "application/json" ], "tags": [ "Policy" ], "summary": "Read infra", "x-vmw-nsx-module": "Policy", "consumes": [ "application/json" ], "operationId": "ReadInfra" } }, "/infra/tier-0s/{tier-0-id}/locale-services/{locale-service-id}/l3vpns/{l3vpn-id}/peer-config": { "get": { "responses": { "200": { "description": "OK", "schema": { "type": "string" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Get the L3Vpn Configuration for the peer site. Peer config contains PSK;\nbe careful when sharing or storing it.\n- no enforcement point path specified: L3Vpn Peer Config will be evaluated on\neach enforcement point.\n- {enforcement_point_path}: L3Vpn Peer Config is evaluated only on the given\nenforcement point.\n", "parameters": [ { "required": true, "type": "string", "name": "tier-0-id", "in": "path", "controlName": "tier-0-id" }, { "required": true, "type": "string", "name": "locale-service-id", "in": "path", "controlName": "locale-service-id" }, { "required": true, "type": "string", "name": "l3vpn-id", "in": "path", "controlName": "l3vpn-id" }, { "description": "String Path of the enforcement point", "required": false, "type": "string", "name": "enforcement_point_path", "in": "query", "controlName": "enforcement_point_path" } ], "produces": [ "text/plain; charset=utf-8" ], "tags": [ "Policy L3Vpn" ], "summary": "Download L3Vpn Config for Remote Site", "x-vmw-nsx-module": "PolicyL3Vpn", "consumes": [ "application/json" ], "operationId": "ReadL3VpnPeerConfig" } }, "/infra/domains/{domain-id}/communication-maps/{communication-map-id}?action=revise": { "post": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/CommunicationMap" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "This is used to set a precedence of a communication map w.r.t others.\n", "parameters": [ { "required": true, "type": "string", "name": "domain-id", "in": "path", "controlName": "domain-id" }, { "required": true, "type": "string", "name": "communication-map-id", "in": "path", "controlName": "communication-map-id" }, { "schema": { "$ref": "#/definitions/CommunicationMap" }, "required": true, "name": "CommunicationMap", "in": "body", "definition": "CommunicationMap", "type": "object", "controlName": "body" }, { "description": "The communication map/communication entry path if operation is\n'insert_after' or 'insert_before'\n", "required": false, "type": "string", "name": "anchor_path", "in": "query", "controlName": "anchor_path" }, { "enum": [ "insert_top", "insert_bottom", "insert_after", "insert_before" ], "description": "Operation", "default": "insert_top", "required": false, "in": "query", "type": "string", "name": "operation", "controlName": "operation" } ], "produces": [ "application/json" ], "tags": [ "Policy" ], "summary": "Revise the positioning of communication maps", "x-vmw-nsx-module": "PolicyDfw", "consumes": [ "application/json" ], "operationId": "ReviseCommunicationMapsRevise" } }, "/infra/ipfix-collector-profiles/{ipfix-collector-profile-id}": { "put": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/IPFIXCollectorProfile" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Create or Replace IPFIX collector profile. IPFIX data will be sent to IPFIX\ncollector port.\n", "parameters": [ { "description": "IPFIX collector profile id", "required": true, "type": "string", "name": "ipfix-collector-profile-id", "in": "path", "controlName": "ipfix-collector-profile-id" }, { "schema": { "$ref": "#/definitions/IPFIXCollectorProfile" }, "required": true, "name": "IPFIXCollectorProfile", "in": "body", "definition": "IPFIXCollectorProfile", "type": "object", "controlName": "body" } ], "produces": [ "application/json" ], "tags": [ "Policy Operations" ], "summary": "Create or Replace IPFIX collector profile", "x-vmw-nsx-module": "PolicyOperations", "consumes": [ "application/json" ], "operationId": "CreateOrReplaceIPFIXCollectorProfile" }, "delete": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "API deletes IPFIX collector profile. Flow forwarding to\ncollector will be stopped.\n", "parameters": [ { "description": "IPFIX collector Profile id", "required": true, "type": "string", "name": "ipfix-collector-profile-id", "in": "path", "controlName": "ipfix-collector-profile-id" } ], "tags": [ "Policy Operations" ], "summary": "Delete IPFIX Collector profile", "x-vmw-nsx-module": "PolicyOperations", "consumes": [ "application/json" ], "operationId": "DeleteIPFIXCollectorProfile" }, "patch": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Create a new IPFIX collector profile if the IPFIX collector profile with\ngiven id does not already exist. If the IPFIX collector profile with the\ngiven id already exists, patch with the existing IPFIX collector profile.\n", "parameters": [ { "description": "IPFIX collector profile id", "required": true, "type": "string", "name": "ipfix-collector-profile-id", "in": "path", "controlName": "ipfix-collector-profile-id" }, { "schema": { "$ref": "#/definitions/IPFIXCollectorProfile" }, "required": true, "name": "IPFIXCollectorProfile", "in": "body", "definition": "IPFIXCollectorProfile", "type": "object", "controlName": "body" } ], "tags": [ "Policy Operations" ], "summary": "Patch IPFIX collector profile", "x-vmw-nsx-module": "PolicyOperations", "consumes": [ "application/json" ], "operationId": "PatchIPFIXCollectorProfile" }, "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/IPFIXCollectorProfile" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "API will return details of IPFIX collector profile. If profile\ndoes not exist, it will return 404.\n", "parameters": [ { "description": "IPFIX collector profile id", "required": true, "type": "string", "name": "ipfix-collector-profile-id", "in": "path", "controlName": "ipfix-collector-profile-id" } ], "produces": [ "application/json" ], "tags": [ "Policy Operations" ], "summary": "Get IPFIX Collector profile", "x-vmw-nsx-module": "PolicyOperations", "consumes": [ "application/json" ], "operationId": "ReadIPFIXCollectorProfile" } }, "/infra/tier-1s/{tier-1-id}/segments/{segment-id}": { "put": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Segment" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "If segment with the segment-id is not already present, create a new segment.\nIf it already exists, replace the segment with this object.\n", "parameters": [ { "description": "Tier-1 ID", "required": true, "type": "string", "name": "tier-1-id", "in": "path", "controlName": "tier-1-id" }, { "description": "Segment ID", "required": true, "type": "string", "name": "segment-id", "in": "path", "controlName": "segment-id" }, { "schema": { "$ref": "#/definitions/Segment" }, "required": true, "name": "Segment", "in": "body", "definition": "Segment", "type": "object", "controlName": "body" } ], "produces": [ "application/json" ], "tags": [ "Policy Connectivity Segments" ], "summary": "Create or update a segment", "x-vmw-nsx-module": "PolicyConnectivity", "consumes": [ "application/json" ], "operationId": "CreateOrReplaceSegment" }, "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Segment" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Read segment", "parameters": [ { "description": "Tier-1 ID", "required": true, "type": "string", "name": "tier-1-id", "in": "path", "controlName": "tier-1-id" }, { "description": "Segment ID", "required": true, "type": "string", "name": "segment-id", "in": "path", "controlName": "segment-id" } ], "produces": [ "application/json" ], "tags": [ "Policy Connectivity Segments" ], "summary": "Read segment", "x-vmw-nsx-module": "PolicyConnectivity", "consumes": [ "application/json" ], "operationId": "ReadSegment" }, "delete": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Delete segment", "parameters": [ { "description": "Tier-1 ID", "required": true, "type": "string", "name": "tier-1-id", "in": "path", "controlName": "tier-1-id" }, { "description": "Segment ID", "required": true, "type": "string", "name": "segment-id", "in": "path", "controlName": "segment-id" } ], "tags": [ "Policy Connectivity Segments" ], "summary": "Delete segment", "x-vmw-nsx-module": "PolicyConnectivity", "consumes": [ "application/json" ], "operationId": "DeleteSegment" }, "patch": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "If segment with the segment-id is not already present, create a new segment.\nIf it already exists, update the segment with specified attributes.\n", "parameters": [ { "description": "Tier-1 ID", "required": true, "type": "string", "name": "tier-1-id", "in": "path", "controlName": "tier-1-id" }, { "description": "Segment ID", "required": true, "type": "string", "name": "segment-id", "in": "path", "controlName": "segment-id" }, { "schema": { "$ref": "#/definitions/Segment" }, "required": true, "name": "Segment", "in": "body", "definition": "Segment", "type": "object", "controlName": "body" } ], "tags": [ "Policy Connectivity Segments" ], "summary": "Create or update a segment", "x-vmw-nsx-module": "PolicyConnectivity", "consumes": [ "application/json" ], "operationId": "PatchSegment" } }, "/infra/realized-state/realized-entity": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/GenericPolicyRealizedResource" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Get realized entity uniquely identified by realized path", "parameters": [ { "description": "String Path of the realized object", "required": false, "type": "string", "name": "realized_path", "in": "query", "controlName": "realized_path" } ], "produces": [ "application/json" ], "tags": [ "Policy Realization" ], "summary": "Get realized entity uniquely identified by realized path", "x-vmw-nsx-module": "PolicyRealizedState", "consumes": [ "application/json" ], "operationId": "ReadRealizedEntity" } }, "/infra/dns-forwarder-zones": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PolicyDnsForwarderZoneListResult" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Paginated list of all Dns Forwarder Zones\n", "parameters": [ { "description": "Opaque cursor to be used for getting next page of records (supplied by current result page)", "type": "string", "name": "cursor", "in": "query", "controlName": "cursor" }, { "description": "Comma separated list of fields that should be included in query result", "type": "string", "name": "included_fields", "in": "query", "controlName": "included_fields" }, { "description": "Maximum number of results to return in this page (server may return fewer)", "format": "int64", "default": 1000, "maximum": 1000, "minimum": 0, "in": "query", "type": "integer", "name": "page_size", "controlName": "page_size" }, { "type": "boolean", "name": "sort_ascending", "in": "query", "controlName": "sort_ascending" }, { "description": "Field by which records are sorted", "type": "string", "name": "sort_by", "in": "query", "controlName": "sort_by" } ], "produces": [ "application/json" ], "tags": [ "Policy Dns Forwarder" ], "summary": "List Dns Forwarder Zones", "x-vmw-nsx-module": "PolicyDnsForwarder", "consumes": [ "application/json" ], "operationId": "ListPolicyDnsForwarderZone" } }, "/infra/services/{service-id}/service-entries": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/ServiceEntryListResult" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Paginated list of Service entries for the given service\n", "parameters": [ { "description": "Service ID", "required": true, "type": "string", "name": "service-id", "in": "path", "controlName": "service-id" }, { "description": "Opaque cursor to be used for getting next page of records (supplied by current result page)", "type": "string", "name": "cursor", "in": "query", "controlName": "cursor" }, { "description": "Comma separated list of fields that should be included in query result", "type": "string", "name": "included_fields", "in": "query", "controlName": "included_fields" }, { "description": "Maximum number of results to return in this page (server may return fewer)", "format": "int64", "default": 1000, "maximum": 1000, "minimum": 0, "in": "query", "type": "integer", "name": "page_size", "controlName": "page_size" }, { "type": "boolean", "name": "sort_ascending", "in": "query", "controlName": "sort_ascending" }, { "description": "Field by which records are sorted", "type": "string", "name": "sort_by", "in": "query", "controlName": "sort_by" } ], "produces": [ "application/json" ], "tags": [ "Policy" ], "summary": "List Service entries for the given service", "x-vmw-nsx-module": "Policy", "consumes": [ "application/json" ], "operationId": "ListServiceEntries" } }, "/infra/tier-0s/{tier-0-id}/locale-services/{locale-service-id}/l3vpns/{l3vpn-id}?action=show_sensitive_data": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/L3Vpn" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Read the L3Vpn with the given id. Sensitive data is returned as part of the response.\n", "parameters": [ { "required": true, "type": "string", "name": "tier-0-id", "in": "path", "controlName": "tier-0-id" }, { "required": true, "type": "string", "name": "locale-service-id", "in": "path", "controlName": "locale-service-id" }, { "required": true, "type": "string", "name": "l3vpn-id", "in": "path", "controlName": "l3vpn-id" } ], "produces": [ "application/json" ], "tags": [ "Policy L3Vpn" ], "summary": "Read an L3Vpn", "x-vmw-nsx-module": "PolicyL3Vpn", "consumes": [ "application/json" ], "operationId": "ReadL3VpnWithSensitiveDataShow_sensitive_data" } }, "/infra/domains/{domain-id}/groups/{group-id}": { "put": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Group" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "If a group with the group-id is not already present, create a new group.\nIf it already exists, update the group.\n", "parameters": [ { "description": "Domain ID", "required": true, "type": "string", "name": "domain-id", "in": "path", "controlName": "domain-id" }, { "description": "Group ID", "required": true, "type": "string", "name": "group-id", "in": "path", "controlName": "group-id" }, { "schema": { "$ref": "#/definitions/Group" }, "required": true, "name": "Group", "in": "body", "definition": "Group", "type": "object", "controlName": "body" } ], "produces": [ "application/json" ], "tags": [ "Policy" ], "summary": "Create or update a group", "x-vmw-nsx-module": "Policy", "consumes": [ "application/json" ], "operationId": "UpdateGroupForDomain" }, "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Group" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Read group", "parameters": [ { "description": "Domain ID", "required": true, "type": "string", "name": "domain-id", "in": "path", "controlName": "domain-id" }, { "description": "Group ID", "required": true, "type": "string", "name": "group-id", "in": "path", "controlName": "group-id" } ], "produces": [ "application/json" ], "tags": [ "Policy" ], "summary": "Read group", "x-vmw-nsx-module": "Policy", "consumes": [ "application/json" ], "operationId": "ReadGroupForDomain" }, "delete": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Delete Group", "parameters": [ { "description": "Domain ID", "required": true, "type": "string", "name": "domain-id", "in": "path", "controlName": "domain-id" }, { "description": "Group ID", "required": true, "type": "string", "name": "group-id", "in": "path", "controlName": "group-id" }, { "default": false, "description": "Force delete the resource even if it is being used somewhere\n", "type": "boolean", "name": "force", "in": "query", "controlName": "force" } ], "tags": [ "Policy" ], "summary": "Delete Group", "x-vmw-nsx-module": "Policy", "consumes": [ "application/json" ], "operationId": "DeleteGroup" }, "patch": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "If a group with the group-id is not already present, create a new group.\nIf it already exists, patch the group.\n", "parameters": [ { "description": "Domain ID", "required": true, "type": "string", "name": "domain-id", "in": "path", "controlName": "domain-id" }, { "description": "Group ID", "required": true, "type": "string", "name": "group-id", "in": "path", "controlName": "group-id" }, { "schema": { "$ref": "#/definitions/Group" }, "required": true, "name": "Group", "in": "body", "definition": "Group", "type": "object", "controlName": "body" } ], "tags": [ "Policy" ], "summary": "Patch a group", "x-vmw-nsx-module": "Policy", "consumes": [ "application/json" ], "operationId": "PatchGroupForDomain" } }, "/infra/tier-0s/{tier-0-id}/locale-services/{locale-service-id}/l3vpns/{l3vpn-id}/statistics": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/AggregateL3VpnStatistics" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Get statistics of an L3Vpn.\n- no enforcement point path specified: Stats will be evaluated on each enforcement\npoint.\n- {enforcement_point_path}: Stats are evaluated only on the given enforcement point.\n", "parameters": [ { "required": true, "type": "string", "name": "tier-0-id", "in": "path", "controlName": "tier-0-id" }, { "required": true, "type": "string", "name": "locale-service-id", "in": "path", "controlName": "locale-service-id" }, { "required": true, "type": "string", "name": "l3vpn-id", "in": "path", "controlName": "l3vpn-id" }, { "description": "String Path of the enforcement point", "required": false, "type": "string", "name": "enforcement_point_path", "in": "query", "controlName": "enforcement_point_path" } ], "produces": [ "application/json" ], "tags": [ "Policy Statistics L3Vpn" ], "summary": "Get L3Vpn statistics", "x-vmw-nsx-module": "PolicyStatistics", "consumes": [ "application/json" ], "operationId": "GetL3VpnStatistics" } }, "/infra/realized-state/realized-entity?action=refresh": { "post": { "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Refresh the status and statistics of all realized entities associated\nwith given intent path synchronously.\n", "parameters": [ { "description": "String Path of the enforcement point", "required": false, "type": "string", "name": "enforcement_point_path", "in": "query", "controlName": "enforcement_point_path" }, { "description": "String Path of the intent object", "required": true, "type": "string", "name": "intent_path", "in": "query", "controlName": "intent_path" } ], "tags": [ "Policy Realization" ], "summary": "Refresh all realized entities associated with the intent-path", "x-vmw-nsx-module": "PolicyRealizedState", "consumes": [ "application/json" ], "operationId": "RefreshRealizedStateRefresh" } }, "/infra/services/{service-id}/service-entries/{service-entry-id}": { "put": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/ServiceEntry" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "If a service entry with the service-entry-id is not already present,\ncreate a new service entry. If it already exists, update the service\nentry.\n", "parameters": [ { "description": "Service ID", "required": true, "type": "string", "name": "service-id", "in": "path", "controlName": "service-id" }, { "description": "Service entry ID", "required": true, "type": "string", "name": "service-entry-id", "in": "path", "controlName": "service-entry-id" }, { "schema": { "$ref": "#/definitions/ServiceEntry" }, "required": true, "name": "ServiceEntry", "in": "body", "definition": "ServiceEntry", "type": "object", "controlName": "body" } ], "produces": [ "application/json" ], "tags": [ "Policy" ], "summary": "Create or update a ServiceEntry", "x-vmw-nsx-module": "Policy", "consumes": [ "application/json" ], "operationId": "UpdateServiceEntry" }, "delete": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Delete Service entry", "parameters": [ { "description": "Service ID", "required": true, "type": "string", "name": "service-id", "in": "path", "controlName": "service-id" }, { "description": "Service entry ID", "required": true, "type": "string", "name": "service-entry-id", "in": "path", "controlName": "service-entry-id" } ], "tags": [ "Policy" ], "summary": "Delete Service entry", "x-vmw-nsx-module": "Policy", "consumes": [ "application/json" ], "operationId": "DeleteServiceEntry" }, "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/ServiceEntry" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Service entry", "parameters": [ { "description": "Service ID", "required": true, "type": "string", "name": "service-id", "in": "path", "controlName": "service-id" }, { "description": "Service entry ID", "required": true, "type": "string", "name": "service-entry-id", "in": "path", "controlName": "service-entry-id" } ], "produces": [ "application/json" ], "tags": [ "Policy" ], "summary": "Service entry", "x-vmw-nsx-module": "Policy", "consumes": [ "application/json" ], "operationId": "ReadServiceEntry" }, "patch": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "If a service entry with the service-entry-id is not already present,\ncreate a new service entry. If it already exists, patch the service\nentry.\n", "parameters": [ { "description": "Service ID", "required": true, "type": "string", "name": "service-id", "in": "path", "controlName": "service-id" }, { "description": "Service entry ID", "required": true, "type": "string", "name": "service-entry-id", "in": "path", "controlName": "service-entry-id" }, { "schema": { "$ref": "#/definitions/ServiceEntry" }, "required": true, "name": "ServiceEntry", "in": "body", "definition": "ServiceEntry", "type": "object", "controlName": "body" } ], "tags": [ "Policy" ], "summary": "Patch a ServiceEntry", "x-vmw-nsx-module": "Policy", "consumes": [ "application/json" ], "operationId": "PatchServiceEntry" } }, "/infra/tier-1s/{tier-1-id}/dns-forwarder": { "put": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PolicyDnsForwarder" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Update the DNS Forwarder", "parameters": [ { "description": "Tier-1 ID", "required": true, "type": "string", "name": "tier-1-id", "in": "path", "controlName": "tier-1-id" }, { "schema": { "$ref": "#/definitions/PolicyDnsForwarder" }, "required": true, "name": "PolicyDnsForwarder", "in": "body", "definition": "PolicyDnsForwarder", "type": "object", "controlName": "body" } ], "produces": [ "application/json" ], "tags": [ "Policy Dns Forwarder" ], "summary": "Update the DNS Forwarder", "x-vmw-nsx-module": "PolicyDnsForwarder", "consumes": [ "application/json" ], "operationId": "UpdatePolicyDnsForwarderOnTier1" }, "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PolicyDnsForwarder" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Read the DNS Forwarder for the given tier-1 instance", "parameters": [ { "description": "Tier-1 ID", "required": true, "type": "string", "name": "tier-1-id", "in": "path", "controlName": "tier-1-id" } ], "produces": [ "application/json" ], "tags": [ "Policy Dns Forwarder" ], "summary": "Read the DNS Forwarder for the given tier-1 instance", "x-vmw-nsx-module": "PolicyDnsForwarder", "consumes": [ "application/json" ], "operationId": "ReadPolicyDnsForwarderOnTier1" }, "delete": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Delete DNS configuration for tier-1 instance", "parameters": [ { "description": "Tier-1 ID", "required": true, "type": "string", "name": "tier-1-id", "in": "path", "controlName": "tier-1-id" } ], "tags": [ "Policy Dns Forwarder" ], "summary": "Delete DNS configuration for tier-1 instance", "x-vmw-nsx-module": "PolicyDnsForwarder", "consumes": [ "application/json" ], "operationId": "DeletePolicyDnsForwarderOnTier1" }, "patch": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Update the DNS Forwarder", "parameters": [ { "description": "Tier-1 ID", "required": true, "type": "string", "name": "tier-1-id", "in": "path", "controlName": "tier-1-id" }, { "schema": { "$ref": "#/definitions/PolicyDnsForwarder" }, "required": true, "name": "PolicyDnsForwarder", "in": "body", "definition": "PolicyDnsForwarder", "type": "object", "controlName": "body" } ], "tags": [ "Policy Dns Forwarder" ], "summary": "Update the DNS Forwarder", "x-vmw-nsx-module": "PolicyDnsForwarder", "consumes": [ "application/json" ], "operationId": "PatchPolicyDnsForwarderOnTier1" } }, "/infra/ipfix-dfw-profiles": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/IPFIXDFWProfileListResult" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "API provides list IPFIX DFW profiles available on\nselected logical DFW.\n", "parameters": [ { "description": "Opaque cursor to be used for getting next page of records (supplied by current result page)", "type": "string", "name": "cursor", "in": "query", "controlName": "cursor" }, { "description": "Comma separated list of fields that should be included in query result", "type": "string", "name": "included_fields", "in": "query", "controlName": "included_fields" }, { "description": "Maximum number of results to return in this page (server may return fewer)", "format": "int64", "default": 1000, "maximum": 1000, "minimum": 0, "in": "query", "type": "integer", "name": "page_size", "controlName": "page_size" }, { "type": "boolean", "name": "sort_ascending", "in": "query", "controlName": "sort_ascending" }, { "description": "Field by which records are sorted", "type": "string", "name": "sort_by", "in": "query", "controlName": "sort_by" } ], "produces": [ "application/json" ], "tags": [ "Policy Ipfixdfw" ], "summary": "List IPFIX DFW Profile", "x-vmw-nsx-module": "PolicyIPFIXDFW", "consumes": [ "application/json" ], "operationId": "ListIPFIXDFWProfiles" } }, "/infra/realized-state/realized-entities": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/GenericPolicyRealizedResourceListResult" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Get list of realized objects associated with intent object", "parameters": [ { "description": "String Path of the intent object", "required": true, "type": "string", "name": "intent_path", "in": "query", "controlName": "intent_path" } ], "produces": [ "application/json" ], "tags": [ "Policy Realization" ], "summary": "Get list of realized objects associated with intent object", "x-vmw-nsx-module": "PolicyRealizedState", "consumes": [ "application/json" ], "operationId": "ListRealizedEntities" } }, "/infra/domains/{domain-id}/communication-maps/{communication-map-id}": { "put": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/CommunicationMap" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Create or Update the communication map for a domain. This is a full replace.\nAll the CommunicationEntries are replaced.\n", "parameters": [ { "required": true, "type": "string", "name": "domain-id", "in": "path", "controlName": "domain-id" }, { "required": true, "type": "string", "name": "communication-map-id", "in": "path", "controlName": "communication-map-id" }, { "schema": { "$ref": "#/definitions/CommunicationMap" }, "required": true, "name": "CommunicationMap", "in": "body", "definition": "CommunicationMap", "type": "object", "controlName": "body" } ], "produces": [ "application/json" ], "tags": [ "Policy" ], "summary": "Create or Update communication map", "x-vmw-nsx-module": "PolicyDfw", "consumes": [ "application/json" ], "operationId": "UpdateCommunicationMapForDomain" }, "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/CommunicationMap" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Read communication-map for a domain.\n", "parameters": [ { "required": true, "type": "string", "name": "domain-id", "in": "path", "controlName": "domain-id" }, { "required": true, "type": "string", "name": "communication-map-id", "in": "path", "controlName": "communication-map-id" } ], "produces": [ "application/json" ], "tags": [ "Policy" ], "summary": "Read communication-map", "x-vmw-nsx-module": "PolicyDfw", "consumes": [ "application/json" ], "operationId": "ReadCommunicationMapForDomain" }, "delete": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Deletes the communication map along with all the communication entries\n", "parameters": [ { "required": true, "type": "string", "name": "domain-id", "in": "path", "controlName": "domain-id" }, { "required": true, "type": "string", "name": "communication-map-id", "in": "path", "controlName": "communication-map-id" } ], "tags": [ "Policy" ], "summary": "Deletes a communication map from this domain", "x-vmw-nsx-module": "PolicyDfw", "consumes": [ "application/json" ], "operationId": "DeleteCommunicationMapForDomain" }, "patch": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Patch the communication map for a domain.\n", "parameters": [ { "required": true, "type": "string", "name": "domain-id", "in": "path", "controlName": "domain-id" }, { "required": true, "type": "string", "name": "communication-map-id", "in": "path", "controlName": "communication-map-id" }, { "schema": { "$ref": "#/definitions/CommunicationMap" }, "required": true, "name": "CommunicationMap", "in": "body", "definition": "CommunicationMap", "type": "object", "controlName": "body" } ], "tags": [ "Policy" ], "summary": "Patch communication map", "x-vmw-nsx-module": "PolicyDfw", "consumes": [ "application/json" ], "operationId": "PatchCommunicationMapForDomain" } }, "/infra/tier-0s/{tier-0-id}/locale-services/{locale-service-id}/bgp/neighbors": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/BgpNeighborConfigListResult" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Paginated list of all BGP neighbor configurations\n", "parameters": [ { "required": true, "type": "string", "name": "tier-0-id", "in": "path", "controlName": "tier-0-id" }, { "required": true, "type": "string", "name": "locale-service-id", "in": "path", "controlName": "locale-service-id" }, { "description": "Opaque cursor to be used for getting next page of records (supplied by current result page)", "type": "string", "name": "cursor", "in": "query", "controlName": "cursor" }, { "description": "Comma separated list of fields that should be included in query result", "type": "string", "name": "included_fields", "in": "query", "controlName": "included_fields" }, { "description": "Maximum number of results to return in this page (server may return fewer)", "format": "int64", "default": 1000, "maximum": 1000, "minimum": 0, "in": "query", "type": "integer", "name": "page_size", "controlName": "page_size" }, { "type": "boolean", "name": "sort_ascending", "in": "query", "controlName": "sort_ascending" }, { "description": "Field by which records are sorted", "type": "string", "name": "sort_by", "in": "query", "controlName": "sort_by" } ], "produces": [ "application/json" ], "tags": [ "Policy Connectivity Bgp" ], "summary": "List BGP neighbor configurations", "x-vmw-nsx-module": "PolicyConnectivity", "consumes": [ "application/json" ], "operationId": "ListBgpNeighborConfigs" } }, "/infra/tier-0s/{tier-0-id}/locale-services/{locale-service-id}/bgp/neighbors/{neighbor-id}": { "put": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/BgpNeighborConfig" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "If BGP neighbor config with the neighbor-id is not already present, create a new\nneighbor config. If it already exists, replace the BGP neighbor config with this object.\n", "parameters": [ { "required": true, "type": "string", "name": "tier-0-id", "in": "path", "controlName": "tier-0-id" }, { "required": true, "type": "string", "name": "locale-service-id", "in": "path", "controlName": "locale-service-id" }, { "required": true, "type": "string", "name": "neighbor-id", "in": "path", "controlName": "neighbor-id" }, { "schema": { "$ref": "#/definitions/BgpNeighborConfig" }, "required": true, "name": "BgpNeighborConfig", "in": "body", "definition": "BgpNeighborConfig", "type": "object", "controlName": "body" } ], "produces": [ "application/json" ], "tags": [ "Policy Connectivity Bgp" ], "summary": "Create or update a BGP neighbor config", "x-vmw-nsx-module": "PolicyConnectivity", "consumes": [ "application/json" ], "operationId": "CreateOrReplaceBgpNeighborConfig" }, "delete": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Delete BGP neighbor config", "parameters": [ { "required": true, "type": "string", "name": "tier-0-id", "in": "path", "controlName": "tier-0-id" }, { "required": true, "type": "string", "name": "locale-service-id", "in": "path", "controlName": "locale-service-id" }, { "required": true, "type": "string", "name": "neighbor-id", "in": "path", "controlName": "neighbor-id" } ], "tags": [ "Policy Connectivity Bgp" ], "summary": "Delete BGP neighbor config", "x-vmw-nsx-module": "PolicyConnectivity", "consumes": [ "application/json" ], "operationId": "DeleteBgpNeighborConfig" }, "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/BgpNeighborConfig" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Read BGP neighbor config", "parameters": [ { "required": true, "type": "string", "name": "tier-0-id", "in": "path", "controlName": "tier-0-id" }, { "required": true, "type": "string", "name": "locale-service-id", "in": "path", "controlName": "locale-service-id" }, { "required": true, "type": "string", "name": "neighbor-id", "in": "path", "controlName": "neighbor-id" } ], "produces": [ "application/json" ], "tags": [ "Policy Connectivity Bgp" ], "summary": "Read BGP neighbor config", "x-vmw-nsx-module": "PolicyConnectivity", "consumes": [ "application/json" ], "operationId": "ReadBgpNeighborConfig" }, "patch": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "If BGP neighbor config with the neighbor-id is not already present, create a new\nneighbor config. If it already exists, replace the BGP neighbor config with this object.\n", "parameters": [ { "required": true, "type": "string", "name": "tier-0-id", "in": "path", "controlName": "tier-0-id" }, { "required": true, "type": "string", "name": "locale-service-id", "in": "path", "controlName": "locale-service-id" }, { "required": true, "type": "string", "name": "neighbor-id", "in": "path", "controlName": "neighbor-id" }, { "schema": { "$ref": "#/definitions/BgpNeighborConfig" }, "required": true, "name": "BgpNeighborConfig", "in": "body", "definition": "BgpNeighborConfig", "type": "object", "controlName": "body" } ], "tags": [ "Policy Connectivity Bgp" ], "summary": "Create or update a BGP neighbor config", "x-vmw-nsx-module": "PolicyConnectivity", "consumes": [ "application/json" ], "operationId": "PatchBgpNeighborConfig" } }, "/infra/tier-0s/{tier-0-id}/locale-services/{locale-service-id}/l2vpn-context/l2vpns/{l2vpn-id}/statistics": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/AggregateL2VpnStatistics" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Get statistics of an L2Vpn.\n- no enforcement point path specified: Stats will be evaluated on each enforcement\npoint.\n- {enforcement_point_path}: Stats are evaluated only on the given enforcement point.\n", "parameters": [ { "required": true, "type": "string", "name": "tier-0-id", "in": "path", "controlName": "tier-0-id" }, { "required": true, "type": "string", "name": "locale-service-id", "in": "path", "controlName": "locale-service-id" }, { "required": true, "type": "string", "name": "l2vpn-id", "in": "path", "controlName": "l2vpn-id" }, { "description": "String Path of the enforcement point", "required": false, "type": "string", "name": "enforcement_point_path", "in": "query", "controlName": "enforcement_point_path" } ], "produces": [ "application/json" ], "tags": [ "Policy Statistics L2Vpn" ], "summary": "Get L2Vpn statistics", "x-vmw-nsx-module": "PolicyStatistics", "consumes": [ "application/json" ], "operationId": "GetL2VpnStatistics" } }, "/infra/ipfix-dfw-collector-profiles": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/IPFIXDFWCollectorProfileListResult" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "API will provide list of all IPFIX dfw collector profiles and\ntheir details.\n", "parameters": [ { "description": "Opaque cursor to be used for getting next page of records (supplied by current result page)", "type": "string", "name": "cursor", "in": "query", "controlName": "cursor" }, { "description": "Comma separated list of fields that should be included in query result", "type": "string", "name": "included_fields", "in": "query", "controlName": "included_fields" }, { "description": "Maximum number of results to return in this page (server may return fewer)", "format": "int64", "default": 1000, "maximum": 1000, "minimum": 0, "in": "query", "type": "integer", "name": "page_size", "controlName": "page_size" }, { "type": "boolean", "name": "sort_ascending", "in": "query", "controlName": "sort_ascending" }, { "description": "Field by which records are sorted", "type": "string", "name": "sort_by", "in": "query", "controlName": "sort_by" } ], "produces": [ "application/json" ], "tags": [ "Policy Ipfixdfw" ], "summary": "List IPFIX Collector profiles.", "x-vmw-nsx-module": "PolicyIPFIXDFW", "consumes": [ "application/json" ], "operationId": "ListIPFIXDFWCollectorProfiles" } }, "/infra/domains/{domain-id}/communication-maps": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/CommunicationMapListResult" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "List all communication maps for a domain.\n", "parameters": [ { "required": true, "type": "string", "name": "domain-id", "in": "path", "controlName": "domain-id" }, { "description": "Opaque cursor to be used for getting next page of records (supplied by current result page)", "type": "string", "name": "cursor", "in": "query", "controlName": "cursor" }, { "description": "Comma separated list of fields that should be included in query result", "type": "string", "name": "included_fields", "in": "query", "controlName": "included_fields" }, { "description": "Maximum number of results to return in this page (server may return fewer)", "format": "int64", "default": 1000, "maximum": 1000, "minimum": 0, "in": "query", "type": "integer", "name": "page_size", "controlName": "page_size" }, { "type": "boolean", "name": "sort_ascending", "in": "query", "controlName": "sort_ascending" }, { "description": "Field by which records are sorted", "type": "string", "name": "sort_by", "in": "query", "controlName": "sort_by" } ], "produces": [ "application/json" ], "tags": [ "Policy" ], "summary": "List communication maps", "x-vmw-nsx-module": "PolicyDfw", "consumes": [ "application/json" ], "operationId": "ListCommunicationMapsForDomain" } }, "/infra/domains/{domain-id}/gateway-policies/{gateway-policy-id}/rules": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/RuleListResult" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "List Rules", "parameters": [ { "required": true, "type": "string", "name": "domain-id", "in": "path", "controlName": "domain-id" }, { "required": true, "type": "string", "name": "gateway-policy-id", "in": "path", "controlName": "gateway-policy-id" }, { "description": "Opaque cursor to be used for getting next page of records (supplied by current result page)", "type": "string", "name": "cursor", "in": "query", "controlName": "cursor" }, { "description": "Comma separated list of fields that should be included in query result", "type": "string", "name": "included_fields", "in": "query", "controlName": "included_fields" }, { "description": "Maximum number of results to return in this page (server may return fewer)", "format": "int64", "default": 1000, "maximum": 1000, "minimum": 0, "in": "query", "type": "integer", "name": "page_size", "controlName": "page_size" }, { "type": "boolean", "name": "sort_ascending", "in": "query", "controlName": "sort_ascending" }, { "description": "Field by which records are sorted", "type": "string", "name": "sort_by", "in": "query", "controlName": "sort_by" } ], "produces": [ "application/json" ], "tags": [ "Policy Gateway Firewall" ], "summary": "List Rules", "x-vmw-nsx-module": "PolicyEdgeFirewall", "consumes": [ "application/json" ], "operationId": "ListGatewayRules" } }, "/infra/tier-1s/{tier-1-id}/ipfix-switch-collection-instances/{ipfix-switch-collection-instance-id}": { "put": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/IPFIXSwitchCollectionInstance" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Create or replace IPFIX switch collection instance. Instance will start\nforwarding data to provided IPFIX\ncollector.\n", "parameters": [ { "description": "Tier-1 ID", "required": true, "type": "string", "name": "tier-1-id", "in": "path", "controlName": "tier-1-id" }, { "description": "IPFIX Switch Collection Instance ID", "required": true, "type": "string", "name": "ipfix-switch-collection-instance-id", "in": "path", "controlName": "ipfix-switch-collection-instance-id" }, { "schema": { "$ref": "#/definitions/IPFIXSwitchCollectionInstance" }, "required": true, "name": "IPFIXSwitchCollectionInstance", "in": "body", "definition": "IPFIXSwitchCollectionInstance", "type": "object", "controlName": "body" } ], "produces": [ "application/json" ], "tags": [ "Policy Operations" ], "summary": "Create or Replace IPFIX switch collection instance", "x-vmw-nsx-module": "PolicyOperations", "consumes": [ "application/json" ], "operationId": "CreateOrReplaceIPFIXSwitchCollectionInstance" }, "patch": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Create a new IPFIX switch collection instance if the IPFIX switch collection\ninstance with given id does not already exist. If the IPFIX switch collection\ninstance with the given id already exists, patch with the existing IPFIX switch\ncollection instance.\n", "parameters": [ { "description": "Tier-1 ID", "required": true, "type": "string", "name": "tier-1-id", "in": "path", "controlName": "tier-1-id" }, { "description": "IPFIX Switch Collection Instance ID", "required": true, "type": "string", "name": "ipfix-switch-collection-instance-id", "in": "path", "controlName": "ipfix-switch-collection-instance-id" }, { "schema": { "$ref": "#/definitions/IPFIXSwitchCollectionInstance" }, "required": true, "name": "IPFIXSwitchCollectionInstance", "in": "body", "definition": "IPFIXSwitchCollectionInstance", "type": "object", "controlName": "body" } ], "tags": [ "Policy Operations" ], "summary": "Patch IPFIX switch collection instance", "x-vmw-nsx-module": "PolicyOperations", "consumes": [ "application/json" ], "operationId": "PatchIPFIXSwitchCollectionInstance" }, "delete": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "API deletes IPFIX Switch Collection Instance.Flow forwarding to\nselected collector will be stopped.\n", "parameters": [ { "description": "Tier-1 ID", "required": true, "type": "string", "name": "tier-1-id", "in": "path", "controlName": "tier-1-id" }, { "description": "IPFIX Switch Collection Instance ID", "required": true, "type": "string", "name": "ipfix-switch-collection-instance-id", "in": "path", "controlName": "ipfix-switch-collection-instance-id" } ], "tags": [ "Policy Operations" ], "summary": "Delete IPFIX Switch Collection Instance", "x-vmw-nsx-module": "PolicyOperations", "consumes": [ "application/json" ], "operationId": "DeleteIPFIXSwitchCollectionInstance" }, "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/IPFIXSwitchCollectionInstance" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "API will return details of IPFIX switch collection. If instance does\nnot exist, it will return 404.\n", "parameters": [ { "description": "Tier-1 ID", "required": true, "type": "string", "name": "tier-1-id", "in": "path", "controlName": "tier-1-id" }, { "description": "IPFIX switch collection id", "required": true, "type": "string", "name": "ipfix-switch-collection-instance-id", "in": "path", "controlName": "ipfix-switch-collection-instance-id" } ], "produces": [ "application/json" ], "tags": [ "Policy Operations" ], "summary": "Get IPFIX Switch Collection Instance", "x-vmw-nsx-module": "PolicyOperations", "consumes": [ "application/json" ], "operationId": "ReadIPFIXSwitchCollectionInstance" } }, "/infra/domains": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/DomainListResult" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Paginated list of all domains for infra.\n", "parameters": [ { "description": "Opaque cursor to be used for getting next page of records (supplied by current result page)", "type": "string", "name": "cursor", "in": "query", "controlName": "cursor" }, { "description": "Comma separated list of fields that should be included in query result", "type": "string", "name": "included_fields", "in": "query", "controlName": "included_fields" }, { "description": "Maximum number of results to return in this page (server may return fewer)", "format": "int64", "default": 1000, "maximum": 1000, "minimum": 0, "in": "query", "type": "integer", "name": "page_size", "controlName": "page_size" }, { "type": "boolean", "name": "sort_ascending", "in": "query", "controlName": "sort_ascending" }, { "description": "Field by which records are sorted", "type": "string", "name": "sort_by", "in": "query", "controlName": "sort_by" } ], "produces": [ "application/json" ], "tags": [ "Policy" ], "summary": "List domains for infra", "x-vmw-nsx-module": "Policy", "consumes": [ "application/json" ], "operationId": "ListDomainForInfra" } }, "/infra/domains/{domain-id}/groups/{group-id}/statistics/virtual-machines": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/RealizedVirtualMachineListResult" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Get the effective VM membership for the Group. This API also gives some VM\ndetails such as VM name, IDs and the current state of the VMs.\n", "parameters": [ { "description": "Domain id", "required": true, "type": "string", "name": "domain-id", "in": "path", "controlName": "domain-id" }, { "description": "Group Id", "required": true, "type": "string", "name": "group-id", "in": "path", "controlName": "group-id" }, { "description": "Opaque cursor to be used for getting next page of records (supplied by current result page)", "type": "string", "name": "cursor", "in": "query", "controlName": "cursor" }, { "description": "String Path of the enforcement point", "required": false, "type": "string", "name": "enforcement_point_path", "in": "query", "controlName": "enforcement_point_path" }, { "description": "Comma separated list of fields that should be included in query result", "type": "string", "name": "included_fields", "in": "query", "controlName": "included_fields" }, { "description": "Maximum number of results to return in this page (server may return fewer)", "format": "int64", "default": 1000, "maximum": 1000, "minimum": 0, "in": "query", "type": "integer", "name": "page_size", "controlName": "page_size" }, { "type": "boolean", "name": "sort_ascending", "in": "query", "controlName": "sort_ascending" }, { "description": "Field by which records are sorted", "type": "string", "name": "sort_by", "in": "query", "controlName": "sort_by" } ], "produces": [ "application/json" ], "tags": [ "Policy Statistics Group" ], "summary": "Get effective VMs for the Group", "x-vmw-nsx-module": "PolicyStatistics", "consumes": [ "application/json" ], "operationId": "GetGroupVMStatistics" } }, "/infra/tier-1s": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Tier1ListResult" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Paginated list of all tier-1 instances\n", "parameters": [ { "description": "Opaque cursor to be used for getting next page of records (supplied by current result page)", "type": "string", "name": "cursor", "in": "query", "controlName": "cursor" }, { "description": "Comma separated list of fields that should be included in query result", "type": "string", "name": "included_fields", "in": "query", "controlName": "included_fields" }, { "description": "Maximum number of results to return in this page (server may return fewer)", "format": "int64", "default": 1000, "maximum": 1000, "minimum": 0, "in": "query", "type": "integer", "name": "page_size", "controlName": "page_size" }, { "type": "boolean", "name": "sort_ascending", "in": "query", "controlName": "sort_ascending" }, { "description": "Field by which records are sorted", "type": "string", "name": "sort_by", "in": "query", "controlName": "sort_by" } ], "produces": [ "application/json" ], "tags": [ "Policy Connectivity Tier 1" ], "summary": "List Tier-1 instances", "x-vmw-nsx-module": "PolicyConnectivity", "consumes": [ "application/json" ], "operationId": "ListTier1" } }, "/infra/realized-state/enforcement-points/{enforcement-point-name}/vifs": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/VirtualNetworkInterfaceListResult" } }, "400": { "description": "Bad Request" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "This API lists VIFs from the specified NSX Manager.\n", "parameters": [ { "required": true, "type": "string", "name": "enforcement-point-name", "in": "path", "controlName": "enforcement-point-name" }, { "description": "Opaque cursor to be used for getting next page of records (supplied by current result page)", "type": "string", "name": "cursor", "in": "query", "controlName": "cursor" }, { "description": "Comma separated list of fields that should be included in query result", "type": "string", "name": "included_fields", "in": "query", "controlName": "included_fields" }, { "description": "LPort attachment ID of the VIF.", "required": false, "type": "string", "name": "lport_attachment_id", "in": "query", "controlName": "lport_attachment_id" }, { "description": "Maximum number of results to return in this page (server may return fewer)", "format": "int64", "default": 1000, "maximum": 1000, "minimum": 0, "in": "query", "type": "integer", "name": "page_size", "controlName": "page_size" }, { "type": "boolean", "name": "sort_ascending", "in": "query", "controlName": "sort_ascending" }, { "description": "Field by which records are sorted", "type": "string", "name": "sort_by", "in": "query", "controlName": "sort_by" } ], "produces": [ "application/json" ], "tags": [ "Policy Realization" ], "summary": "Listing of VIFs on the NSX Manager", "x-vmw-nsx-module": "PolicyRealizedState", "consumes": [ "application/json" ], "operationId": "ListVifsOnEnforcementPoint" } }, "/infra/tier-0s/{tier-0-id}/locale-services/{locale-service-id}/l2vpn-context/l2vpns": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/L2VpnListResult" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Paginated list of L2Vpns.\n", "parameters": [ { "required": true, "type": "string", "name": "tier-0-id", "in": "path", "controlName": "tier-0-id" }, { "required": true, "type": "string", "name": "locale-service-id", "in": "path", "controlName": "locale-service-id" }, { "description": "Opaque cursor to be used for getting next page of records (supplied by current result page)", "type": "string", "name": "cursor", "in": "query", "controlName": "cursor" }, { "description": "Comma separated list of fields that should be included in query result", "type": "string", "name": "included_fields", "in": "query", "controlName": "included_fields" }, { "description": "Maximum number of results to return in this page (server may return fewer)", "format": "int64", "default": 1000, "maximum": 1000, "minimum": 0, "in": "query", "type": "integer", "name": "page_size", "controlName": "page_size" }, { "type": "boolean", "name": "sort_ascending", "in": "query", "controlName": "sort_ascending" }, { "description": "Field by which records are sorted", "type": "string", "name": "sort_by", "in": "query", "controlName": "sort_by" } ], "produces": [ "application/json" ], "tags": [ "Policy L2Vpn" ], "summary": "List L2Vpns", "x-vmw-nsx-module": "PolicyL2Vpn", "consumes": [ "application/json" ], "operationId": "ListL2Vpns" } }, "/infra/tier-0s/{tier-0-id}/locale-services/{locale-service-id}/l2vpn-context/l2vpns/{l2vpn-id}/peer-config": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/AggregateL2VpnPeerConfig" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Get peer config for the L2Vpn to configure the remote side of the tunnel.\n- no enforcement point path specified: L2Vpn Peer Codes will be evaluated on\neach enforcement point.\n- {enforcement_point_path}: L2Vpn Peer Codes are evaluated only on the given\nenforcement point.\n", "parameters": [ { "required": true, "type": "string", "name": "tier-0-id", "in": "path", "controlName": "tier-0-id" }, { "required": true, "type": "string", "name": "locale-service-id", "in": "path", "controlName": "locale-service-id" }, { "required": true, "type": "string", "name": "l2vpn-id", "in": "path", "controlName": "l2vpn-id" }, { "description": "String Path of the enforcement point", "required": false, "type": "string", "name": "enforcement_point_path", "in": "query", "controlName": "enforcement_point_path" } ], "produces": [ "application/json" ], "tags": [ "Policy L2Vpn" ], "summary": "Get Peer Config for L2Vpn", "x-vmw-nsx-module": "PolicyL2Vpn", "consumes": [ "application/json" ], "operationId": "ReadL2VpnPeerConfig" } }, "/infra/tier-1s/{tier-1-id}/nat/{nat-id}/nat-rules/{nat-rule-id}": { "put": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PolicyNatRule" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Update NAT Rule on Tier-1 denoted by Tier-1 ID, under NAT section denoted by <nat-id>. Under tier-1 there will be 3 different NATs(sections). (INTERNAL, USER and DEFAULT) For more details related to NAT section please refer to PolicyNAT schema.", "parameters": [ { "description": "Tier-1 ID", "required": true, "type": "string", "name": "tier-1-id", "in": "path", "controlName": "tier-1-id" }, { "description": "NAT id", "required": true, "type": "string", "name": "nat-id", "in": "path", "controlName": "nat-id" }, { "description": "Rule ID", "required": true, "type": "string", "name": "nat-rule-id", "in": "path", "controlName": "nat-rule-id" }, { "schema": { "$ref": "#/definitions/PolicyNatRule" }, "required": true, "name": "PolicyNatRule", "in": "body", "definition": "PolicyNatRule", "type": "object", "controlName": "body" } ], "produces": [ "application/json" ], "tags": [ "Policy Nat" ], "summary": "Update NAT Rule", "x-vmw-nsx-module": "PolicyNAT", "consumes": [ "application/json" ], "operationId": "CreateOrReplacePolicyNatRule" }, "patch": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "If a NAT Rule is not already present on Tier-1 denoted by Tier-1 ID,\nunder NAT section denoted by <nat-id>, create a new NAT Rule.\nIf it already exists, update the NAT Rule.\nUnder tier-1 there will be 3 different NATs(sections).\n(INTERNAL, USER and DEFAULT)\nFor more details related to NAT section please refer to PolicyNAT schema.\n", "parameters": [ { "description": "Tier-1 ID", "required": true, "type": "string", "name": "tier-1-id", "in": "path", "controlName": "tier-1-id" }, { "description": "NAT id", "required": true, "type": "string", "name": "nat-id", "in": "path", "controlName": "nat-id" }, { "description": "Rule ID", "required": true, "type": "string", "name": "nat-rule-id", "in": "path", "controlName": "nat-rule-id" }, { "schema": { "$ref": "#/definitions/PolicyNatRule" }, "required": true, "name": "PolicyNatRule", "in": "body", "definition": "PolicyNatRule", "type": "object", "controlName": "body" } ], "tags": [ "Policy Nat" ], "summary": "Create or update a Nat Rule", "x-vmw-nsx-module": "PolicyNAT", "consumes": [ "application/json" ], "operationId": "PatchPolicyNatRule" }, "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PolicyNatRule" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Get NAT Rule from Tier-1 denoted by Tier-1 ID, under NAT section\ndenoted by <nat-id>.\nUnder tier-1 there will be 3 different NATs(sections).\n(INTERNAL, USER and DEFAULT)\nFor more details related to NAT section please refer to PolicyNAT schema.\n", "parameters": [ { "description": "Tier-1 ID", "required": true, "type": "string", "name": "tier-1-id", "in": "path", "controlName": "tier-1-id" }, { "description": "NAT id", "required": true, "type": "string", "name": "nat-id", "in": "path", "controlName": "nat-id" }, { "description": "Rule ID", "required": true, "type": "string", "name": "nat-rule-id", "in": "path", "controlName": "nat-rule-id" } ], "produces": [ "application/json" ], "tags": [ "Policy Nat" ], "summary": "Get NAT Rule", "x-vmw-nsx-module": "PolicyNAT", "consumes": [ "application/json" ], "operationId": "GetPolicyNatRule" }, "delete": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Delete NAT Rule from Tier-1 denoted by Tier-1 ID, under NAT section denoted by <nat-id>. Under tier-1 there will be 3 different NATs(sections). (INTERNAL, USER and DEFAULT) For more details related to NAT section please refer to PolicyNAT schema.", "parameters": [ { "description": "Tier-1 ID", "required": true, "type": "string", "name": "tier-1-id", "in": "path", "controlName": "tier-1-id" }, { "description": "NAT id", "required": true, "type": "string", "name": "nat-id", "in": "path", "controlName": "nat-id" }, { "description": "Rule ID", "required": true, "type": "string", "name": "nat-rule-id", "in": "path", "controlName": "nat-rule-id" } ], "tags": [ "Policy Nat" ], "summary": "Delete NAT Rule", "x-vmw-nsx-module": "PolicyNAT", "consumes": [ "application/json" ], "operationId": "DeletePolicyNatRule" } }, "/infra/domains/gateway-policies": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/GatewayPolicyListResult" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "List all gateway policies across all domains ordered by precedence.\n", "parameters": [ { "description": "Opaque cursor to be used for getting next page of records (supplied by current result page)", "type": "string", "name": "cursor", "in": "query", "controlName": "cursor" }, { "description": "Comma separated list of fields that should be included in query result", "type": "string", "name": "included_fields", "in": "query", "controlName": "included_fields" }, { "description": "Maximum number of results to return in this page (server may return fewer)", "format": "int64", "default": 1000, "maximum": 1000, "minimum": 0, "in": "query", "type": "integer", "name": "page_size", "controlName": "page_size" }, { "type": "boolean", "name": "sort_ascending", "in": "query", "controlName": "sort_ascending" }, { "description": "Field by which records are sorted", "type": "string", "name": "sort_by", "in": "query", "controlName": "sort_by" } ], "produces": [ "application/json" ], "tags": [ "Policy" ], "summary": "List gateway policies", "x-vmw-nsx-module": "PolicyEdgeFirewall", "consumes": [ "application/json" ], "operationId": "ListGatewayPoliciesAcrossAllDomains" } }, "/infra/domains/{domain-id}/communication-maps/{communication-map-id}/communication-entries/{communication-entry-id}?action=revise": { "post": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/CommunicationEntry" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "This is used to re-order a communictation entry within a communication map.\n", "parameters": [ { "required": true, "type": "string", "name": "domain-id", "in": "path", "controlName": "domain-id" }, { "required": true, "type": "string", "name": "communication-map-id", "in": "path", "controlName": "communication-map-id" }, { "required": true, "type": "string", "name": "communication-entry-id", "in": "path", "controlName": "communication-entry-id" }, { "schema": { "$ref": "#/definitions/CommunicationEntry" }, "required": true, "name": "CommunicationEntry", "in": "body", "definition": "CommunicationEntry", "type": "object", "controlName": "body" }, { "description": "The communication map/communication entry path if operation is\n'insert_after' or 'insert_before'\n", "required": false, "type": "string", "name": "anchor_path", "in": "query", "controlName": "anchor_path" }, { "enum": [ "insert_top", "insert_bottom", "insert_after", "insert_before" ], "description": "Operation", "default": "insert_top", "required": false, "in": "query", "type": "string", "name": "operation", "controlName": "operation" } ], "produces": [ "application/json" ], "tags": [ "Policy" ], "summary": "Revise the positioning of communication entry", "x-vmw-nsx-module": "PolicyDfw", "consumes": [ "application/json" ], "operationId": "ReviseCommunicationEntryRevise" } }, "/infra/services/{service-id}": { "put": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Service" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Create a new service if a service with the given ID does not already\nexist. Creates new service entries if populated in the service.\nIf a service with the given ID already exists, update the service\nincluding the nested service entries. This is a full replace.\n", "parameters": [ { "description": "Service ID", "required": true, "type": "string", "name": "service-id", "in": "path", "controlName": "service-id" }, { "schema": { "$ref": "#/definitions/Service" }, "required": true, "name": "Service", "in": "body", "definition": "Service", "type": "object", "controlName": "body" } ], "produces": [ "application/json" ], "tags": [ "Policy" ], "summary": "Create or update a Service", "x-vmw-nsx-module": "Policy", "consumes": [ "application/json" ], "operationId": "UpdateServiceForTenant" }, "patch": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Create a new service if a service with the given ID does not already\nexist. Creates new service entries if populated in the service.\nIf a service with the given ID already exists, patch the service\nincluding the nested service entries.\n", "parameters": [ { "description": "Service ID", "required": true, "type": "string", "name": "service-id", "in": "path", "controlName": "service-id" }, { "schema": { "$ref": "#/definitions/Service" }, "required": true, "name": "Service", "in": "body", "definition": "Service", "type": "object", "controlName": "body" } ], "tags": [ "Policy" ], "summary": "Patch a Service", "x-vmw-nsx-module": "Policy", "consumes": [ "application/json" ], "operationId": "PatchServiceForTenant" }, "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Service" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Read a service", "parameters": [ { "description": "Service ID", "required": true, "type": "string", "name": "service-id", "in": "path", "controlName": "service-id" } ], "produces": [ "application/json" ], "tags": [ "Policy" ], "summary": "Read a service", "x-vmw-nsx-module": "Policy", "consumes": [ "application/json" ], "operationId": "ReadServiceForTenant" }, "delete": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Delete Service", "parameters": [ { "description": "Service ID", "required": true, "type": "string", "name": "service-id", "in": "path", "controlName": "service-id" } ], "tags": [ "Policy" ], "summary": "Delete Service", "x-vmw-nsx-module": "Policy", "consumes": [ "application/json" ], "operationId": "DeleteServiceForTenant" } }, "/infra/domains/{domain-id}/groups/{group-id}/port-mirroring-instances": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PortMirroringInstanceListResult" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "API will list all port mirroring instances active on current group.\n", "parameters": [ { "description": "Domain ID", "required": true, "type": "string", "name": "domain-id", "in": "path", "controlName": "domain-id" }, { "description": "Group ID", "required": true, "type": "string", "name": "group-id", "in": "path", "controlName": "group-id" }, { "description": "Opaque cursor to be used for getting next page of records (supplied by current result page)", "type": "string", "name": "cursor", "in": "query", "controlName": "cursor" }, { "description": "Comma separated list of fields that should be included in query result", "type": "string", "name": "included_fields", "in": "query", "controlName": "included_fields" }, { "description": "Maximum number of results to return in this page (server may return fewer)", "format": "int64", "default": 1000, "maximum": 1000, "minimum": 0, "in": "query", "type": "integer", "name": "page_size", "controlName": "page_size" }, { "type": "boolean", "name": "sort_ascending", "in": "query", "controlName": "sort_ascending" }, { "description": "Field by which records are sorted", "type": "string", "name": "sort_by", "in": "query", "controlName": "sort_by" } ], "produces": [ "application/json" ], "tags": [ "Policy Operations" ], "summary": "List Port Mirroring Instances", "x-vmw-nsx-module": "PolicyOperations", "consumes": [ "application/json" ], "operationId": "ListPortMirroringInstances" } }, "/infra/domains/{domain-id}/communication-maps/{communication-map-id}/communication-entries/{communication-entry-id}": { "put": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/CommunicationEntry" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Update the CommunicationEntry. If a CommunicationEntry with the communication-entry-id\nis not already present, this API fails with a 404. Creation of CommunicationEntries\nis not allowed using this API.\n", "parameters": [ { "required": true, "type": "string", "name": "domain-id", "in": "path", "controlName": "domain-id" }, { "required": true, "type": "string", "name": "communication-map-id", "in": "path", "controlName": "communication-map-id" }, { "required": true, "type": "string", "name": "communication-entry-id", "in": "path", "controlName": "communication-entry-id" }, { "schema": { "$ref": "#/definitions/CommunicationEntry" }, "required": true, "name": "CommunicationEntry", "in": "body", "definition": "CommunicationEntry", "type": "object", "controlName": "body" } ], "produces": [ "application/json" ], "tags": [ "Policy Dfw" ], "summary": "Create or update a CommunicationEntry", "x-vmw-nsx-module": "PolicyDfw", "consumes": [ "application/json" ], "operationId": "UpdateCommunicationEntry" }, "delete": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Delete CommunicationEntry", "parameters": [ { "required": true, "type": "string", "name": "domain-id", "in": "path", "controlName": "domain-id" }, { "required": true, "type": "string", "name": "communication-map-id", "in": "path", "controlName": "communication-map-id" }, { "required": true, "type": "string", "name": "communication-entry-id", "in": "path", "controlName": "communication-entry-id" } ], "tags": [ "Policy Dfw" ], "summary": "Delete CommunicationEntry", "x-vmw-nsx-module": "PolicyDfw", "consumes": [ "application/json" ], "operationId": "DeleteCommunicationEntry" }, "patch": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Patch the CommunicationEntry.\n", "parameters": [ { "required": true, "type": "string", "name": "domain-id", "in": "path", "controlName": "domain-id" }, { "required": true, "type": "string", "name": "communication-map-id", "in": "path", "controlName": "communication-map-id" }, { "required": true, "type": "string", "name": "communication-entry-id", "in": "path", "controlName": "communication-entry-id" }, { "schema": { "$ref": "#/definitions/CommunicationEntry" }, "required": true, "name": "CommunicationEntry", "in": "body", "definition": "CommunicationEntry", "type": "object", "controlName": "body" } ], "tags": [ "Policy Dfw" ], "summary": "Patch a CommunicationEntry", "x-vmw-nsx-module": "PolicyDfw", "consumes": [ "application/json" ], "operationId": "PatchCommunicationEntry" }, "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/CommunicationEntry" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Read CommunicationEntry", "parameters": [ { "required": true, "type": "string", "name": "domain-id", "in": "path", "controlName": "domain-id" }, { "required": true, "type": "string", "name": "communication-map-id", "in": "path", "controlName": "communication-map-id" }, { "required": true, "type": "string", "name": "communication-entry-id", "in": "path", "controlName": "communication-entry-id" } ], "produces": [ "application/json" ], "tags": [ "Policy Dfw" ], "summary": "Read CommunicationEntry", "x-vmw-nsx-module": "PolicyDfw", "consumes": [ "application/json" ], "operationId": "ReadCommunicationEntry" } }, "/infra/domains/{domain-id}": { "put": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Domain" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "If a domain with the domain-id is not already present, create a new\ndomain. If it already exists, update the domain including the nested\ngroups. This is a full replace\n", "parameters": [ { "description": "Domain ID", "required": true, "type": "string", "name": "domain-id", "in": "path", "controlName": "domain-id" }, { "schema": { "$ref": "#/definitions/Domain" }, "required": true, "name": "Domain", "in": "body", "definition": "Domain", "type": "object", "controlName": "body" } ], "produces": [ "application/json" ], "tags": [ "Policy" ], "summary": "Create or update a domain", "x-vmw-nsx-module": "Policy", "consumes": [ "application/json" ], "operationId": "UpdateDomainForInfra" }, "delete": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Delete the domain along with all the entities contained by this domain.\nThe groups that are a part of this domain are also deleted along with\nthe domain.\n", "parameters": [ { "description": "Domain ID", "required": true, "type": "string", "name": "domain-id", "in": "path", "controlName": "domain-id" } ], "tags": [ "Policy" ], "summary": "Delete Domain and all the entities contained by this domain", "x-vmw-nsx-module": "Policy", "consumes": [ "application/json" ], "operationId": "DeleteDomain" }, "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Domain" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Read a domain.\n", "parameters": [ { "description": "Domain ID", "required": true, "type": "string", "name": "domain-id", "in": "path", "controlName": "domain-id" } ], "produces": [ "application/json" ], "tags": [ "Policy" ], "summary": "Read domain", "x-vmw-nsx-module": "Policy", "consumes": [ "application/json" ], "operationId": "ReadDomainForInfra" }, "patch": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "If a domain with the domain-id is not already present, create a new\ndomain. If it already exists, patch the domain\n", "parameters": [ { "description": "Domain ID", "required": true, "type": "string", "name": "domain-id", "in": "path", "controlName": "domain-id" }, { "schema": { "$ref": "#/definitions/Domain" }, "required": true, "name": "Domain", "in": "body", "definition": "Domain", "type": "object", "controlName": "body" } ], "tags": [ "Policy" ], "summary": "Patch a domain", "x-vmw-nsx-module": "Policy", "consumes": [ "application/json" ], "operationId": "PatchDomainForInfra" } }, "/infra/realized-state/virtual-machines": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/VirtualMachineListResult" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "This API filters objects of type virtual machine. This API also gives some VM\ndetails such as VM name, IDs and the current state of the VMs.\n", "parameters": [ { "description": "Opaque cursor to be used for getting next page of records (supplied by current result page)", "type": "string", "name": "cursor", "in": "query", "controlName": "cursor" }, { "description": "String Path of the enforcement point", "required": true, "type": "string", "name": "enforcement_point_path", "in": "query", "controlName": "enforcement_point_path" }, { "description": "Comma separated list of fields that should be included in query result", "type": "string", "name": "included_fields", "in": "query", "controlName": "included_fields" }, { "description": "Maximum number of results to return in this page (server may return fewer)", "format": "int64", "default": 1000, "maximum": 1000, "minimum": 0, "in": "query", "type": "integer", "name": "page_size", "controlName": "page_size" }, { "type": "boolean", "name": "sort_ascending", "in": "query", "controlName": "sort_ascending" }, { "description": "Field by which records are sorted", "type": "string", "name": "sort_by", "in": "query", "controlName": "sort_by" } ], "produces": [ "application/json" ], "tags": [ "Policy Realization" ], "summary": "List all virtual machines", "x-vmw-nsx-module": "PolicyRealizedState", "consumes": [ "application/json" ], "operationId": "ListAllVirtualMachines" } }, "/infra/tier-0s/{tier-0-id}/locale-services/{locale-service-id}/l3vpns/{l3vpn-id}": { "put": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/L3Vpn" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Create a new L3Vpn if the L3Vpn with given id does not already exist. If the L3Vpn with\nthe given id already exists, replace the existing L3Vpn. This a full replace.\n", "parameters": [ { "required": true, "type": "string", "name": "tier-0-id", "in": "path", "controlName": "tier-0-id" }, { "required": true, "type": "string", "name": "locale-service-id", "in": "path", "controlName": "locale-service-id" }, { "required": true, "type": "string", "name": "l3vpn-id", "in": "path", "controlName": "l3vpn-id" }, { "schema": { "$ref": "#/definitions/L3Vpn" }, "required": true, "name": "L3Vpn", "in": "body", "definition": "L3Vpn", "type": "object", "controlName": "body" } ], "produces": [ "application/json" ], "tags": [ "Policy L3Vpn" ], "summary": "Create or replace an L3Vpn", "x-vmw-nsx-module": "PolicyL3Vpn", "consumes": [ "application/json" ], "operationId": "CreateOrReplaceL3Vpn" }, "delete": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Delete the L3Vpn with the given id.\n", "parameters": [ { "required": true, "type": "string", "name": "tier-0-id", "in": "path", "controlName": "tier-0-id" }, { "required": true, "type": "string", "name": "locale-service-id", "in": "path", "controlName": "locale-service-id" }, { "required": true, "type": "string", "name": "l3vpn-id", "in": "path", "controlName": "l3vpn-id" } ], "tags": [ "Policy L3Vpn" ], "summary": "Delete an L3Vpn", "x-vmw-nsx-module": "PolicyL3Vpn", "consumes": [ "application/json" ], "operationId": "DeleteL3Vpn" }, "patch": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Create the new L3Vpn if it does not exist. If the L3Vpn already exists, merge with the the\nexisting one. This is a patch.\n- If the passed L3Vpn is a policy-based one and has new L3VpnRules, add them to the existing\nL3VpnRules.\n- If the passed L3Vpn is a policy-based one and also has existing L3VpnRules, update the\nexisting L3VpnRules.\n", "parameters": [ { "required": true, "type": "string", "name": "tier-0-id", "in": "path", "controlName": "tier-0-id" }, { "required": true, "type": "string", "name": "locale-service-id", "in": "path", "controlName": "locale-service-id" }, { "required": true, "type": "string", "name": "l3vpn-id", "in": "path", "controlName": "l3vpn-id" }, { "schema": { "$ref": "#/definitions/L3Vpn" }, "required": true, "name": "L3Vpn", "in": "body", "definition": "L3Vpn", "type": "object", "controlName": "body" } ], "tags": [ "Policy L3Vpn" ], "summary": "Create or patch an L3Vpn", "x-vmw-nsx-module": "PolicyL3Vpn", "consumes": [ "application/json" ], "operationId": "CreateOrPatchL3Vpn" }, "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/L3Vpn" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Read the L3Vpn with the given id. No sensitive data is returned as part of the response.\n", "parameters": [ { "required": true, "type": "string", "name": "tier-0-id", "in": "path", "controlName": "tier-0-id" }, { "required": true, "type": "string", "name": "locale-service-id", "in": "path", "controlName": "locale-service-id" }, { "required": true, "type": "string", "name": "l3vpn-id", "in": "path", "controlName": "l3vpn-id" } ], "produces": [ "application/json" ], "tags": [ "Policy L3Vpn" ], "summary": "Read an L3Vpn", "x-vmw-nsx-module": "PolicyL3Vpn", "consumes": [ "application/json" ], "operationId": "ReadL3Vpn" } }, "/infra/tier-0s/{tier-0-id}/locale-services/{locale-service-id}/l2vpn-context": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/L2VpnContext" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Read L2Vpn Context.\n", "parameters": [ { "required": true, "type": "string", "name": "tier-0-id", "in": "path", "controlName": "tier-0-id" }, { "required": true, "type": "string", "name": "locale-service-id", "in": "path", "controlName": "locale-service-id" } ], "produces": [ "application/json" ], "tags": [ "Policy L2Vpn" ], "summary": "Read an L2Vpn Context", "x-vmw-nsx-module": "PolicyL2Vpn", "consumes": [ "application/json" ], "operationId": "ReadL2VpnContext" } }, "/infra/domains/{domain-id}/groups": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/GroupListResult" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "List Groups for a domain", "parameters": [ { "description": "Domain ID", "required": true, "type": "string", "name": "domain-id", "in": "path", "controlName": "domain-id" }, { "description": "Opaque cursor to be used for getting next page of records (supplied by current result page)", "type": "string", "name": "cursor", "in": "query", "controlName": "cursor" }, { "description": "Comma separated list of fields that should be included in query result", "type": "string", "name": "included_fields", "in": "query", "controlName": "included_fields" }, { "description": "Maximum number of results to return in this page (server may return fewer)", "format": "int64", "default": 1000, "maximum": 1000, "minimum": 0, "in": "query", "type": "integer", "name": "page_size", "controlName": "page_size" }, { "type": "boolean", "name": "sort_ascending", "in": "query", "controlName": "sort_ascending" }, { "description": "Field by which records are sorted", "type": "string", "name": "sort_by", "in": "query", "controlName": "sort_by" } ], "produces": [ "application/json" ], "tags": [ "Policy" ], "summary": "List Groups for a domain", "x-vmw-nsx-module": "Policy", "consumes": [ "application/json" ], "operationId": "ListGroupForDomain" } }, "/infra/ipfix-dfw-profiles/{ipfix-dfw-profile-id}": { "put": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/IPFIXDFWProfile" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Create or replace IPFIX DFW profile. Config will start\nforwarding data to provided IPFIX DFW collector.\n", "parameters": [ { "description": "IPFIX DFW Profile ID", "required": true, "type": "string", "name": "ipfix-dfw-profile-id", "in": "path", "controlName": "ipfix-dfw-profile-id" }, { "schema": { "$ref": "#/definitions/IPFIXDFWProfile" }, "required": true, "name": "IPFIXDFWProfile", "in": "body", "definition": "IPFIXDFWProfile", "type": "object", "controlName": "body" } ], "produces": [ "application/json" ], "tags": [ "Policy Ipfixdfw" ], "summary": "Create or Replace IPFIX DFW collection Config.", "x-vmw-nsx-module": "PolicyIPFIXDFW", "consumes": [ "application/json" ], "operationId": "CreateOrReplaceIPFIXDFWProfile" }, "patch": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Create a new IPFIX DFW profile if the IPFIX DFW profile\nwith given id does not already exist. If the IPFIX DFW\nprofile with the given id already exists, patch with\nthe existing IPFIX DFW profile.\n", "parameters": [ { "description": "IPFIX DFW Profile ID", "required": true, "type": "string", "name": "ipfix-dfw-profile-id", "in": "path", "controlName": "ipfix-dfw-profile-id" }, { "schema": { "$ref": "#/definitions/IPFIXDFWProfile" }, "required": true, "name": "IPFIXDFWProfile", "in": "body", "definition": "IPFIXDFWProfile", "type": "object", "controlName": "body" } ], "tags": [ "Policy Ipfixdfw" ], "summary": "Patch IPFIX DFW profile", "x-vmw-nsx-module": "PolicyIPFIXDFW", "consumes": [ "application/json" ], "operationId": "PatchIPFIXDFWProfile" }, "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/IPFIXDFWProfile" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "API will return details of IPFIX DFW profile.\n", "parameters": [ { "description": "IPFIX DFW collection id", "required": true, "type": "string", "name": "ipfix-dfw-profile-id", "in": "path", "controlName": "ipfix-dfw-profile-id" } ], "produces": [ "application/json" ], "tags": [ "Policy Ipfixdfw" ], "summary": "Get IPFIX DFW Profile", "x-vmw-nsx-module": "PolicyIPFIXDFW", "consumes": [ "application/json" ], "operationId": "ReadIPFIXDFWProfile" }, "delete": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "API deletes IPFIX DFW Profile. Selected IPFIX Collectors will stop\nreceiving flows.\n", "parameters": [ { "description": "IPFIX DFW Profile ID", "required": true, "type": "string", "name": "ipfix-dfw-profile-id", "in": "path", "controlName": "ipfix-dfw-profile-id" } ], "tags": [ "Policy Ipfixdfw" ], "summary": "Delete IPFIX DFW Profile", "x-vmw-nsx-module": "PolicyIPFIXDFW", "consumes": [ "application/json" ], "operationId": "DeleteIPFIXDFWProfile" } }, "/infra/ipfix-dfw-collector-profiles/{ipfix-dfw-collector-profile-id}": { "put": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/IPFIXDFWCollectorProfile" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Create or Replace IPFIX dfw collector profile. IPFIX data will be sent to IPFIX\ncollector port.\n", "parameters": [ { "description": "IPFIX dfw collector profile id", "required": true, "type": "string", "name": "ipfix-dfw-collector-profile-id", "in": "path", "controlName": "ipfix-dfw-collector-profile-id" }, { "schema": { "$ref": "#/definitions/IPFIXDFWCollectorProfile" }, "required": true, "name": "IPFIXDFWCollectorProfile", "in": "body", "definition": "IPFIXDFWCollectorProfile", "type": "object", "controlName": "body" } ], "produces": [ "application/json" ], "tags": [ "Policy Ipfixdfw" ], "summary": "Create or Replace IPFIX dfw collector profile", "x-vmw-nsx-module": "PolicyIPFIXDFW", "consumes": [ "application/json" ], "operationId": "CreateOrReplaceIPFIXDFWCollectorProfile" }, "patch": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Create a new IPFIX dfw collector profile if the IPFIX dfw collector profile with\ngiven id does not already exist. If the IPFIX dfw collector profile with the\ngiven id already exists, patch with the existing IPFIX dfw collector profile.\n", "parameters": [ { "required": true, "type": "string", "name": "ipfix-dfw-collector-profile-id", "in": "path", "controlName": "ipfix-dfw-collector-profile-id" }, { "schema": { "$ref": "#/definitions/IPFIXDFWCollectorProfile" }, "required": true, "name": "IPFIXDFWCollectorProfile", "in": "body", "definition": "IPFIXDFWCollectorProfile", "type": "object", "controlName": "body" } ], "tags": [ "Policy Ipfixdfw" ], "summary": "IPFIX dfw collector profile id", "x-vmw-nsx-module": "PolicyIPFIXDFW", "consumes": [ "application/json" ], "operationId": "PatchIPFIXDFWCollectorProfile" }, "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/IPFIXDFWCollectorProfile" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "API will return details of IPFIX dfw collector profile. If profile\ndoes not exist, it will return 404.\n", "parameters": [ { "description": "IPFIX dfw collector profile id", "required": true, "type": "string", "name": "ipfix-dfw-collector-profile-id", "in": "path", "controlName": "ipfix-dfw-collector-profile-id" } ], "produces": [ "application/json" ], "tags": [ "Policy Ipfixdfw" ], "summary": "Get IPFIX dfw Collector profile", "x-vmw-nsx-module": "PolicyIPFIXDFW", "consumes": [ "application/json" ], "operationId": "ReadIPFIXDFWCollectorProfile" }, "delete": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "API deletes IPFIX dfw collector profile. Flow forwarding to\ncollector will be stopped.\n", "parameters": [ { "description": "IPFIX dfw collector Profile id", "required": true, "type": "string", "name": "ipfix-dfw-collector-profile-id", "in": "path", "controlName": "ipfix-dfw-collector-profile-id" } ], "tags": [ "Policy Ipfixdfw" ], "summary": "Delete IPFIX dfw Collector profile", "x-vmw-nsx-module": "PolicyIPFIXDFW", "consumes": [ "application/json" ], "operationId": "DeleteIPFIXDFWCollectorProfile" } }, "/infra/tier-0s/{tier-0-id}/locale-services/{locale-service-id}/bgp/neighbors/{neighbor-id}/routes": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/BgpNeighborRoutesListResult" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Returns routes learned by BGP neighbor from all edge nodes on which\nthis neighbor is currently enabled.\n", "parameters": [ { "required": true, "type": "string", "name": "tier-0-id", "in": "path", "controlName": "tier-0-id" }, { "required": true, "type": "string", "name": "locale-service-id", "in": "path", "controlName": "locale-service-id" }, { "required": true, "type": "string", "name": "neighbor-id", "in": "path", "controlName": "neighbor-id" }, { "description": "Opaque cursor to be used for getting next page of records (supplied by current result page)", "type": "string", "name": "cursor", "in": "query", "controlName": "cursor" }, { "description": "Enforcement point path", "type": "string", "name": "enforcement_point_path", "in": "query", "controlName": "enforcement_point_path" }, { "description": "Comma separated list of fields that should be included in query result", "type": "string", "name": "included_fields", "in": "query", "controlName": "included_fields" }, { "description": "Maximum number of results to return in this page (server may return fewer)", "format": "int64", "default": 1000, "maximum": 1000, "minimum": 0, "in": "query", "type": "integer", "name": "page_size", "controlName": "page_size" }, { "type": "boolean", "name": "sort_ascending", "in": "query", "controlName": "sort_ascending" }, { "description": "Field by which records are sorted", "type": "string", "name": "sort_by", "in": "query", "controlName": "sort_by" } ], "produces": [ "application/json" ], "tags": [ "Policy Routing" ], "summary": "Get routes learned by BGP neighbor", "x-vmw-nsx-module": "PolicyStatistics", "consumes": [ "application/json" ], "operationId": "GetTier0BgpNeighborRoutes" } }, "/infra/dns-forwarder-zones/{dns-forwarder-zone-id}": { "put": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PolicyDnsForwarderZone" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Update the DNS Forwarder Zone", "parameters": [ { "description": "DNS Forwarder Zone ID", "required": true, "type": "string", "name": "dns-forwarder-zone-id", "in": "path", "controlName": "dns-forwarder-zone-id" }, { "schema": { "$ref": "#/definitions/PolicyDnsForwarderZone" }, "required": true, "name": "PolicyDnsForwarderZone", "in": "body", "definition": "PolicyDnsForwarderZone", "type": "object", "controlName": "body" } ], "produces": [ "application/json" ], "tags": [ "Policy Dns Forwarder" ], "summary": "Update the DNS Forwarder Zone", "x-vmw-nsx-module": "PolicyDnsForwarder", "consumes": [ "application/json" ], "operationId": "UpdatePolicyDnsForwarderZone" }, "delete": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Delete the DNS Forwarder Zone", "parameters": [ { "description": "DNS Forwarder Zone ID", "required": true, "type": "string", "name": "dns-forwarder-zone-id", "in": "path", "controlName": "dns-forwarder-zone-id" } ], "tags": [ "Policy Dns Forwarder" ], "summary": "Delete the DNS Forwarder Zone", "x-vmw-nsx-module": "PolicyDnsForwarder", "consumes": [ "application/json" ], "operationId": "DeletePolicyDnsForwarderZone" }, "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PolicyDnsForwarderZone" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Read the DNS Forwarder Zone", "parameters": [ { "description": "DNS Forwarder Zone ID", "required": true, "type": "string", "name": "dns-forwarder-zone-id", "in": "path", "controlName": "dns-forwarder-zone-id" } ], "produces": [ "application/json" ], "tags": [ "Policy Dns Forwarder" ], "summary": "Read the DNS Forwarder Zone", "x-vmw-nsx-module": "PolicyDnsForwarder", "consumes": [ "application/json" ], "operationId": "ReadPolicyDnsForwarderZone" }, "patch": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Update the DNS Forwarder Zone", "parameters": [ { "description": "DNS Forwarder Zone ID", "required": true, "type": "string", "name": "dns-forwarder-zone-id", "in": "path", "controlName": "dns-forwarder-zone-id" }, { "schema": { "$ref": "#/definitions/PolicyDnsForwarderZone" }, "required": true, "name": "PolicyDnsForwarderZone", "in": "body", "definition": "PolicyDnsForwarderZone", "type": "object", "controlName": "body" } ], "tags": [ "Policy Dns Forwarder" ], "summary": "Update the DNS Forwarder Zone", "x-vmw-nsx-module": "PolicyDnsForwarder", "consumes": [ "application/json" ], "operationId": "PatchPolicyDnsForwarderZone" } }, "/infra/tier-0s/{tier-0-id}/routing-table": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/RoutingTableListResult" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Get routing table from tier-0\n", "parameters": [ { "required": true, "type": "string", "name": "tier-0-id", "in": "path", "controlName": "tier-0-id" }, { "description": "Opaque cursor to be used for getting next page of records (supplied by current result page)", "type": "string", "name": "cursor", "in": "query", "controlName": "cursor" }, { "description": "UUID of edge node", "type": "string", "name": "edge_id", "in": "query", "controlName": "edge_id" }, { "description": "String Path of the enforcement point", "type": "string", "name": "enforcement_point_path", "in": "query", "controlName": "enforcement_point_path" }, { "description": "Comma separated list of fields that should be included in query result", "type": "string", "name": "included_fields", "in": "query", "controlName": "included_fields" }, { "description": "Maximum number of results to return in this page (server may return fewer)", "format": "int64", "default": 1000, "maximum": 1000, "minimum": 0, "in": "query", "type": "integer", "name": "page_size", "controlName": "page_size" }, { "description": "Filter routes based on the source from which route is learned", "enum": [ "BGP", "STATIC", "CONNECTED" ], "type": "string", "name": "route_source", "in": "query", "controlName": "route_source" }, { "type": "boolean", "name": "sort_ascending", "in": "query", "controlName": "sort_ascending" }, { "description": "Field by which records are sorted", "type": "string", "name": "sort_by", "in": "query", "controlName": "sort_by" } ], "produces": [ "application/json" ], "tags": [ "Policy Routing" ], "summary": "Get routing table from tier-0", "x-vmw-nsx-module": "PolicyStatistics", "consumes": [ "application/json" ], "operationId": "GetTier0Routes" } }, "/infra/tier-0s/{tier0-id}/groups": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/GroupListResult" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Paginated list of all Groups for Tier-0.\n", "parameters": [ { "required": true, "type": "string", "name": "tier0-id", "in": "path", "controlName": "tier0-id" }, { "description": "Opaque cursor to be used for getting next page of records (supplied by current result page)", "type": "string", "name": "cursor", "in": "query", "controlName": "cursor" }, { "description": "Comma separated list of fields that should be included in query result", "type": "string", "name": "included_fields", "in": "query", "controlName": "included_fields" }, { "description": "Maximum number of results to return in this page (server may return fewer)", "format": "int64", "default": 1000, "maximum": 1000, "minimum": 0, "in": "query", "type": "integer", "name": "page_size", "controlName": "page_size" }, { "type": "boolean", "name": "sort_ascending", "in": "query", "controlName": "sort_ascending" }, { "description": "Field by which records are sorted", "type": "string", "name": "sort_by", "in": "query", "controlName": "sort_by" } ], "produces": [ "application/json" ], "tags": [ "Policy Gateway Firewall" ], "summary": "List Groups for Tier-0", "x-vmw-nsx-module": "PolicyEdgeFirewall", "consumes": [ "application/json" ], "operationId": "ListGatewayGroup" } }, "/infra/realized-state/enforcement-points/{enforcement-point-name}/virtual-machines": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/SearchResponse" } }, "400": { "description": "Bad Request" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "This API filters objects of type virtual machines from the specified NSX Manager.\nThis API has been deprecated. Please use the new API\nGET /infra/realized-state/virtual-machines\n", "parameters": [ { "required": true, "type": "string", "name": "enforcement-point-name", "in": "path", "controlName": "enforcement-point-name" }, { "description": "Opaque cursor to be used for getting next page of records (supplied by current result page)", "type": "string", "name": "cursor", "in": "query", "controlName": "cursor" }, { "description": "Search DSL (domain specific language) query", "required": false, "type": "string", "name": "dsl", "in": "query", "controlName": "dsl" }, { "description": "Comma separated list of fields that should be included in query result", "type": "string", "name": "included_fields", "in": "query", "controlName": "included_fields" }, { "description": "Maximum number of results to return in this page (server may return fewer)", "format": "int64", "default": 1000, "maximum": 1000, "minimum": 0, "in": "query", "type": "integer", "name": "page_size", "controlName": "page_size" }, { "description": "Search query", "required": false, "type": "string", "name": "query", "in": "query", "controlName": "query" }, { "type": "boolean", "name": "sort_ascending", "in": "query", "controlName": "sort_ascending" }, { "description": "Field by which records are sorted", "type": "string", "name": "sort_by", "in": "query", "controlName": "sort_by" } ], "produces": [ "application/json" ], "tags": [ "Policy Realization" ], "summary": "Listing of Virtual machines on the NSX Manager", "x-vmw-nsx-module": "PolicyRealizedState", "consumes": [ "application/json" ], "operationId": "ListVirtualMachinesOnEnforcementPoint" } }, "/infra/services": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/ServiceListResult" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Paginated list of Services for infra.\n", "parameters": [ { "description": "Opaque cursor to be used for getting next page of records (supplied by current result page)", "type": "string", "name": "cursor", "in": "query", "controlName": "cursor" }, { "description": "Comma separated list of fields that should be included in query result", "type": "string", "name": "included_fields", "in": "query", "controlName": "included_fields" }, { "description": "Maximum number of results to return in this page (server may return fewer)", "format": "int64", "default": 1000, "maximum": 1000, "minimum": 0, "in": "query", "type": "integer", "name": "page_size", "controlName": "page_size" }, { "type": "boolean", "name": "sort_ascending", "in": "query", "controlName": "sort_ascending" }, { "description": "Field by which records are sorted", "type": "string", "name": "sort_by", "in": "query", "controlName": "sort_by" } ], "produces": [ "application/json" ], "tags": [ "Policy" ], "summary": "List Services for infra", "x-vmw-nsx-module": "Policy", "consumes": [ "application/json" ], "operationId": "ListServicesForTenant" } }, "/infra/tier-0s/{tier0-id}/groups/{group-id}": { "put": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Group" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "If a Group with the group-id is not already present, create a new Group\nunder the tier0-id. Update if exists. The API valiates that Tier-0\nis present before creating the Group.\n", "parameters": [ { "required": true, "type": "string", "name": "tier0-id", "in": "path", "controlName": "tier0-id" }, { "required": true, "type": "string", "name": "group-id", "in": "path", "controlName": "group-id" }, { "schema": { "$ref": "#/definitions/Group" }, "required": true, "name": "Group", "in": "body", "definition": "Group", "type": "object", "controlName": "body" } ], "produces": [ "application/json" ], "tags": [ "Policy Gateway Firewall" ], "summary": "Create or update Group under specified Tier-0", "x-vmw-nsx-module": "PolicyEdgeFirewall", "consumes": [ "application/json" ], "operationId": "CreateOrReplaceGatewayGroup" }, "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Group" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Read Tier-0 Group", "parameters": [ { "required": true, "type": "string", "name": "tier0-id", "in": "path", "controlName": "tier0-id" }, { "required": true, "type": "string", "name": "group-id", "in": "path", "controlName": "group-id" } ], "produces": [ "application/json" ], "tags": [ "Policy Gateway Firewall" ], "summary": "Read Tier-0 Group", "x-vmw-nsx-module": "PolicyEdgeFirewall", "consumes": [ "application/json" ], "operationId": "ReadGatewayGroup" }, "patch": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "If a Group with the group-id is not already present, create a new Group\nunder the tier0-id. Update if exists. The API valiates that Tier-0\nis present before creating the Group.\n", "parameters": [ { "required": true, "type": "string", "name": "tier0-id", "in": "path", "controlName": "tier0-id" }, { "required": true, "type": "string", "name": "group-id", "in": "path", "controlName": "group-id" }, { "schema": { "$ref": "#/definitions/Group" }, "required": true, "name": "Group", "in": "body", "definition": "Group", "type": "object", "controlName": "body" } ], "tags": [ "Policy Gateway Firewall" ], "summary": "Create or update Group under specified tier-0", "x-vmw-nsx-module": "PolicyEdgeFirewall", "consumes": [ "application/json" ], "operationId": "PatchGatewayGroup" }, "delete": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Delete the Group under Tier-0.\n", "parameters": [ { "required": true, "type": "string", "name": "tier0-id", "in": "path", "controlName": "tier0-id" }, { "required": true, "type": "string", "name": "group-id", "in": "path", "controlName": "group-id" } ], "tags": [ "Policy Gateway Firewall" ], "summary": "Deletes Group under Tier-0", "x-vmw-nsx-module": "PolicyEdgeFirewall", "consumes": [ "application/json" ], "operationId": "DeleteGatewayGroup" } }, "/infra/ipfix-collector-profiles": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/IPFIXCollectorProfileListResult" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "API will provide list of all IPFIX collector profiles and their details.\n", "parameters": [ { "description": "Opaque cursor to be used for getting next page of records (supplied by current result page)", "type": "string", "name": "cursor", "in": "query", "controlName": "cursor" }, { "description": "Comma separated list of fields that should be included in query result", "type": "string", "name": "included_fields", "in": "query", "controlName": "included_fields" }, { "description": "Maximum number of results to return in this page (server may return fewer)", "format": "int64", "default": 1000, "maximum": 1000, "minimum": 0, "in": "query", "type": "integer", "name": "page_size", "controlName": "page_size" }, { "type": "boolean", "name": "sort_ascending", "in": "query", "controlName": "sort_ascending" }, { "description": "Field by which records are sorted", "type": "string", "name": "sort_by", "in": "query", "controlName": "sort_by" } ], "produces": [ "application/json" ], "tags": [ "Policy Operations" ], "summary": "List IPFIX Collector profiles.", "x-vmw-nsx-module": "PolicyOperations", "consumes": [ "application/json" ], "operationId": "ListIPFIXCollectorProfiles" } }, "/infra/tier-0s/{tier-0-id}/locale-services/{locale-service-id}/l2vpn-context/l2vpns/{l2vpn-id}": { "put": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/L2Vpn" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Create a new L2Vpn if the L2Vpn with given id does not already exist. If the L2Vpn with\nthe given id already exists, update the existing L2Vpn. This is a full replace.\n", "parameters": [ { "required": true, "type": "string", "name": "tier-0-id", "in": "path", "controlName": "tier-0-id" }, { "required": true, "type": "string", "name": "locale-service-id", "in": "path", "controlName": "locale-service-id" }, { "required": true, "type": "string", "name": "l2vpn-id", "in": "path", "controlName": "l2vpn-id" }, { "schema": { "$ref": "#/definitions/L2Vpn" }, "required": true, "name": "L2Vpn", "in": "body", "definition": "L2Vpn", "type": "object", "controlName": "body" } ], "produces": [ "application/json" ], "tags": [ "Policy L2Vpn" ], "summary": "Create or replace an L2Vpn", "x-vmw-nsx-module": "PolicyL2Vpn", "consumes": [ "application/json" ], "operationId": "CreateOrReplaceL2Vpn" }, "delete": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Delete the L2Vpn with the given id.\n", "parameters": [ { "required": true, "type": "string", "name": "tier-0-id", "in": "path", "controlName": "tier-0-id" }, { "required": true, "type": "string", "name": "locale-service-id", "in": "path", "controlName": "locale-service-id" }, { "required": true, "type": "string", "name": "l2vpn-id", "in": "path", "controlName": "l2vpn-id" } ], "tags": [ "Policy L2Vpn" ], "summary": "Delete an L2Vpn", "x-vmw-nsx-module": "PolicyL2Vpn", "consumes": [ "application/json" ], "operationId": "DeleteL2Vpn" }, "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/L2Vpn" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Read the L2Vpn with the given id.\n", "parameters": [ { "required": true, "type": "string", "name": "tier-0-id", "in": "path", "controlName": "tier-0-id" }, { "required": true, "type": "string", "name": "locale-service-id", "in": "path", "controlName": "locale-service-id" }, { "required": true, "type": "string", "name": "l2vpn-id", "in": "path", "controlName": "l2vpn-id" } ], "produces": [ "application/json" ], "tags": [ "Policy L2Vpn" ], "summary": "Read an L2Vpn", "x-vmw-nsx-module": "PolicyL2Vpn", "consumes": [ "application/json" ], "operationId": "ReadL2Vpn" }, "patch": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Create a new L2Vpn if the L2Vpn with given id does not already exist. If the L2Vpn with\nthe given id already exists, merge with the existing L2Vpn. This is a patch.\n", "parameters": [ { "required": true, "type": "string", "name": "tier-0-id", "in": "path", "controlName": "tier-0-id" }, { "required": true, "type": "string", "name": "locale-service-id", "in": "path", "controlName": "locale-service-id" }, { "required": true, "type": "string", "name": "l2vpn-id", "in": "path", "controlName": "l2vpn-id" }, { "schema": { "$ref": "#/definitions/L2Vpn" }, "required": true, "name": "L2Vpn", "in": "body", "definition": "L2Vpn", "type": "object", "controlName": "body" } ], "tags": [ "Policy L2Vpn" ], "summary": "Create or patch an L2Vpn", "x-vmw-nsx-module": "PolicyL2Vpn", "consumes": [ "application/json" ], "operationId": "CreateOrPatchL2Vpn" } }, "/infra/tier-0s/{tier-0-id}/locale-services/{locale-service-id}/l3vpns": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/L3VpnListResult" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Paginated list of L3Vpns.\n", "parameters": [ { "required": true, "type": "string", "name": "tier-0-id", "in": "path", "controlName": "tier-0-id" }, { "required": true, "type": "string", "name": "locale-service-id", "in": "path", "controlName": "locale-service-id" }, { "description": "Opaque cursor to be used for getting next page of records (supplied by current result page)", "type": "string", "name": "cursor", "in": "query", "controlName": "cursor" }, { "description": "Comma separated list of fields that should be included in query result", "type": "string", "name": "included_fields", "in": "query", "controlName": "included_fields" }, { "enum": [ "PolicyBasedL3VpnSession", "RouteBasedL3VpnSession" ], "description": "Resource type of L3Vpn Session", "required": false, "in": "query", "type": "string", "name": "l3vpn_session", "controlName": "l3vpn_session" }, { "description": "Maximum number of results to return in this page (server may return fewer)", "format": "int64", "default": 1000, "maximum": 1000, "minimum": 0, "in": "query", "type": "integer", "name": "page_size", "controlName": "page_size" }, { "type": "boolean", "name": "sort_ascending", "in": "query", "controlName": "sort_ascending" }, { "description": "Field by which records are sorted", "type": "string", "name": "sort_by", "in": "query", "controlName": "sort_by" } ], "produces": [ "application/json" ], "tags": [ "Policy L3Vpn" ], "summary": "List L3Vpns", "x-vmw-nsx-module": "PolicyL3Vpn", "consumes": [ "application/json" ], "operationId": "ListL3Vpns" } }, "/infra/realized-state/status": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/ConsolidatedRealizedStatus" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Get consolidated status of an intent object,\nspecified by path in query parameter\n", "parameters": [ { "description": "String Path of the intent object", "required": true, "type": "string", "name": "intent_path", "in": "query", "controlName": "intent_path" } ], "produces": [ "application/json" ], "tags": [ "Policy Realization" ], "summary": "Get consolidated status for intent object", "x-vmw-nsx-module": "PolicyRealizedState", "consumes": [ "application/json" ], "operationId": "ReadIntentStatus" } }, "/infra/domains/{domain-id}/gateway-policies/{gateway-policy-id}/rules/{rule-id}": { "put": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Rule" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Update the gateway rule. If a rule with the rule-id is not already present,\ncreate new rule.\n", "parameters": [ { "required": true, "type": "string", "name": "domain-id", "in": "path", "controlName": "domain-id" }, { "required": true, "type": "string", "name": "gateway-policy-id", "in": "path", "controlName": "gateway-policy-id" }, { "required": true, "type": "string", "name": "rule-id", "in": "path", "controlName": "rule-id" }, { "schema": { "$ref": "#/definitions/Rule" }, "required": true, "name": "Rule", "in": "body", "definition": "Rule", "type": "object", "controlName": "body" } ], "produces": [ "application/json" ], "tags": [ "Policy Gateway Firewall" ], "summary": "Update gateway rule", "x-vmw-nsx-module": "PolicyEdgeFirewall", "consumes": [ "application/json" ], "operationId": "CreateOrReplaceGatewayRule" }, "patch": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Update the gateway rule. If a rule with the rule-id is not already present,\nthen create new rule.\n", "parameters": [ { "required": true, "type": "string", "name": "domain-id", "in": "path", "controlName": "domain-id" }, { "required": true, "type": "string", "name": "gateway-policy-id", "in": "path", "controlName": "gateway-policy-id" }, { "required": true, "type": "string", "name": "rule-id", "in": "path", "controlName": "rule-id" }, { "schema": { "$ref": "#/definitions/Rule" }, "required": true, "name": "Rule", "in": "body", "definition": "Rule", "type": "object", "controlName": "body" } ], "tags": [ "Policy Gateway Firewall" ], "summary": "Update gateway rule", "x-vmw-nsx-module": "PolicyEdgeFirewall", "consumes": [ "application/json" ], "operationId": "PatchGatewayRule" }, "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Rule" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Read rule", "parameters": [ { "required": true, "type": "string", "name": "domain-id", "in": "path", "controlName": "domain-id" }, { "required": true, "type": "string", "name": "gateway-policy-id", "in": "path", "controlName": "gateway-policy-id" }, { "required": true, "type": "string", "name": "rule-id", "in": "path", "controlName": "rule-id" } ], "produces": [ "application/json" ], "tags": [ "Policy Gateway Firewall" ], "summary": "Read rule", "x-vmw-nsx-module": "PolicyEdgeFirewall", "consumes": [ "application/json" ], "operationId": "ReadGatewayRule" }, "delete": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Delete Rule", "parameters": [ { "required": true, "type": "string", "name": "domain-id", "in": "path", "controlName": "domain-id" }, { "required": true, "type": "string", "name": "gateway-policy-id", "in": "path", "controlName": "gateway-policy-id" }, { "required": true, "type": "string", "name": "rule-id", "in": "path", "controlName": "rule-id" } ], "tags": [ "Policy Gateway Firewall" ], "summary": "Delete Rule", "x-vmw-nsx-module": "PolicyEdgeFirewall", "consumes": [ "application/json" ], "operationId": "DeleteGatewayRule" } }, "/infra/tier-0s/{tier-0-id}/locale-services/{locale-service-id}/bgp": { "put": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/BgpRoutingConfig" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "If BGP routing config is not already present, create BGP routing config.\nIf it already exists, replace the BGP routing config with this object.\n", "parameters": [ { "required": true, "type": "string", "name": "tier-0-id", "in": "path", "controlName": "tier-0-id" }, { "required": true, "type": "string", "name": "locale-service-id", "in": "path", "controlName": "locale-service-id" }, { "schema": { "$ref": "#/definitions/BgpRoutingConfig" }, "required": true, "name": "BgpRoutingConfig", "in": "body", "definition": "BgpRoutingConfig", "type": "object", "controlName": "body" } ], "produces": [ "application/json" ], "tags": [ "Policy Connectivity Bgp" ], "summary": "Create or update a BGP routing config", "x-vmw-nsx-module": "PolicyConnectivity", "consumes": [ "application/json" ], "operationId": "CreateOrReplaceBgpRoutingConfig" }, "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/BgpRoutingConfig" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Read BGP routing config", "parameters": [ { "required": true, "type": "string", "name": "tier-0-id", "in": "path", "controlName": "tier-0-id" }, { "required": true, "type": "string", "name": "locale-service-id", "in": "path", "controlName": "locale-service-id" } ], "produces": [ "application/json" ], "tags": [ "Policy Connectivity Bgp" ], "summary": "Read BGP routing config", "x-vmw-nsx-module": "PolicyConnectivity", "consumes": [ "application/json" ], "operationId": "ReadBgpRoutingConfig" }, "patch": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "If an BGP routing config not present, create BGP routing config.\nIf it already exists, update the routing config.\n", "parameters": [ { "required": true, "type": "string", "name": "tier-0-id", "in": "path", "controlName": "tier-0-id" }, { "required": true, "type": "string", "name": "locale-service-id", "in": "path", "controlName": "locale-service-id" }, { "schema": { "$ref": "#/definitions/BgpRoutingConfig" }, "required": true, "name": "BgpRoutingConfig", "in": "body", "definition": "BgpRoutingConfig", "type": "object", "controlName": "body" } ], "tags": [ "Policy Connectivity Bgp" ], "summary": "Create or update BGP routing config", "x-vmw-nsx-module": "PolicyConnectivity", "consumes": [ "application/json" ], "operationId": "PatchBgpRoutingConfig" } }, "/infra/tier-1s/{tier-1-id}/ipfix-switch-collection-instances": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/IPFIXSwitchCollectionInstanceListResult" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "API provides list IPFIX Switch collection instances available on\nselected logical switch.\n", "parameters": [ { "description": "Tier-1 ID", "required": true, "type": "string", "name": "tier-1-id", "in": "path", "controlName": "tier-1-id" }, { "description": "Opaque cursor to be used for getting next page of records (supplied by current result page)", "type": "string", "name": "cursor", "in": "query", "controlName": "cursor" }, { "description": "Comma separated list of fields that should be included in query result", "type": "string", "name": "included_fields", "in": "query", "controlName": "included_fields" }, { "description": "Maximum number of results to return in this page (server may return fewer)", "format": "int64", "default": 1000, "maximum": 1000, "minimum": 0, "in": "query", "type": "integer", "name": "page_size", "controlName": "page_size" }, { "type": "boolean", "name": "sort_ascending", "in": "query", "controlName": "sort_ascending" }, { "description": "Field by which records are sorted", "type": "string", "name": "sort_by", "in": "query", "controlName": "sort_by" } ], "produces": [ "application/json" ], "tags": [ "Policy Operations" ], "summary": "List IPFIX Switch Collection Instances", "x-vmw-nsx-module": "PolicyOperations", "consumes": [ "application/json" ], "operationId": "ListIPFIXSwitchCollectionInstances" } }, "/infra/tier-1s/{tier-1-id}/segments/{segment-id}/static-arp": { "put": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/StaticARPConfig" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Create static ARP config with tier-1 and segment IDs provided if it doesn't exist,\nupdate with provided config if it's already created.\n", "parameters": [ { "description": "Tier-1 ID", "required": true, "type": "string", "name": "tier-1-id", "in": "path", "controlName": "tier-1-id" }, { "description": "Segment ID", "required": true, "type": "string", "name": "segment-id", "in": "path", "controlName": "segment-id" }, { "schema": { "$ref": "#/definitions/StaticARPConfig" }, "required": true, "name": "StaticARPConfig", "in": "body", "definition": "StaticARPConfig", "type": "object", "controlName": "body" } ], "produces": [ "application/json" ], "tags": [ "Policy Connectivity Segments" ], "summary": "Create or update a static ARP config", "x-vmw-nsx-module": "PolicyConnectivity", "consumes": [ "application/json" ], "operationId": "CreateOrReplaceStaticARPConfig" }, "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/StaticARPConfig" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Read static ARP config", "parameters": [ { "description": "Tier-1 ID", "required": true, "type": "string", "name": "tier-1-id", "in": "path", "controlName": "tier-1-id" }, { "description": "Segment ID", "required": true, "type": "string", "name": "segment-id", "in": "path", "controlName": "segment-id" } ], "produces": [ "application/json" ], "tags": [ "Policy Connectivity Segments" ], "summary": "Read static ARP config", "x-vmw-nsx-module": "PolicyConnectivity", "consumes": [ "application/json" ], "operationId": "ReadStaticARPConfig" }, "delete": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Delete static ARP config", "parameters": [ { "description": "Tier-1 ID", "required": true, "type": "string", "name": "tier-1-id", "in": "path", "controlName": "tier-1-id" }, { "description": "Segment ID", "required": true, "type": "string", "name": "segment-id", "in": "path", "controlName": "segment-id" } ], "tags": [ "Policy Connectivity Segments" ], "summary": "Delete static ARP config", "x-vmw-nsx-module": "PolicyConnectivity", "consumes": [ "application/json" ], "operationId": "DeleteStaticARPConfig" }, "patch": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Create static ARP config with tier-1 and segment IDs provided if it doesn't exist,\nupdate with provided config if it's already created.\n", "parameters": [ { "description": "Tier-1 ID", "required": true, "type": "string", "name": "tier-1-id", "in": "path", "controlName": "tier-1-id" }, { "description": "Segment ID", "required": true, "type": "string", "name": "segment-id", "in": "path", "controlName": "segment-id" }, { "schema": { "$ref": "#/definitions/StaticARPConfig" }, "required": true, "name": "StaticARPConfig", "in": "body", "definition": "StaticARPConfig", "type": "object", "controlName": "body" } ], "tags": [ "Policy Connectivity Segments" ], "summary": "Create or update a static ARP config", "x-vmw-nsx-module": "PolicyConnectivity", "consumes": [ "application/json" ], "operationId": "PatchStaticARPConfig" } }, "/infra/tier-1s/{tier-1-id}/segments": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/SegmentListResult" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Paginated list of all segments under tier-1 instance\n", "parameters": [ { "description": "Tier-1 ID", "required": true, "type": "string", "name": "tier-1-id", "in": "path", "controlName": "tier-1-id" }, { "description": "Opaque cursor to be used for getting next page of records (supplied by current result page)", "type": "string", "name": "cursor", "in": "query", "controlName": "cursor" }, { "description": "Comma separated list of fields that should be included in query result", "type": "string", "name": "included_fields", "in": "query", "controlName": "included_fields" }, { "description": "Maximum number of results to return in this page (server may return fewer)", "format": "int64", "default": 1000, "maximum": 1000, "minimum": 0, "in": "query", "type": "integer", "name": "page_size", "controlName": "page_size" }, { "type": "boolean", "name": "sort_ascending", "in": "query", "controlName": "sort_ascending" }, { "description": "Field by which records are sorted", "type": "string", "name": "sort_by", "in": "query", "controlName": "sort_by" } ], "produces": [ "application/json" ], "tags": [ "Policy Connectivity Segments" ], "summary": "List all segments under tier-1 instance", "x-vmw-nsx-module": "PolicyConnectivity", "consumes": [ "application/json" ], "operationId": "ListSegments" } }, "/infra/realized-state/enforcement-points/{enforcement-point-name}/virtual-machines?action=update_tags": { "post": { "responses": { "204": { "description": "No Content" }, "400": { "description": "Bad Request" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Allows an admin to apply multiple tags to a virtual machine. This operation\ndoes not store the intent on the policy side. It applies the tag directly\non the specified enforcement point. This operation will replace the existing\ntags on the virtual machine with the ones that have been passed. If the\napplication of tag fails on the enforcement point, then an error is\nreported. The admin will have to retry the operation again. Policy\nframework does not perform a retry. Failure could occur due to multiple\nreasons. For e.g enforcement point is down, Enforcement point could not\napply the tag due to constraints like max tags limit exceeded, etc.\n", "parameters": [ { "required": true, "type": "string", "name": "enforcement-point-name", "in": "path", "controlName": "enforcement-point-name" }, { "schema": { "$ref": "#/definitions/VirtualMachineTagsUpdate" }, "required": true, "name": "VirtualMachineTagsUpdate", "in": "body", "definition": "VirtualMachineTagsUpdate", "type": "object", "controlName": "body" } ], "tags": [ "Policy Realization" ], "summary": "Apply tags on virtual machine", "x-vmw-nsx-module": "PolicyRealizedState", "consumes": [ "application/json" ], "operationId": "TagVirtualMachineUpdate_tags" } }, "/infra/tier-0s/{tier-0-id}/locale-services/{locale-service-id}/bgp/neighbors/{neighbor-id}/advertised-routes": { "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/BgpNeighborRoutesListResult" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Returns routes advertised by BGP neighbor from all edge transport nodes on which\nthis neighbor is currently enabled.\nThe query parameter \"source=cached\" is not supported.\n", "parameters": [ { "required": true, "type": "string", "name": "tier-0-id", "in": "path", "controlName": "tier-0-id" }, { "required": true, "type": "string", "name": "locale-service-id", "in": "path", "controlName": "locale-service-id" }, { "required": true, "type": "string", "name": "neighbor-id", "in": "path", "controlName": "neighbor-id" }, { "description": "Opaque cursor to be used for getting next page of records (supplied by current result page)", "type": "string", "name": "cursor", "in": "query", "controlName": "cursor" }, { "description": "Enforcement point path", "type": "string", "name": "enforcement_point_path", "in": "query", "controlName": "enforcement_point_path" }, { "description": "Comma separated list of fields that should be included in query result", "type": "string", "name": "included_fields", "in": "query", "controlName": "included_fields" }, { "description": "Maximum number of results to return in this page (server may return fewer)", "format": "int64", "default": 1000, "maximum": 1000, "minimum": 0, "in": "query", "type": "integer", "name": "page_size", "controlName": "page_size" }, { "type": "boolean", "name": "sort_ascending", "in": "query", "controlName": "sort_ascending" }, { "description": "Field by which records are sorted", "type": "string", "name": "sort_by", "in": "query", "controlName": "sort_by" } ], "produces": [ "application/json" ], "tags": [ "Policy Routing" ], "summary": "Get BGP neighbor advertised routes", "x-vmw-nsx-module": "PolicyStatistics", "consumes": [ "application/json" ], "operationId": "GetTier0BgpNeighborAdvertisedRoutes" } }, "/infra/domains/{domain-id}/groups/{group-id}/port-mirroring-instances/{port-mirroring-instance-id}": { "put": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PortMirroringInstance" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Create or Replace port mirroring instance. Packets will be mirrored from\nsource group to destination group.\n", "parameters": [ { "description": "Domain ID", "required": true, "type": "string", "name": "domain-id", "in": "path", "controlName": "domain-id" }, { "description": "Group ID", "required": true, "type": "string", "name": "group-id", "in": "path", "controlName": "group-id" }, { "description": "Port Mirroring Instance Id", "required": true, "type": "string", "name": "port-mirroring-instance-id", "in": "path", "controlName": "port-mirroring-instance-id" }, { "schema": { "$ref": "#/definitions/PortMirroringInstance" }, "required": true, "name": "PortMirroringInstance", "in": "body", "definition": "PortMirroringInstance", "type": "object", "controlName": "body" } ], "produces": [ "application/json" ], "tags": [ "Policy Operations" ], "summary": "Create or Replace Port Mirroring Instance.", "x-vmw-nsx-module": "PolicyOperations", "consumes": [ "application/json" ], "operationId": "CreateOrReplacePortMirroringInstance" }, "patch": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "Create a new Port Mirroring Instance if the Port Mirroring Instance with\ngiven id does not already exist. If the Port Mirroring Instance with the\ngiven id already exists, patch with the existing Port Mirroring Instance.\n", "parameters": [ { "description": "Domain ID", "required": true, "type": "string", "name": "domain-id", "in": "path", "controlName": "domain-id" }, { "description": "Group ID", "required": true, "type": "string", "name": "group-id", "in": "path", "controlName": "group-id" }, { "description": "Port Mirroring Instance Id", "required": true, "type": "string", "name": "port-mirroring-instance-id", "in": "path", "controlName": "port-mirroring-instance-id" }, { "schema": { "$ref": "#/definitions/PortMirroringInstance" }, "required": true, "name": "PortMirroringInstance", "in": "body", "definition": "PortMirroringInstance", "type": "object", "controlName": "body" } ], "tags": [ "Policy Operations" ], "summary": "Patch Port Mirroring Instance.", "x-vmw-nsx-module": "PolicyOperations", "consumes": [ "application/json" ], "operationId": "PatchPortMirroringInstance" }, "delete": { "responses": { "200": { "description": "OK" }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "$ref": "#/responses/NotFound" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "API will delete port mirroring instance. Mirroring from source to destination\nports will be stopped.\n", "parameters": [ { "description": "Domain ID", "required": true, "type": "string", "name": "domain-id", "in": "path", "controlName": "domain-id" }, { "description": "Group ID", "required": true, "type": "string", "name": "group-id", "in": "path", "controlName": "group-id" }, { "description": "Port Mirroring Instance Id", "required": true, "type": "string", "name": "port-mirroring-instance-id", "in": "path", "controlName": "port-mirroring-instance-id" } ], "tags": [ "Policy Operations" ], "summary": "Delete Port Mirroring Instance", "x-vmw-nsx-module": "PolicyOperations", "consumes": [ "application/json" ], "operationId": "DeletePortMirroringInstance" }, "get": { "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PortMirroringInstance" } }, "400": { "$ref": "#/responses/BadRequest" }, "403": { "$ref": "#/responses/Forbidden" }, "404": { "description": "Not Found" }, "412": { "$ref": "#/responses/PreconditionFailed" }, "500": { "$ref": "#/responses/InternalServerError" }, "503": { "$ref": "#/responses/ServiceUnavailable" } }, "description": "API will return details of port mirroring instance. If instance does not exist,\nit will return 404.\n", "parameters": [ { "description": "Domain ID", "required": true, "type": "string", "name": "domain-id", "in": "path", "controlName": "domain-id" }, { "description": "Group ID", "required": true, "type": "string", "name": "group-id", "in": "path", "controlName": "group-id" }, { "description": "Port Mirroring Instance Id", "required": true, "type": "string", "name": "port-mirroring-instance-id", "in": "path", "controlName": "port-mirroring-instance-id" } ], "produces": [ "application/json" ], "tags": [ "Policy Operations" ], "summary": "Details of Port Mirroring Instance\n", "x-vmw-nsx-module": "PolicyOperations", "consumes": [ "application/json" ], "operationId": "ReadPortMirroringInstance" } } }, "definitions": { "PortMirroringInstanceListResult": { "x-vmw-nsx-module": "PolicyOperations", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "PolicyOperations", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/PortMirroringInstance" }, "type": "array", "description": "Port Mirroring Instances list results", "title": "Port Mirroring Instances list results" } } } ], "description": "Paged collection of port mirroring instances", "title": "Paged collection of port mirroring instances" }, "LogicalRouterPortArpEntry": { "x-vmw-nsx-module": "AggSvcLogicalRouterPort", "required": [ "ip", "mac_address" ], "type": "object", "properties": { "ip": { "description": "The IP address", "format": "ip", "type": "string" }, "mac_address": { "type": "string", "description": "The MAC address", "title": "The MAC address" } } }, "ComputeCollectionFabricTemplate": { "x-vmw-nsx-module": "ComputeCollectionHostPrepFabricService", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "required": [ "compute_collection_id", "auto_install_nsx" ], "x-vmw-nsx-module": "ComputeCollectionHostPrepFabricService", "type": "object", "properties": { "compute_collection_id": { "type": "string", "description": "Associated compute collection id", "title": "Associated compute collection id" }, "auto_install_nsx": { "type": "boolean", "description": "Indicates whether NSX components should be automcatically installed. When 'true' NSX components will be automatically installed on the new host added to compute collection.", "title": "Flag to enable/disable automatic install of NSX components" } } } ], "description": "Compute collection fabric template", "title": "Compute collection fabric template" }, "DhcpRelayServiceListResult": { "x-vmw-nsx-module": "DhcpRelay", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "DhcpRelay", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/DhcpRelayService" }, "type": "array", "description": "Dhcp relay service list results", "title": "Dhcp relay service list results" } } } ] }, "ManagedResource": { "x-vmw-nsx-module": "Common", "allOf": [ { "$ref": "#/definitions/RevisionedResource" }, { "x-vmw-nsx-module": "Common", "type": "object", "properties": { "_system_owned": { "readOnly": true, "type": "boolean", "description": "Indicates system owned resource" }, "display_name": { "maxLength": 255, "type": "string", "description": "Defaults to ID if not set", "title": "Identifier to use when displaying entity in logs or GUI" }, "description": { "maxLength": 1024, "type": "string", "description": "Description of this resource", "title": "Description of this resource" }, "tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array", "description": "Opaque identifiers meaningful to the API user", "maxItems": 30, "title": "Opaque identifiers meaningful to the API user" }, "_create_user": { "readOnly": true, "type": "string", "description": "ID of the user who created this resource" }, "_protection": { "readOnly": true, "type": "string", "description": "Protection status is one of the following:\nPROTECTED - the client who retrieved the entity is not allowed\n to modify it.\nNOT_PROTECTED - the client who retrieved the entity is allowed\n to modify it\nREQUIRE_OVERRIDE - the client who retrieved the entity is a super\n user and can modify it, but only when providing\n the request header X-Allow-Overwrite=true.\nUNKNOWN - the _protection field could not be determined for this\n entity.\n", "title": "Indicates protection status of this resource" }, "_create_time": { "description": "Timestamp of resource creation", "format": "int64", "readOnly": true, "type": "integer" }, "_last_modified_time": { "description": "Timestamp of last modification", "format": "int64", "readOnly": true, "type": "integer" }, "_last_modified_user": { "readOnly": true, "type": "string", "description": "ID of the user who last modified this resource" }, "id": { "type": "string", "description": "Unique identifier of this resource", "title": "Unique identifier of this resource" }, "resource_type": { "readOnly": false, "type": "string", "description": "The type of this resource." } } } ], "description": "Base type for resources that are managed by API clients", "title": "Base type for resources that are managed by API clients" }, "RealizedNSGroupMemberEvaluation": { "x-vmw-nsx-module": "PolicyRealizedState", "allOf": [ { "$ref": "#/definitions/PolicyRealizedResource" }, { "x-vmw-nsx-module": "PolicyRealizedState", "type": "object", "properties": { "logical_ports": { "items": { "$ref": "#/definitions/RealizedLogicalPort" }, "readOnly": true, "type": "array", "description": "list of logical ports", "title": "list of logical ports" }, "virtual_machines": { "items": { "$ref": "#/definitions/RealizedVirtualMachine" }, "readOnly": true, "type": "array", "description": "list of virtual machines", "title": "list of virtual machines" }, "logical_switches": { "items": { "$ref": "#/definitions/RealizedLogicalSwitch" }, "readOnly": true, "type": "array", "description": "list of logical switches", "title": "list of logical switches" }, "member_count": { "readOnly": true, "format": "int64", "type": "integer", "description": "Count of the members added to this NSGroup", "title": "Count of the members added to this NSGroup" } } } ], "description": "Realized NSGroup member evaluation", "title": "Realized NSGroup member evaluation" }, "InstanceRuntime": { "x-vmw-nsx-module": "ServiceInsertionCommonTypes", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "ServiceInsertionCommonTypes", "type": "object", "properties": { "service_vm_id": { "readOnly": true, "type": "string", "description": "Service-VM/SVM id of deployed virtual-machine.", "title": "Service VM id" }, "runtime_status": { "readOnly": true, "enum": [ "IN_SERVICE", "OUT_OF_SERVICE", "NEEDS_ATTENTION", "NOT_AVAILABLE" ], "type": "string", "description": "Service-Instance Runtime status of the deployed Service-VM.", "title": "Instance Runtime Status" }, "vm_nic_info": { "readOnly": true, "title": "VM NIC info", "description": "VM NIC info", "$ref": "#/definitions/VmNicInfo" }, "error_message": { "readOnly": true, "type": "string", "description": "Error message for the Service Instance Runtime if any.", "title": "Error Message" }, "service_instance_id": { "readOnly": true, "type": "string", "description": "Id of an instantiation of a registered service.", "title": "Service instance id" }, "deployment_status": { "readOnly": true, "enum": [ "DEPLOYMENT_IN_PROGRESS", "DEPLOYMENT_FAILED", "DEPLOYMENT_SUCCESSFUL", "UPGRADE_IN_PROGRESS", "UPGRADE_FAILED", "UNDEPLOYMENT_IN_PROGRESS", "UNDEPLOYMENT_FAILED", "UNDEPLOYMENT_SUCCESSFUL", "UNKNOWN" ], "type": "string", "description": "Service-Instance Runtime deployment status of the Service-VM. It shows the latest status during the process of deployment, redeploy, upgrade, and un-deployment of VM.", "title": "Instance Runtime deployment status" } } } ], "description": "A Service Runtime is the runtime entity associated with ever Service-VM deployed.", "title": "Runtime of a Service-Instance." }, "MacLearningSpec": { "description": "MAC learning configuration", "title": "MAC learning configuration", "required": [ "enabled" ], "x-vmw-nsx-module": "MacManagementSwitchingProfile", "type": "object", "properties": { "limit": { "description": "The maximum number of MAC addresses that can be learned on this port", "title": "The maximum number of MAC addresses that can be learned on this port", "default": 4096, "format": "int32", "maximum": 4096, "readOnly": false, "minimum": 0, "type": "integer" }, "aging_time": { "description": "Aging time in sec for learned MAC address", "format": "int32", "default": 300, "title": "Aging time in sec for learned MAC address", "readOnly": true, "type": "integer" }, "enabled": { "readOnly": false, "type": "boolean", "description": "Allowing source MAC address learning", "title": "Allowing source MAC address learning" }, "limit_policy": { "description": "The policy after MAC Limit is exceeded", "title": "The policy after MAC Limit is exceeded", "default": "ALLOW", "enum": [ "ALLOW", "DROP" ], "readOnly": false, "type": "string" }, "unicast_flooding_allowed": { "default": true, "readOnly": false, "type": "boolean", "description": "Allowing flooding for unlearned MAC for ingress traffic", "title": "Allowing flooding for unlearned MAC for ingress traffic" } } }, "DirectoryDomainSyncSettings": { "x-vmw-nsx-module": "ManagerNode", "type": "object", "description": "Domain synchronization settings", "properties": { "sync_entire_domain": { "default": false, "type": "boolean", "description": "This flag will decide whether to synchronize the directory objects under entire domain or configured synchronization nodes.", "title": "Sync entire domain flag" }, "full_sync_cron_expr": { "type": "string", "description": "Directory domain full synchronization schedule using cron expression. For example, cron expression \"0 0 12 ? * SUN *\" means full sync is scheduled every Sunday midnight. If this object is null, it means there is no background cron job running for full sync.", "title": "Full synchronization cron expression" }, "delta_sync_interval": { "default": 180, "format": "int64", "type": "integer", "description": "Directory domain delta synchronization interval time between two delta sync in minutes.", "title": "Delta synchronization inverval in minutes" } }, "title": "Domain synchronization settings" }, "LBSnatTranslation": { "discriminator": "type", "x-vmw-nsx-module": "ManagerNode", "required": [ "type" ], "type": "object", "properties": { "type": { "description": "Load balancers may need to perform SNAT to ensure reverse traffic from\nthe server can be received and processed by them.\nThere are two modes:\nLBSnatAutoMap uses the load balancer interface IP and an\nephemeral port as the source IP and port of the server side connection.\nLBSnatDisabled disbles Source NAT. This is referred to as no-SNAT\nor TRANSPARENT mode.\n", "enum": [ "LBSnatAutoMap", "LBSnatDisabled" ], "type": "string" } } }, "BgpNeighborRoutes": { "x-vmw-nsx-module": "PolicyStatistics", "type": "object", "description": "BGP neighbor learned/advertised route details.", "properties": { "neighbor_path": { "readOnly": true, "type": "string", "description": "BGP neighbor policy path", "title": "BGP neighbor policy path" }, "egde_node_routes": { "items": { "$ref": "#/definitions/RoutesPerTransportNode" }, "readOnly": true, "type": "array", "description": "Array of BGP neighbor route details per edge node.\n", "title": "Route details per transport node" }, "enforcement_point_path": { "readOnly": true, "type": "string", "description": "Enforcement point policy path", "title": "Enforcement point policy path" } }, "title": "BGP neighbor route details" }, "VlanTrunkSpec": { "description": "VlanTrunkspec is used for specifying trunk VLAN id ranges.", "title": "VLAN trunk range specification", "required": [ "vlan_ranges" ], "x-vmw-nsx-module": "LogicalSwitch", "type": "object", "properties": { "vlan_ranges": { "items": { "$ref": "#/definitions/TrunkVlanRange" }, "type": "array", "description": "Trunk VLAN id ranges", "title": "Trunk VLAN id ranges" } } }, "IpfixObsPointConfig": { "x-vmw-nsx-module": "Ipfix", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "required": [ "enabled" ], "x-vmw-nsx-module": "Ipfix", "type": "object", "properties": { "idle_timeout": { "description": "The time in seconds after a Flow is expired if no more packets matching\nthis Flow are received by the cache.\n", "title": "Idle timeout", "default": 300, "format": "int32", "maximum": 3600, "minimum": 60, "type": "integer" }, "observation_domain_id": { "description": "An identifier that is unique to the exporting process and used to\nmeter the Flows.\n", "title": "Observation domain ID", "default": 0, "format": "int64", "maximum": 4294967295, "minimum": 0, "type": "integer" }, "collectors": { "items": { "$ref": "#/definitions/IpfixCollector" }, "type": "array", "description": "List of IPFIX collectors", "title": "List of IPFIX collectors" }, "active_timeout": { "description": "The time in seconds after a Flow is expired even if more packets\nmatching this Flow are received by the cache.\n", "title": "Active timeout", "default": 300, "format": "int32", "maximum": 3600, "minimum": 60, "type": "integer" }, "packet_sample_probability": { "description": "The probability in percentage that a packet is sampled, in range\n0-100. The probability is equal for every packet.\n", "title": "Packet sample probability", "default": 0.1, "exclusiveMinimum": true, "maximum": 100, "minimum": 0, "type": "number" }, "enabled": { "type": "boolean", "description": "Enabled status of IPFIX export", "title": "Enabled status of IPFIX export" }, "max_flows": { "description": "The maximum number of flow entries in each exporter flow cache.\n", "title": "Max flows", "default": 16384, "format": "int64", "maximum": 4294967295, "minimum": 0, "type": "integer" } } } ], "description": "IpfixObsPointConfig (i.e. global switch IPFIX config) is deprecated. Please\nuse IpfixSwitchUpmProfile & IpfixCollectorUpmProfile instead. With them,\nswitch IPFIX profile can be applied to specific entities, such as logical\nswitch, logical port and so on.\n", "title": "Logical IPFIX observation point" }, "PolicyResourceReference": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/ResourceReference" }, { "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "path": { "readOnly": true, "type": "string", "description": "Absolute path of this object", "title": "Absolute path of this object" } } } ], "description": "Policy resource reference", "title": "Policy resource reference" }, "LBVirtualServerPool": { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "type": "object", "description": "Virtual server pool information in a load balancer\n", "properties": { "server_pool_algorithm": { "readOnly": true, "enum": [ "ROUND_ROBIN", "WEIGHTED_ROUND_ROBIN", "LEAST_CONNECTION", "WEIGHTED_LEAST_CONNECTION", "IP_HASH" ], "type": "string", "description": "Loadbalancer algorithm configured for this virtual server pool.\n", "title": "Loadbalancer algorithm" }, "pool_members_info": { "readOnly": true, "title": "LB Virtual server pool membership info", "description": "LB Virtual server pool membership info", "$ref": "#/definitions/LBVirtualServerPoolMembersInfo" }, "snat_info": { "readOnly": true, "title": "SNAT configuration info.", "description": "SNAT configuration info for this server pool.\n", "$ref": "#/definitions/LBSnatInfo" } }, "title": "Loadbalancer virtual server pool" }, "TunnelSubnet": { "x-vmw-nsx-module": "PolicyL3Vpn", "required": [ "ip_addresses", "prefix_length" ], "type": "object", "properties": { "ip_addresses": { "description": "Subnet ip addresses", "title": "Subnet ip addresses", "minItems": 1, "items": { "description": "IPv4 address", "format": "ipv4", "type": "string" }, "maxItems": 1, "uniqueItems": true, "type": "array" }, "prefix_length": { "description": "Subnet Prefix Length", "format": "int64", "title": "Subnet Prefix Length", "maximum": 31, "minimum": 1, "type": "integer" } } }, "NSXVConnectionInfo": { "x-vmw-nsx-module": "PolicyEnforcementPointManagement", "allOf": [ { "$ref": "#/definitions/EnforcementPointConnectionInfo" }, { "required": [ "thumbprint" ], "x-vmw-nsx-module": "PolicyEnforcementPointManagement", "type": "object", "properties": { "username": { "type": "string", "description": "UserName", "title": "UserName" }, "password": { "type": "string", "description": "Password", "title": "Password" }, "thumbprint": { "type": "string", "description": "Thumbprint of EnforcementPoint. sha-256 hash represented in lower case hex.\n", "title": "Thumbprint of Enforcement Point" } } } ], "description": "Credential info to connect to NSXV enforcement type", "title": "Credential info to connect to NSXV enforcement type" }, "PolicyRoot": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "x-vmw-nsx-module": "Policy", "type": "object" } ], "description": "Represents the root of the policy tree", "title": "Represents the root of the policy tree" }, "FirewallSectionListResult": { "x-vmw-nsx-module": "Firewall", "allOf": [ { "$ref": "#/definitions/DSSectionListResult" }, { "x-vmw-nsx-module": "Firewall", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/FirewallSection" }, "readOnly": true, "type": "array", "description": "List of the firewall sections. The list has to be homogenous.", "title": "Section list" } } } ] }, "AggregateRequest": { "x-vmw-nsx-module": "Search", "allOf": [ { "$ref": "#/definitions/IncludedFieldsParameters" }, { "required": [ "resource_type" ], "x-vmw-nsx-module": "Search", "type": "object", "properties": { "alias": { "type": "string", "description": "Alias for the response", "title": "Alias" }, "filters": { "items": { "$ref": "#/definitions/FilterRequest" }, "type": "array", "description": "An array of filter conditions", "title": "Filter conditions" }, "resource_type": { "type": "string", "description": "Resource type name", "title": "Resource Type" } } } ], "description": "Common request parameters for the primary/related types", "title": "Aggregate request" }, "RealizedServices": { "x-vmw-nsx-module": "PolicyRealizedState", "allOf": [ { "$ref": "#/definitions/PolicyRealizedResource" }, { "x-vmw-nsx-module": "PolicyRealizedState", "type": "object", "properties": { "realized_services": { "items": { "$ref": "#/definitions/RealizedService" }, "readOnly": true, "type": "array", "description": "List of realized services", "title": "List of realized services" } } } ], "description": "Realized services", "title": "Realized services" }, "StandardHostSwitch": { "x-vmw-nsx-module": "TransportNode", "type": "object", "description": "Standard host switch specification", "properties": { "pnics": { "items": { "$ref": "#/definitions/Pnic" }, "type": "array", "description": "Physical NICs connected to the host switch", "title": "Physical NICs connected to the host switch" }, "host_switch_name": { "default": "nsxDefaultHostSwitch", "type": "string", "description": "If this name is unset or empty then the default host switch name will be used. The name must be unique among all host switches specified in a given transport node; unset name, empty name and the default host switch name are considered the same in terms of uniqueness.", "title": "host switch name. This name will be used to reference this host switch." }, "ip_assignment_spec": { "readOnly": false, "title": "Specification for IPs to be used with host switch virtual tunnel endpoints", "description": "IPs can come from either a static IP pool or an explicitly specified IP list or DHCP. In case a list of IP is specified, the number of IPs provided should be sufficient as per teaming policy associated with host switch uplink profile.", "$ref": "#/definitions/IpAssignmentSpec" }, "cpu_config": { "items": { "$ref": "#/definitions/CpuCoreConfigForEnhancedNetworkingStackSwitch" }, "readOnly": false, "type": "array", "description": "CPU configuration specifies number of Logical cpu cores (Lcores) per Non Uniform Memory Access (NUMA) node dedicated to Enhanced Networking Stack enabled HostSwitch to get the best performance.", "title": "Enhanced Networking Stack enabled HostSwitch CPU configuration" }, "host_switch_profile_ids": { "items": { "$ref": "#/definitions/HostSwitchProfileTypeIdEntry" }, "type": "array", "description": "host switch profiles bound to this host switch. If a profile ID is not provided for any HostSwitchProfileType that is supported by the transport node, the corresponding default profile will be bound to the host switch.", "title": "Identifiers of host switch profiles to be associated with this host switch." } }, "title": "Standard host switch specification" }, "PBRRuleListResult": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/PBRRule" }, "readOnly": true, "type": "array", "description": "PBR rule list result with pagination support.", "title": "PBR rule list result" } } } ] }, "BfdConfigParameters": { "x-vmw-nsx-module": "Routing", "type": "object", "description": "BFD configuration for the given Peer.", "properties": { "receive_interval": { "description": "the time interval (in milliseconds) between heartbeat packets for BFD when receiving heartbeats.", "title": "the time interval (in milliseconds) between heartbeat packets for BFD when receiving heartbeats.", "default": 1000, "format": "int64", "maximum": 60000, "minimum": 300, "type": "integer" }, "declare_dead_multiple": { "description": "Number of times a packet is missed before BFD declares the neighbor down.", "title": "Number of times a packet is missed before BFD declares the neighbor down.", "default": 3, "format": "int64", "maximum": 16, "minimum": 2, "type": "integer" }, "transmit_interval": { "description": "the time interval (in milliseconds) between heartbeat packets for BFD when sending heartbeats.", "title": "the time interval (in milliseconds) between heartbeat packets for BFD when sending heartbeats.", "default": 1000, "format": "int64", "maximum": 60000, "minimum": 300, "type": "integer" } }, "title": "BFD configuration for the given Peer." }, "ServiceDeploymentSpec": { "description": "ServiceDeployment Spec consists of information required to deploy and configure the partner appliances. viz. Deployment template, deployment spec and NIC metatdata.", "title": "Service Deployment Specification.", "required": [ "deployment_template" ], "x-vmw-nsx-module": "ServiceInsertionCommonTypes", "type": "object", "properties": { "deployment_specs": { "description": "Deployment Specs holds information required to deploy the Service-VMs. i.e. OVF url where the partner Service-VM OVF is hosted. The host type on which the OVF can be deployed, Form factor to name a few.", "title": "Service Deployment Spec List", "items": { "$ref": "#/definitions/SVMDeploymentSpec" }, "readOnly": false, "maxItems": 128, "type": "array" }, "nic_metadata_list": { "items": { "$ref": "#/definitions/NicMetadata" }, "readOnly": false, "type": "array", "description": "NIC metadata associated with the deployment spec.", "title": "NIC Metadata" }, "deployment_template": { "items": { "$ref": "#/definitions/DeploymentTemplate" }, "readOnly": false, "type": "array", "description": "Deployment Template holds the attributes specific to partner for which the service is created. These attributes are opaque to NSX Manager.", "title": "Service Deployment Template" } } }, "EtherTypeNSService": { "x-vmw-nsx-module": "Types", "allOf": [ { "$ref": "#/definitions/NSServiceElement" }, { "required": [ "ether_type" ], "x-vmw-nsx-module": "Types", "type": "object", "properties": { "ether_type": { "format": "int64", "type": "integer", "description": "Type of the encapsulated protocol", "title": "Type of the encapsulated protocol" } } } ], "description": "An NSService element that represents an ethertype protocol", "title": "An NSService element that represents an ethertype protocol" }, "LbHttpRequestBodyCondition": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbRuleCondition" }, { "required": [ "body_value" ], "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "body_value": { "type": "string", "description": "HTTP request body", "title": "HTTP request body" }, "match_type": { "description": "Match type of HTTP body", "default": "REGEX", "enum": [ "STARTS_WITH", "ENDS_WITH", "EQUALS", "CONTAINS", "REGEX" ], "type": "string" }, "case_sensitive": { "default": true, "type": "boolean", "description": "If true, case is significant when comparing HTTP body value.\n", "title": "A case sensitive flag for HTTP body comparing" } } } ], "description": "This condition is used to match the message body of an HTTP request.\nTypically, only HTTP POST, PATCH, or PUT requests have request body.\nThe match_type field defines how body_value field is used to match the body\nof HTTP requests.\n", "title": "Condition to match content of HTTP request message body" }, "KeyValue": { "x-vmw-nsx-module": "CertificateManager", "required": [ "value", "key" ], "type": "object", "properties": { "value": { "readOnly": false, "type": "string", "description": "key value" }, "key": { "readOnly": false, "type": "string", "description": "key name" } } }, "LbVirtualServer": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "LoadBalancer", "required": [ "application_profile_id", "ip_address" ], "type": "object", "properties": { "ip_protocol": { "description": "Assigned Internet Protocol in IP header, TCP, UDP are supported.\n", "default": "TCP", "enum": [ "TCP", "UDP" ], "type": "string" }, "server_tcp_profile_id": { "type": "string", "description": "Only L7 virtual server could be configured with customized server\nside TCP profile.\n", "title": "Identifier of server side TCP profile" }, "sorry_pool_id": { "type": "string", "description": "When load balancer can not select a backend server to serve the\nrequest in default pool or pool in rules, the request would be served\nby sorry server pool.\n", "title": "Identifier of sorry server pool" }, "port": { "description": "This is a deprecated property, please use 'ports' instead.\nPort setting could be single port for both L7 mode and L4 mode.\nFor L4 mode, a single port range is also supported.\nThe port setting could be a single port or port range such as\n\"80\", \"1234-1236\".\nIf port is configured and ports are not specified, both port and\nports in response payload would return the same port value.\nIf both port and ports are configured, ports setting would take effect\nwith higher priority.\n", "format": "port-or-range", "x-deprecated": true, "type": "string" }, "server_ssl_profile_binding": { "title": "Pool side SSL binding setting", "description": "The setting is used when load balancer acts as an SSL client and\nestablishing a connection to the backend server.\n", "$ref": "#/definitions/ServerSslProfileBinding" }, "pool_id": { "type": "string", "description": "The server pool(LbPool) contains backend servers. Server pool\nconsists of one or more servers, also referred to as pool members, that\nare similarly configured and are running the same application.\n", "title": "default server pool identifier" }, "client_tcp_profile_id": { "type": "string", "description": "Only L7 virtual server could be configured with customized client\nside TCP profile.\n", "title": "Identifier of client side TCP profile" }, "default_pool_member_port": { "description": "This is a deprecated property, please use 'default_pool_member_ports'\ninstead.\nIf default_pool_member_port is configured and default_pool_member_ports\nare not specified, both default_pool_member_port\nand default_pool_member_ports in response payload would return the same\nport value.\nIf both are specified, default_pool_member_ports setting would take\neffect with higher priority.\n", "format": "port-or-range", "x-deprecated": true, "type": "string" }, "access_log_enabled": { "default": false, "type": "boolean", "description": "Whether access log is enabled", "title": "Whether access log is enabled" }, "application_profile_id": { "type": "string", "description": "The application profile defines the application protocol characteristics.\nIt is used to influence how load balancing is performed. Currently,\nLbFastTCPProfile, LbFastUDPProfile and\nLbHttpProfile, etc are supported.\n", "title": "application profile identifier" }, "max_concurrent_connections": { "description": "To ensure one virtual server does not over consume resources,\naffecting other applications hosted on the same LBS, connections\nto a virtual server can be capped.\nIf it is not specified, it means that connections are unlimited.\n", "format": "int64", "title": "maximum concurrent connection number", "maximum": 2147483647, "minimum": 1, "type": "integer" }, "rule_ids": { "items": { "type": "string" }, "type": "array", "description": "Load balancer rules allow customization of load balancing behavior using\nmatch/action rules. Currently, load balancer rules are supported for\nonly layer 7 virtual servers with LbHttpProfile.\n", "maxItems": 512, "title": "List of load balancer rule identifiers" }, "max_new_connection_rate": { "description": "To ensure one virtual server does not over consume resources,\nconnections to a member can be rate limited.\nIf it is not specified, it means that connection rate is unlimited.\n", "format": "int64", "title": "maximum new connection rate in second", "maximum": 2147483647, "minimum": 1, "type": "integer" }, "persistence_profile_id": { "type": "string", "description": "Persistence profile is used to allow related client connections to be\nsent to the same backend server.\n", "title": "persistence profile identifier" }, "client_ssl_profile_binding": { "title": "Virtual server side SSL binding setting", "description": "The setting is used when load balancer acts as an SSL server and\nterminating the client SSL connection\n", "$ref": "#/definitions/ClientSslProfileBinding" }, "default_pool_member_ports": { "items": { "description": "Examples- Single port \"8080\", Range of ports \"8090-8095\"\n", "format": "port-or-range", "type": "string" }, "type": "array", "description": "If default_pool_member_ports are configured, both\ndefault_pool_member_port and default_pool_member_ports in the response\npayload would include port settings, notice that the value of\ndefault_pool_member_port is the first element of\ndefault_pool_member_ports.\n", "maxItems": 14, "title": "Default pool member ports when member port is not defined." }, "ip_address": { "description": "virtual server IP address", "format": "ip", "type": "string" }, "ports": { "items": { "description": "Examples- Single port \"8080\", Range of ports \"8090-8095\"\n", "format": "port-or-range", "type": "string" }, "type": "array", "description": "Port setting could be a single port for both L7 mode and L4 mode.\nFor L4 mode, multiple ports or port ranges are also supported such\nas \"80\", \"443\", \"1234-1236\".\nIf ports is configured, both port and ports in the response payload\nwould include port settings, notice that the port field value is the\nfirst element of ports.\n", "maxItems": 14, "title": "Virtual server ports or port ranges" }, "enabled": { "default": true, "type": "boolean", "description": "whether the virtual server is enabled", "title": "whether the virtual server is enabled" } } } ] }, "ExcludeList": { "x-vmw-nsx-module": "ExcludeList", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "ExcludeList", "required": [ "members" ], "type": "object", "properties": { "members": { "description": "List of the members in the exclude list", "title": "ExcludeList member list", "items": { "$ref": "#/definitions/ResourceReference" }, "readOnly": false, "maxItems": 100, "type": "array" } } } ] }, "Traceflow": { "x-vmw-nsx-module": "Traceflow", "allOf": [ { "$ref": "#/definitions/Resource" }, { "x-vmw-nsx-module": "Traceflow", "type": "object", "properties": { "operation_state": { "readOnly": true, "enum": [ "IN_PROGRESS", "FINISHED", "FAILED" ], "type": "string", "description": "Represents the traceflow operation state", "title": "Represents the traceflow operation state" }, "logical_counters": { "readOnly": true, "title": "counters of observations from logical components", "description": "counters of observations from logical components", "$ref": "#/definitions/TraceflowObservationCounters" }, "timeout": { "description": "Maximum time (in ms) the management plane will be waiting for this traceflow round.", "title": "Timeout (in ms) for traceflow observations result list", "format": "int64", "maximum": 15000, "readOnly": true, "minimum": 5000, "type": "integer" }, "result_overflowed": { "readOnly": true, "type": "boolean", "description": "A flag, when set true, indicates some observations were deleted from the result set.", "title": "A flag, when set true, indicates some observations were deleted from the result set." }, "lport_id": { "readOnly": true, "type": "string", "description": "id of the source logical port used for injecting the traceflow packet", "title": "id of the source logical port used for injecting the traceflow packet" }, "counters": { "readOnly": true, "title": "observation counters", "description": "observation counters", "$ref": "#/definitions/TraceflowObservationCounters" }, "request_status": { "readOnly": true, "enum": [ "SUCCESS", "TIMEOUT", "SOURCE_PORT_NOT_FOUND", "DATA_PATH_NOT_READY", "CONNECTION_ERROR", "UNKNOWN" ], "type": "string", "description": "The status of the traceflow RPC request. SUCCESS - The traceflow request is sent successfully. TIMEOUT - The traceflow request gets timeout. SOURCE_PORT_NOT_FOUND - The source port of the request cannot be found. DATA_PATH_NOT_READY - The datapath component cannot be ready to receive request. CONNECTION_ERROR - There is connection error on datapath component. UNKNOWN - The status of traceflow request cannot be determined.", "title": "Traceflow request status" }, "analysis": { "items": { "type": "string" }, "readOnly": true, "type": "array", "description": "Traceflow result analysis notes", "title": "Traceflow result analysis notes" }, "id": { "readOnly": true, "type": "string", "description": "The id of the traceflow round", "title": "The id of the traceflow round" } } } ] }, "VidmInfoListResult": { "x-vmw-nsx-module": "AAA", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "AAA", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/VidmInfo" }, "type": "array", "description": "List results", "title": "List results" } } } ] }, "VMElement": { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "allOf": [ { "$ref": "#/definitions/Element" }, { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "type": "object", "properties": { "vm_host_id": { "readOnly": true, "type": "string", "description": "VM host ID\n", "title": "VM host ID" }, "vm_bios_uuid": { "readOnly": true, "type": "string", "description": "VM Bios Uuid\n", "title": "VM BIOS UUID" }, "vm_host_name": { "readOnly": true, "type": "string", "description": "VM host name\n", "title": "VM host name" }, "vm_instance_uuid": { "readOnly": true, "type": "string", "description": "VM instance Uuid\n", "title": "VM instance UUID" }, "vm_path": { "readOnly": true, "type": "string", "description": "VM path information\n", "title": "VM path" }, "vm_ips": { "items": { "type": "string" }, "readOnly": true, "type": "array", "description": "List of VM IPs\n", "title": "List of VM IPs" }, "vm_external_id": { "readOnly": true, "type": "string", "description": "VM external ID\n", "title": "VM external ID" } } } ], "description": "VM element extends from Element class. This class contains the\ninformation related to a VM.\n", "title": "VM element" }, "NicInfo": { "x-vmw-nsx-module": "ServiceInsertionCommonTypes", "type": "object", "description": "Information of a network interface present on the partner appliance that needs to be configured by the NSX Manager.", "properties": { "network_id": { "readOnly": false, "type": "string", "description": "Network Id associated with the NIC metadata.", "title": "Network Id" }, "subnet_mask": { "readOnly": false, "type": "string", "description": "Subnet mask associated with the NIC metadata.", "title": "Subnet mask" }, "ip_address": { "readOnly": false, "type": "string", "description": "IP address associated with the NIC metadata.", "title": "IP address" }, "nic_metadata": { "readOnly": true, "title": "NIC metadata", "description": "NIC metadata information.", "$ref": "#/definitions/NicMetadata" }, "gateway_address": { "readOnly": false, "type": "string", "description": "Gateway address associated with the NIC metadata.", "title": "Gateway address" } }, "title": "NIC information" }, "BgpNeighbor": { "x-vmw-nsx-module": "Routing", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "Routing", "required": [ "neighbor_address" ], "type": "object", "properties": { "filter_in_ipprefixlist_id": { "type": "string", "description": "This is a deprecated property, Please use 'address_family' instead.", "x-deprecated": true, "title": "IPPrefix List to be used for IN direction filter for IPV4_UNICAST address family" }, "neighbor_address": { "description": "Neighbor IP Address", "format": "ipv4", "type": "string" }, "remote_as": { "description": "This is a deprecated property, Please use 'remote_as_num' instead.", "title": "Autonomous System Number of the neighbor", "format": "int64", "maximum": 4294967296, "x-deprecated": true, "minimum": 1, "type": "integer" }, "filter_out_ipprefixlist_id": { "type": "string", "description": "This is a deprecated property, Please use 'address_family' instead.", "x-deprecated": true, "title": "IPPrefixList to be used for OUT direction filter for IPV4_UNICAST address family" }, "hold_down_timer": { "description": "Wait period (seconds) before declaring peer dead", "title": "Wait period (seconds) before declaring peer dead", "default": 180, "format": "int64", "maximum": 65535, "minimum": 1, "type": "integer" }, "maximum_hop_limit": { "description": "This value is set on TTL(time to live) of BGP header.\nWhen router receives the BGP packet, it decrements the TTL. The default\nvalue of TTL is one when BPG request is initiated.So in the case of a\nBGP peer multiple hops away and and value of TTL is one, then next\nrouter in the path will decrement the TTL to 0, realize it cant forward\nthe packet and will drop it. If the hop count value to reach neighbor\nis equal to or less than the maximum_hop_limit value then intermediate\nrouter decrements the TTL count by one and forwards the request to\nBGP neighour. If the hop count value is greater than the maximum_hop_limit\nvalue then intermediate router discards the request when TTL becomes 0.\n", "title": "Maximum Number of hops allowed to reach BGP neighbor", "default": 1, "format": "int32", "maximum": 255, "minimum": 1, "type": "integer" }, "enabled": { "default": true, "type": "boolean", "description": "Flag to enable this BGP Neighbor", "title": "Flag to enable this BGP Neighbor" }, "bfd_config": { "title": "BFD Configuration Parameters for the given peer.", "description": "By specifying these paramaters BFD config for this given peer can be overriden | (the globally configured values will not apply for this peer)", "$ref": "#/definitions/BfdConfigParameters" }, "logical_router_id": { "readOnly": true, "type": "string", "description": "Logical router id", "title": "Logical router id" }, "remote_as_num": { "type": "string", "description": "4 Byte ASN of the neighbor in ASPLAIN/ASDOT Format", "title": "4 Byte ASN of the neighbor in ASPLAIN/ASDOT Format" }, "filter_out_routemap_id": { "type": "string", "description": "This is a deprecated property, Please use 'address_family' instead.", "x-deprecated": true, "title": "RouteMap to be used for OUT direction filter for IPV4_UNICAST address family" }, "filter_in_routemap_id": { "type": "string", "description": "This is a deprecated property, Please use 'address_family' instead.", "x-deprecated": true, "title": "RouteMap to be used for IN direction filter for IPV4_UNICAST address family" }, "keep_alive_timer": { "description": "Frequency (seconds) with which keep alive messages are sent to peers", "title": "Frequency (seconds) with which keep alive messages are sent to peers", "default": 60, "format": "int64", "maximum": 65535, "minimum": 1, "type": "integer" }, "password": { "minLength": 1, "type": "string", "description": "User can create (POST) the neighbor with or without the password.\nThe view (GET) on the neighbor, would never reveal if the password is set or not.\nThe password can be set later using edit neighbor workFlow (PUT)\nOn the edit neighbor (PUT), if the user does not specify the password property, the\nolder value is retained. Maximum length of this field is 20 characters.\n", "title": "Password" }, "source_address": { "description": "Deprecated - do not provide a value for this field. Use source_addresses instead.", "format": "ipv4", "x-deprecated": true, "type": "string" }, "source_addresses": { "items": { "description": "IPv4 address", "format": "ipv4", "type": "string" }, "type": "array", "description": "BGP neighborship will be formed from all these source addresses to this neighbour.", "maxItems": 8, "title": "Array of Logical Router Uplink IP Addresses" }, "enable_bfd": { "default": false, "type": "boolean", "description": "Flag to enable BFD for this BGP Neighbor. Enable this if the neighbor supports BFD as this will lead to faster convergence.", "title": "Enable BFD for this BGP Neighbor" }, "address_families": { "items": { "$ref": "#/definitions/BgpNeighborAddressFamily" }, "type": "array", "description": "User can enable the neighbor for the specific address families and also define filters per address family.\nWhen the neighbor is created, it is default enabled for IPV4_UNICAST address family for backward compatibility reasons.\nUser can change that if required, by defining the address family configuration.\n", "title": "AddressFamily settings for the neighbor" } } } ] }, "GenericPolicyRealizedResourceListResult": { "x-vmw-nsx-module": "PolicyRealizedState", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "PolicyRealizedState", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/GenericPolicyRealizedResource" }, "type": "array", "description": "List of realized resources", "title": "Paged Collection of GenericPolicyRealizedResources" } } } ], "description": "GenericPolicyRealizedResource list result", "title": "GenericPolicyRealizedResource list result" }, "ChildLBServerSslProfile": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "LBServerSslProfile" ], "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "LBServerSslProfile": { "title": "LBServerSslProfile", "description": "Contains the actual LBServerSslProfile object\n", "$ref": "#/definitions/LBServerSslProfile" } } } ], "description": "Child wrapper for LBServerSslProfile, used in hierarchical API\n", "title": "Wrapper object for LBServerSslProfile" }, "RealizedSecurityGroup": { "x-vmw-nsx-module": "PolicyRealizedState", "allOf": [ { "$ref": "#/definitions/RealizedGroup" }, { "x-vmw-nsx-module": "PolicyRealizedState", "type": "object", "properties": { "evaluations": { "description": "Reference to the evaluted members of the Security Group.\n", "title": "Evaluated members of Security Group", "items": { "$ref": "#/definitions/RealizedSecurityGroupMemberEvaluation" }, "readOnly": true, "maxItems": 500, "type": "array" } } } ], "description": "Realized Network and Security Group", "title": "Realized Network and Security Group" }, "MacPoolListResult": { "x-vmw-nsx-module": "MACAM", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "MACAM", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/MacPool" }, "type": "array", "description": "MAC pool list results", "title": "MAC pool list results" } } } ] }, "ChildPolicyNatRule": { "x-vmw-nsx-module": "PolicyNAT", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "PolicyNatRule" ], "x-vmw-nsx-module": "PolicyNAT", "type": "object", "properties": { "PolicyNatRule": { "title": "PolicyNatRule", "description": "Contains the actual PolicyNatRule object\n", "$ref": "#/definitions/PolicyNatRule" } } } ], "description": "Child wrapper object for PolicyNatRule, used in hierarchical API", "title": "Wrapper object for PolicyNatRule" }, "RowListField": { "description": "Root of the api result set for forming rows.", "title": "List of fields from which rows are formed", "required": [ "path" ], "x-vmw-nsx-module": "NsxDashboard", "type": "object", "properties": { "alias": { "maxLength": 255, "type": "string", "description": "Short name or alias of row list field, if any. If unspecified, the row list field can be referenced by its index in the array of row list fields as $ (for example, $0).", "title": "Alias Name" }, "path": { "maxLength": 1024, "type": "string", "description": "JSON path to the root of the api result set for forming rows.", "title": "JSON path" } } }, "FeaturePermission": { "x-vmw-nsx-module": "AAA", "type": "object", "description": "Feature Permission", "properties": { "feature": { "readOnly": true, "type": "string", "description": "Feature Name", "title": "Feature Name" }, "permission": { "readOnly": true, "enum": [ "crud", "read", "execute", "none" ], "type": "string", "description": "Permission", "title": "Permission" } }, "title": "Feature Permission" }, "TelemetrySchedule": { "description": "Abstract base type for telemetry schedule configuration", "title": "Abstract base type for telemetry schedule configuration", "required": [ "frequency_type" ], "discriminator": "frequency_type", "x-vmw-nsx-module": "TelemetryConfig", "type": "object", "properties": { "frequency_type": { "type": "string", "description": "Specify one of DailyTelemetrySchedule, WeeklyTelemetrySchedule, or MonthlyTelemetrySchedule.", "title": "Frequency at which data will be collected" } } }, "RoutingTableListResult": { "x-vmw-nsx-module": "PolicyStatistics", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "PolicyStatistics", "type": "object", "properties": { "results": { "items": { "title": "Routing table", "$ref": "#/definitions/RoutingTable" }, "type": "array", "description": "Paged Collection of Routes per transport node ID.", "title": "Paged Collection of Routes per transport node ID" } } } ] }, "TransportZoneListResult": { "x-vmw-nsx-module": "TransportZone", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "TransportZone", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/TransportZone" }, "type": "array", "description": "Transport Zone Results", "title": "Transport Zone Results" } } } ], "description": "Transport zone queries result", "title": "Transport zone queries result" }, "ServiceInsertionRule": { "x-vmw-nsx-module": "ServiceInsertionRules", "allOf": [ { "$ref": "#/definitions/DSRule" }, { "required": [ "redirect_tos" ], "x-vmw-nsx-module": "ServiceInsertionRules", "type": "object", "properties": { "services": { "description": "List of the services. Null will be treated as any.", "title": "Service List", "items": { "$ref": "#/definitions/ServiceInsertionService" }, "readOnly": false, "maxItems": 128, "type": "array" }, "redirect_tos": { "description": "A rule can be realized on a particular service definition, service instance or instance endpoint. If a service definition is selected as a redirect_to target, by default it will take the first deployed service instance if finds.", "title": "Redirect_Tos List", "items": { "$ref": "#/definitions/ResourceReference" }, "readOnly": false, "maxItems": 1, "type": "array" } } } ], "description": "ServiceInsertion Rule.", "title": "ServiceInsertion Rule" }, "RedistributionRule": { "x-vmw-nsx-module": "Routing", "required": [ "sources", "destination" ], "type": "object", "properties": { "sources": { "items": { "description": "Types of route to redistribute over routing protocols.\nSTATIC type should be used to redistribute user added static\nroutes.\nNSX_CONNECTED type should be used to redistribute downlink port\nsubnets.\nNSX_STATIC type should be used to redistribute nsx-connected and\nstatic routes advertised by TIER1 logical router.\nTIER0_NAT type should be used to redistribute NAT IPs owned by\nTIER0 logical router.\nTIER1_NAT type should be used to redistribute NAT IPs advertised\nby TIER1 logical router.\nTIER1_LB_VIP type should be used to redistribute LB VIP IPs\nadvertised by TIER1 logical router.\nTIER1_LB_SNAT type should be used to redistribute LB SNAT IPs\nadvertised by TIER1 logical router.\nBGP type should be used to redistribute routes learned via BGP.\n", "enum": [ "STATIC", "NSX_CONNECTED", "NSX_STATIC", "TIER0_NAT", "TIER1_NAT", "TIER1_LB_VIP", "TIER1_LB_SNAT", "BGP" ], "type": "string" }, "type": "array", "description": "Array of redistribution protocols", "title": "Array of redistribution protocols" }, "destination": { "description": "Destination redistribution protocol", "enum": [ "STATIC", "NSX_CONNECTED", "NSX_STATIC", "TIER0_NAT", "TIER1_NAT", "TIER1_LB_VIP", "TIER1_LB_SNAT", "BGP" ], "type": "string" }, "route_map_id": { "type": "string", "description": "RouteMap Id for the filter", "title": "RouteMap Id for the filter" }, "description": { "maxLength": 1024, "type": "string", "description": "Description", "title": "Description" }, "display_name": { "maxLength": 255, "type": "string", "description": "Display name", "title": "Display name" } } }, "RouteMapSequenceMatch": { "x-vmw-nsx-module": "Routing", "type": "object", "description": "Match sequence in route map which is used for matching routes.\nIP prefix lists and match community expression are mutually\nexclusive fields, one of them must be provided.\n", "properties": { "match_community_expression": { "title": "Expression to match BGP communities", "description": "It supports conjunction operator (AND) and five\noperators within singular community match expression\n(MATCH_ANY, MATCH_ALL, MATCH_EXACT, MATCH_NONE,\nMATCH_REGEX).\n", "$ref": "#/definitions/CommunityMatchExpression" }, "ip_prefix_lists": { "description": "IPPrefixList Identifiers for RouteMap Sequence Match Criteria", "title": "IPPrefixList Identifiers for RouteMap Sequence Match Criteria", "minItems": 1, "items": { "type": "string" }, "maxItems": 500, "type": "array" } } }, "ChildSecurityPolicy": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "SecurityPolicy" ], "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "SecurityPolicy": { "title": "SecurityPolicy", "description": "Contains the actual SecurityPolicy object\n", "$ref": "#/definitions/SecurityPolicy" } } } ], "description": "Child wrapper object for SecurityPolicy, used in hierarchical API", "title": "Wrapper object for SecurityPolicy" }, "LbHttpProfile": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbAppProfile" }, { "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "response_timeout": { "description": "If server doesn't send any packet within this time, the connection is closed.\n", "title": "Maximum server idle time in seconds", "default": 60, "format": "int64", "maximum": 2147483647, "minimum": 1, "type": "integer" }, "idle_timeout": { "description": "It is used to specify the HTTP application idle timeout, it means that\nhow long the load balancer will keep the connection idle to wait for\nthe client to send the next keep-alive request. It is not a TCP socket\nsetting.\n", "title": "HTTP application idle timeout in seconds", "default": 15, "format": "int64", "maximum": 2147483647, "minimum": 1, "type": "integer" }, "request_body_size": { "description": "If it is not specified, it means that request body size is unlimited.\n", "format": "int64", "title": "Maximum size of the buffer used to store HTTP request body", "maximum": 2147483647, "minimum": 1, "type": "integer" }, "ntlm": { "default": false, "type": "boolean", "description": "NTLM is an authentication protocol that can be used over HTTP. If the\nflag is set to true, LB will use NTLM challenge/response methodology.\n", "title": "NTLM support flag" }, "request_header_size": { "description": "A request with header larger than request_header_size will be processed\nas best effort whereas a request with header below this specified size\nis guaranteed to be processed.\n", "title": "Maximum size of the buffer used to store HTTP request headers", "default": 1024, "format": "int64", "maximum": 65536, "minimum": 1, "type": "integer" }, "http_redirect_to": { "type": "string", "description": "If a website is temporarily down or has moved, incoming requests\nfor that virtual server can be temporarily redirected to a URL\n", "title": "http redirect static URL" }, "x_forwarded_for": { "description": "insert or replace x_forwarded_for", "enum": [ "INSERT", "REPLACE" ], "type": "string" }, "http_redirect_to_https": { "default": false, "type": "boolean", "description": "Certain secure applications may want to force communication over SSL,\nbut instead of rejecting non-SSL connections, they may choose to\nredirect the client automatically to use SSL.\n", "title": "flag to indicate whether enable HTTP-HTTPS redirect" } } } ] }, "EnforcementPoint": { "x-vmw-nsx-module": "PolicyEnforcementPointManagement", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "required": [ "connection_info" ], "x-vmw-nsx-module": "PolicyEnforcementPointManagement", "type": "object", "properties": { "connection_info": { "title": "Enforcement point connection info", "description": "Enforcement point connection info", "$ref": "#/definitions/EnforcementPointConnectionInfo" }, "version": { "readOnly": true, "type": "string", "description": "Version of the Enforcement point", "title": "Version of the Enforcement point" } } } ], "description": "Represents endpoint where policy will be applied", "title": "Represents endpoint where policy will be applied" }, "LbSslProfileListResult": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "LoadBalancer", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/LbSslProfile" }, "type": "array", "description": "paginated list of load balancer SSL profiles", "title": "paginated list of load balancer SSL profiles" } } } ] }, "ServiceInsertionRuleListResult": { "x-vmw-nsx-module": "ServiceInsertionRules", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "ServiceInsertionRules", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/ServiceInsertionRule" }, "readOnly": true, "type": "array", "description": "ServiceInsertion rule list result with pagination support.", "title": "ServiceInsertion rule list result" } } } ], "description": "List of ServiceInsertion Rules.", "title": "ServiceInsertion Section RuleList" }, "ServiceInsertionSectionRuleList": { "x-vmw-nsx-module": "ServiceInsertionRules", "allOf": [ { "$ref": "#/definitions/ServiceInsertionSection" }, { "required": [ "rules" ], "x-vmw-nsx-module": "ServiceInsertionRules", "type": "object", "properties": { "rules": { "description": "List of Service Insertion rules in the section. Only homogeneous rules are supported.", "title": "List of the Service Insertion rules", "items": { "$ref": "#/definitions/ServiceInsertionRule" }, "readOnly": false, "maxItems": 1000, "type": "array" } } } ], "description": "List of ServiceInsertion Rules.", "title": "ServiceInsertion Section RuleList" }, "Tier1ListResult": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/Tier1" }, "type": "array", "description": "Tier-1 list results", "title": "Tier-1 list results" } } } ], "description": "Paged collection of Tier-1 instances", "title": "Paged collection of Tier-1 instances" }, "TrunkVlanRange": { "description": "Trunk VLAN id range", "title": "Trunk VLAN id range", "required": [ "start", "end" ], "x-vmw-nsx-module": "LogicalSwitch", "type": "object", "properties": { "start": { "type": "integer", "description": "Virtual Local Area Network Identifier", "format": "int64" }, "end": { "type": "integer", "description": "Virtual Local Area Network Identifier", "format": "int64" } } }, "PolicyTemplateListResult": { "x-vmw-nsx-module": "PolicyTemplate", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "PolicyTemplate", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/PolicyTemplate" }, "type": "array", "description": "Policy Template list results", "title": "Policy Template list results" } } } ], "description": "Paged Collection of Policy Templates", "title": "Paged Collection of Policy Templates" }, "IPFIXCollectorProfileListResult": { "x-vmw-nsx-module": "PolicyOperations", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "PolicyOperations", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/IPFIXCollectorProfile" }, "type": "array", "description": "IPFIX collector Instances list results", "title": "IPFIX collector Instances list results" } } } ], "description": "Paged collection of IPFIX collector profiles.", "title": "Paged collection of IPFIX collector profiles." }, "DirectoryLdapServer": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "required": [ "username", "host", "password" ], "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "username": { "type": "string", "description": "Directory LDAP server connection user name.", "title": "Ldap server username" }, "host": { "format": "ip-or-hostname", "type": "string", "description": "Directory LDAP server DNS host name or ip address which is reachable by NSX manager to be connected and do object synchronization.", "title": "Ldap server host name" }, "protocol": { "default": "LDAP", "enum": [ "LDAP", "LDAPS" ], "type": "string", "description": "Directory LDAP server connection protocol which is either LDAP or LDAPS.", "title": "Ldap server protocol" }, "thumbprint": { "type": "string", "description": "Directory LDAP server certificate thumbprint used in secure LDAPS connection.", "title": "Ldap server certificate thumbprint using SHA-256 algorithm" }, "password": { "type": "string", "description": "Directory LDAP server connection password.", "title": "Ldap server password" }, "enabled": { "default": true, "type": "boolean", "description": "Whether this directory LDAP server is enabled or not.", "title": "Ldap server enable flag" }, "port": { "default": 389, "format": "int64", "type": "integer", "description": "Directory LDAP server connection TCP/UDP port.", "title": "Ldap server TCP/UDP port" } } } ], "description": "Ldap Server of Directory Domain", "title": "Ldap Server of Directory Domain" }, "SavedSearch": { "x-vmw-nsx-module": "Search", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "Search", "required": [ "query", "is_saved" ], "type": "object", "properties": { "query": { "type": "string", "description": "The search query that is to be saved.", "title": "Search string" }, "is_saved": { "type": "boolean", "description": "The flag indicates whether the saved query is saved search or recent search.", "title": "Flag" } } } ] }, "TransportZoneEndPoint": { "description": "Specify which HostSwitch from this TransportNode is used handle traffic for given TransportZone", "title": "This object associates TransportNode to a certain TransportZone", "required": [ "transport_zone_id" ], "x-vmw-nsx-module": "TransportNode", "type": "object", "properties": { "transport_zone_id": { "type": "string", "description": "Unique ID identifying the transport zone for this endpoint", "title": "Unique ID identifying the transport zone for this endpoint" }, "transport_zone_profile_ids": { "items": { "$ref": "#/definitions/TransportZoneProfileTypeIdEntry" }, "type": "array", "description": "Identifiers of the transport zone profiles associated with this transport zone endpoint on this transport node.", "title": "Identifiers of the transport zone profiles associated with this transport zone endpoint on this transport node." } } }, "PoolMemberSetting": { "description": "The setting is used to add, update or remove pool members from pool.\nFor static pool members, admin_state, display_name and weight can be\nupdated.\nFor dynamic pool members, only admin_state can be updated.\n", "title": "Pool member setting", "required": [ "ip_address" ], "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "admin_state": { "description": "Member admin state", "default": "ENABLED", "enum": [ "ENABLED", "DISABLED", "GRACEFUL_DISABLED" ], "type": "string" }, "ip_address": { "description": "Pool member IP address", "format": "ip", "type": "string" }, "port": { "description": "Pool member port number", "format": "port-or-range", "type": "string" }, "weight": { "description": "Only applicable to static pool members. If supplied for a pool defined\nby a grouping object, update API would fail.\n", "format": "int64", "title": "Pool member weight", "maximum": 255, "minimum": 1, "type": "integer" }, "display_name": { "type": "string", "description": "Only applicable to static pool members. If supplied for a pool defined\nby a grouping object, update API would fail.\n", "title": "Pool member display name" } } }, "LbIpHeaderCondition": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbRuleCondition" }, { "required": [ "source_address" ], "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "source_address": { "description": "Source IP address of HTTP message", "format": "address-or-block-or-range", "type": "string" } } } ], "description": "This condition is used to match IP header fields of HTTP messages.\nCurrently, only the source IP address is supported. IP addresses can be\nexpressed as a single IP address like 10.1.1.1, or a range of IP addresses\nlike 10.1.1.101-10.1.1.160. Both IPv4 and IPv6 addresses are supported.\n", "title": "Condition to match IP header fields" }, "NetworkMigrationSpec": { "x-vmw-nsx-module": "TransportNode", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "required": [ "resource_type" ], "discriminator": "resource_type", "x-vmw-nsx-module": "TransportNode", "type": "object", "properties": { "resource_type": { "description": "Supported network migration specification types.", "enum": [ "HostProfileNetworkMigrationSpec" ], "type": "string" } } } ], "description": "The NetworkMigrationSpec is the base class for any types of network migration\nspecifications to be handled by transport node.\n", "title": "Abstract base type for network migration specification" }, "Tag": { "x-vmw-nsx-module": "Common", "type": "object", "description": "Arbitrary key-value pairs that may be attached to an entity", "properties": { "scope": { "description": "Tag searches may optionally be restricted by scope", "title": "Tag scope", "default": "", "readOnly": false, "maxLength": 128, "type": "string" }, "tag": { "description": "Identifier meaningful to user", "title": "Tag value", "default": "", "readOnly": false, "maxLength": 256, "type": "string" } }, "title": "Arbitrary key-value pairs that may be attached to an entity" }, "RealizedVirtualMachine": { "x-vmw-nsx-module": "PolicyRealizedState", "allOf": [ { "$ref": "#/definitions/PolicyRealizedResource" }, { "x-vmw-nsx-module": "PolicyRealizedState", "type": "object", "properties": { "host_id": { "readOnly": true, "type": "string", "description": "Id of the host on which the vm exists.", "title": "Id of the host on which the vm exists." }, "local_id_on_host": { "readOnly": true, "type": "string", "description": "Id of the vm unique within the host.", "title": "Id of the vm unique within the host." }, "power_state": { "readOnly": true, "enum": [ "VM_RUNNING", "VM_STOPPED", "VM_SUSPENDED", "UNKNOWN" ], "type": "string", "description": "Current power state of this virtual machine in the system.", "title": "Current power state of this virtual machine in the system." }, "compute_ids": { "items": { "type": "string" }, "readOnly": true, "type": "array", "description": "List of external compute ids of the virtual machine in the format 'id-type-key:value' , list of external compute ids ['uuid:xxxx-xxxx-xxxx-xxxx', 'moIdOnHost:moref-11', 'instanceUuid:xxxx-xxxx-xxxx-xxxx']", "title": "List of external compute ids of the virtual machine in the format 'id-type-key:value' , list of external compute ids ['uuid:xxxx-xxxx-xxxx-xxxx', 'moIdOnHost:moref-11', 'instanceUuid:xxxx-xxxx-xxxx-xxxx']" } } } ], "description": "Realized Virtual Machine", "title": "Realized Virtual Machine" }, "LBPool": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "active_monitor_paths": { "items": { "type": "string" }, "type": "array", "description": "In case of active healthchecks, load balancer itself initiates new\nconnections (or sends ICMP ping) to the servers periodically to check\ntheir health, completely independent of any data traffic. Active\nhealthchecks are disabled by default and can be enabled for a server\npool by binding a health monitor to the pool. Currently, only one active\nhealth monitor can be configured per server pool.\n", "maxItems": 1, "title": "active monitor path list" }, "member_group": { "title": "Load balancer member setting with grouping object", "description": "Load balancer pool support grouping object as dynamic pool members.\nWhen member group is defined, members setting should not be specified.\n", "$ref": "#/definitions/LBPoolMemberGroup" }, "snat_translation": { "title": "snat translation configuration", "description": "Depending on the topology, Source NAT (SNAT) may be required to ensure\ntraffic from the server destined to the client is received by the load\nbalancer. SNAT can be enabled per pool. If SNAT is not enabled for a\npool, then load balancer uses the client IP and port (spoofing) while\nestablishing connections to the servers. This is referred to as no-SNAT\nor TRANSPARENT mode. By default Source NAT is enabled as LBSnatAutoMap.\n", "$ref": "#/definitions/LBSnatTranslation" }, "members": { "items": { "$ref": "#/definitions/LBPoolMember" }, "type": "array", "description": "Server pool consists of one or more pool members. Each pool member\nis identified, typically, by an IP address and a port.\n", "title": "load balancer pool members" }, "algorithm": { "default": "ROUND_ROBIN", "enum": [ "ROUND_ROBIN", "LEAST_CONNECTION" ], "type": "string", "description": "Load balanding algorithm controls how the incoming\nconnections are distributed among the members.\n- ROUND_ROBIN - requests to the application servers are distributed\nin a round-robin fashion,\n- LEAST_CONNECTION - next request is assigned to the server with the\nleast number of active connections\n", "title": "Load balancing algorithm" } } } ], "description": "Defining access of a Group from a LBVirtualServer and binding to\nLBMonitorProfile.\n", "title": "Defining access a Group from a LBVirtualServer and binding to LBMonitorProfile" }, "UrlAlias": { "description": "Short name or alias of a url. It is used to represent the url.", "title": "Url Alias", "required": [ "url" ], "x-vmw-nsx-module": "NsxDashboard", "type": "object", "properties": { "url": { "maxLength": 1024, "type": "string", "description": "Url to fetch data from.", "title": "Url" }, "alias": { "maxLength": 255, "type": "string", "description": "Short name or alias of url, if any. If not specified, the url can be referenced by its index in the array of urls of the datasource instance as $ (for example, $0).", "title": "Url Alias Name" }, "query": { "maxLength": 1024, "type": "string", "description": "Search query to be applied, if any. If query string is not provided, it will be ignored.", "title": "Search query of the search api, if any" } } }, "ByodServiceInstance": { "x-vmw-nsx-module": "ServiceInsertionCommonTypes", "allOf": [ { "$ref": "#/definitions/BaseServiceInstance" }, { "required": [ "deployment_mode" ], "x-vmw-nsx-module": "ServiceInsertionCommonTypes", "type": "object", "properties": { "deployment_mode": { "description": "Deployment mode specifies where the partner appliance will be deployed in HA or non-HA i.e standalone mode.", "title": "Deployment Mode", "default": "ACTIVE_STANDBY", "enum": [ "STAND_ALONE", "ACTIVE_STANDBY" ], "readOnly": false, "type": "string" } } } ], "description": "ByodServiceInstance is a custom instance to be used when NSX is not handling the lifecycles of appliance/s. User will manage their own appliance (BYOD) to connect with NSX.", "title": "Custom Instance of a service" }, "StaticRouteListResult": { "x-vmw-nsx-module": "Routing", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "Routing", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/StaticRoute" }, "type": "array", "description": "Paginated list of static routes", "title": "Paginated list of static routes" } } } ] }, "Tier1": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "force_whitelisting": { "default": false, "type": "boolean", "description": "Flag to add whitelisting FW rule during realization", "title": "Flag to add whitelisting FW rule during realization" }, "tier0_path": { "type": "string", "description": "Specify tier-1 connectivity to Tier-0 instance.\n", "title": "Tier-1 connectivity to Tier-0" }, "default_rule_logging": { "default": false, "type": "boolean", "description": "Indicates if logging should be enabled for the default whitelisting rule.\n", "title": "Enable logging for whitelisted rule" }, "dhcp_config_paths": { "description": "DHCP relay configuration for Segments connected to Tier-1.\nDHCP service is enabled in relay mode. This property must be\nconfigured before connecting Segments.\n", "title": "DHCP relay configuration for Segments connected to Tier-1", "minItems": 0, "items": { "type": "string" }, "maxItems": 1, "type": "array" } } } ], "description": "Tier-1 instance configuration.\n", "title": "Tier-1" }, "Tier0": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "transit_subnets": { "items": { "type": "string", "format": "ip-cidr-block" }, "type": "array", "description": "Specify transit subnets that are used to assign addresses to logical links\nconnecting tier-0 and tier-1s. Both IPv4 and IPv6 addresses are supported.\n", "title": "Transit subnets in CIDR format" }, "ha_mode": { "default": "ACTIVE_ACTIVE", "enum": [ "ACTIVE_ACTIVE", "ACTIVE_STANDBY" ], "type": "string", "description": "Specify high-availability mode for Tier-0. Default is ACTIVE_ACTIVE.\n", "title": "High-availability Mode for Tier-0" }, "force_whitelisting": { "default": false, "type": "boolean", "description": "Flag to add whitelisting FW rule during realization", "title": "Flag to add whitelisting FW rule during realization" }, "default_rule_logging": { "default": false, "type": "boolean", "description": "Indicates if logging should be enabled for the default whitelisting rule.\n", "title": "Enable logging for whitelisted rule" } } } ], "description": "Tier-0 configuration for external connectivity.", "title": "Tier-0 configuration" }, "LogicalPortMirrorDestination": { "x-vmw-nsx-module": "PortMirroring", "allOf": [ { "$ref": "#/definitions/MirrorDestination" }, { "x-vmw-nsx-module": "PortMirroring", "required": [ "port_ids" ], "type": "object", "properties": { "port_ids": { "description": "Destination logical port identifier list.", "title": "Destination logical port identifier list.", "minItems": 1, "items": { "type": "string" }, "maxItems": 3, "type": "array" } } } ] }, "VtepListResult": { "x-vmw-nsx-module": "AggSvcLogicalSwitch", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "AggSvcLogicalSwitch", "type": "object", "properties": { "last_update_timestamp": { "description": "Timestamp when the data was last updated; unset if data source has never updated the data.", "format": "int64", "readOnly": true, "type": "integer" }, "logical_switch_id": { "readOnly": true, "type": "string", "description": "The id of the logical Switch", "title": "The id of the logical Switch" }, "results": { "items": { "$ref": "#/definitions/VtepTableEntry" }, "type": "array" }, "transport_node_id": { "readOnly": true, "type": "string", "description": "Transport node identifier", "title": "Transport node identifier" } } } ] }, "IpBlock": { "x-vmw-nsx-module": "Ipam", "description": "A block of IPv4 addresses defined by a start address and a mask/prefix (network CIDR). An IP block is typically large & allocated to a tenant for automated consumption. An IP block is always a contiguous address space, for example 192.0.0.1/8. An IP block can be further subdivided into subnets called IP block subnets. These IP block subnets can later be added to IP pools and used for IP allocation. An IP pool is typically a collection of subnets that are often not a contiguous address space. Clients are allocated IP addresses only from IP pools. Sample Structure Diagram IpBlock_VMware 192.0.0.1/8 ======================================================================= / ___________________________________________/________ / IpBlockSubnet_Finance ( IpBlockSubnet_Eng1 IpBlockSubnet_Eng2 / ) / 192.168.0.1/16 ( 192.170.1.1/16 192.180.1.1/24 / ) IpPool_Eng / (___________________________________________/________) / / =======================================================================", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "Ipam", "required": [ "cidr" ], "type": "object", "properties": { "cidr": { "format": "ipv4-cidr-block", "type": "string", "description": "Represents network address and the prefix length which will be associated with a layer-2 broadcast domain", "title": "Represents network address and the prefix length which will be associated with a layer-2 broadcast domain" } } } ] }, "IpfixCollectorUpmProfile": { "x-vmw-nsx-module": "UpmIpfixCollector", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "required": [ "resource_type", "collectors" ], "x-vmw-nsx-module": "UpmIpfixCollector", "type": "object", "properties": { "resource_type": { "description": "All IPFIX collector profile types.", "enum": [ "IpfixCollectorUpmProfile" ], "readOnly": false, "type": "string" }, "collectors": { "description": "IPFIX Collector Set", "title": "IPFIX Collector Set", "minItems": 1, "items": { "$ref": "#/definitions/IpfixCollector" }, "maxItems": 4, "type": "array" } } } ], "description": "The configuration for Internet protocol flow information export (IPFIX)\ncollector. It should be referenced in other IPFIX profile as a collecor\nconfig. The IPFIX exporter will send records to these collectors.\n", "title": "IPFIX Collector Profile" }, "NSGroupSimpleExpression": { "x-vmw-nsx-module": "NSGroup", "allOf": [ { "$ref": "#/definitions/NSGroupExpression" }, { "required": [ "target_property", "target_type", "value", "op" ], "x-vmw-nsx-module": "NSGroup", "type": "object", "properties": { "target_resource": { "readOnly": true, "title": "Reference of the target", "description": "Reference of the target. Will be populated when\nthe property is a resource id, the op (operator) is EQUALS and\npopulate_references is set to be true.\n", "$ref": "#/definitions/ResourceReference" }, "target_property": { "type": "string", "description": "Field of the resource on which this expression is evaluated", "title": "Field of the resource on which this expression is evaluated" }, "target_type": { "description": "Type of the resource on which this expression is evaluated", "enum": [ "NSGroup", "IPSet", "MACSet", "LogicalSwitch", "LogicalPort", "VirtualMachine", "DirectoryGroup" ], "type": "string" }, "value": { "type": "string", "description": "Value that satisfies this expression", "title": "Value that satisfies this expression" }, "op": { "enum": [ "EQUALS", "CONTAINS", "STARTSWITH" ], "type": "string", "description": "Operator of the expression", "title": "Operator of the expression" } } } ], "description": "Simple expressions to represent NSGroup membership", "title": "Simple expressions to represent NSGroup membership" }, "LBVirtualServerListResult": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/LBVirtualServer" }, "type": "array", "description": "LBVirtualServer list results", "title": "LBVirtualServer list results" } } } ], "description": "Paged Collection of LBVirtualServers", "title": "Paged Collection of LBVirtualServers" }, "ComputeCollectionTransportNodeTemplateStateList": { "x-vmw-nsx-module": "TransportNode", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "TransportNode", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/ComputeCollectionTransportNodeTemplateState" }, "readOnly": true, "type": "array", "description": "State list per compute collection", "title": "State list per compute collection" } } } ], "description": "Transport node creation state list", "title": "Transport node creation state list" }, "StaticRoute": { "x-vmw-nsx-module": "Routing", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "Routing", "required": [ "next_hops", "network" ], "type": "object", "properties": { "next_hops": { "minItems": 1, "items": { "$ref": "#/definitions/StaticRouteNextHop" }, "type": "array", "description": "Next Hops", "title": "Next Hops" }, "logical_router_id": { "readOnly": true, "type": "string", "description": "Logical router id", "title": "Logical router id" }, "network": { "description": "CIDR", "format": "ipv4-cidr-block", "type": "string" } } } ] }, "Label": { "description": "Label that will be displayed for a UI element.", "title": "Label", "required": [ "text" ], "x-vmw-nsx-module": "NsxDashboard", "type": "object", "properties": { "text": { "maxLength": 255, "type": "string", "description": "Text to be displayed at the label.", "title": "Label text" }, "hover": { "default": false, "type": "boolean", "description": "If true, displays the label only on hover", "title": "Show label only on hover" }, "navigation": { "maxLength": 1024, "type": "string", "description": "Hyperlink of the specified UI page that provides details.", "title": "Navigation to a specified UI page" }, "condition": { "maxLength": 1024, "type": "string", "description": "If the condition is met then the label will be applied. Examples of expression syntax are provided under example_request section of CreateWidgetConfiguration API.", "title": "Expression for evaluating condition" }, "icons": { "minItems": 0, "items": { "$ref": "#/definitions/Icon" }, "type": "array", "description": "Icons to be applied at dashboard for the label", "title": "Icons" } } }, "LBTcpMonitorProfile": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/LBActiveMonitor" }, { "x-vmw-nsx-module": "ManagerNode", "type": "object" } ], "description": "Active healthchecks are disabled by default and can be enabled for a\nserver pool by binding a health monitor to the Group through the\nLBRule object. This represents active health monitoring over TCP.\nActive healthchecks are initiated periodically, at a configurable\ninterval, to each member of the Group. Only if a healthcheck fails\nconsecutively for a specified number of times (fall_count) to a member\nwill the member status be marked DOWN. Once a member is DOWN, a specified\n number of consecutive successful healthchecks (rise_count) will bring\n the member back to UP state. After a healthcheck is initiated, if it\n does not complete within a certain period, then also\nthe healthcheck is considered to be unsuccessful. Completing a\nhealthcheck within timeout means establishing a connection (TCP or SSL),\nif applicable, sending the request and receiving the response, all within\nthe configured timeout.\n", "title": "LBMonitorProfile for active health checks over TCP" }, "LogicalRouterPort": { "x-vmw-nsx-module": "LogicalRouterPorts", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "discriminator": "resource_type", "x-vmw-nsx-module": "LogicalRouterPorts", "required": [ "logical_router_id", "resource_type" ], "type": "object", "properties": { "logical_router_id": { "type": "string", "description": "Identifier for logical router on which this port is created", "title": "Identifier for logical router on which this port is created" }, "service_bindings": { "items": { "$ref": "#/definitions/ServiceBinding" }, "type": "array", "description": "Service Bindings", "title": "Service Bindings" }, "resource_type": { "description": "LogicalRouterUpLinkPort is allowed only on TIER0 logical router.\n It is the north facing port of the logical router.\nLogicalRouterLinkPortOnTIER0 is allowed only on TIER0 logical router.\n This is the port where the LogicalRouterLinkPortOnTIER1 of TIER1 logical router connects to.\nLogicalRouterLinkPortOnTIER1 is allowed only on TIER1 logical router.\n This is the port using which the user connected to TIER1 logical router for upwards connectivity via TIER0 logical router.\n Connect this port to the LogicalRouterLinkPortOnTIER0 of the TIER0 logical router.\nLogicalRouterDownLinkPort is for the connected subnets on the logical router.\nLogicalRouterLoopbackPort is a loopback port for logical router component\n which is placed on chosen edge cluster member.\nLogicalRouterIPTunnelPort is a IPSec VPN tunnel port created on\n logical router when route based VPN session configured.\nLogicalRouterCentralizedServicePort is allowed only on Active/Standby TIER0 and TIER1\n logical router. Port can be connected to VLAN or overlay logical switch.\n Unlike downlink port it does not participate in distributed routing and hosted\n on all edge cluster members associated with logical router.\n Stateful services can be applied on this port.\n", "enum": [ "LogicalRouterUpLinkPort", "LogicalRouterDownLinkPort", "LogicalRouterLinkPortOnTIER0", "LogicalRouterLinkPortOnTIER1", "LogicalRouterLoopbackPort", "LogicalRouterIPTunnelPort", "LogicalRouterCentralizedServicePort" ], "type": "string" } } } ] }, "RouteMapListResult": { "x-vmw-nsx-module": "Routing", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "Routing", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/RouteMap" }, "type": "array", "description": "Paginated list of RouteMaps", "title": "Paginated list of RouteMaps" } } } ] }, "EmbeddedResource": { "x-vmw-nsx-module": "Common", "allOf": [ { "$ref": "#/definitions/RevisionedResource" }, { "x-vmw-nsx-module": "Common", "type": "object", "properties": { "_owner": { "readOnly": true, "title": "Owner of this resource", "description": "Owner of this resource", "$ref": "#/definitions/OwnerResourceLink" }, "display_name": { "maxLength": 255, "type": "string", "description": "Defaults to ID if not set", "title": "Identifier to use when displaying entity in logs or GUI" }, "id": { "readOnly": true, "type": "string", "description": "Identifier of the resource" }, "resource_type": { "readOnly": false, "type": "string", "description": "The type of this resource." }, "description": { "maxLength": 1024, "type": "string", "description": "Description of this resource", "title": "Description of this resource" } } } ], "description": "Base class for resources that are embedded in other resources", "title": "Base class for resources that are embedded in other resources" }, "ConstraintExpression": { "x-vmw-nsx-module": "PolicyConstraints", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "required": [ "resource_type" ], "discriminator": "resource_type", "x-vmw-nsx-module": "PolicyConstraints", "type": "object", "properties": { "resource_type": { "enum": [ "ValueConstraintExpression", "RelatedAttributeConditionalExpression", "EntityInstanceCountConstraintExpression", "FieldSanityConstraintExpression" ], "type": "string" } } } ], "description": "All the types of the expression extend from this abstract class.\nThis is present for extensibility.\n", "title": "Base class for constraint expression" }, "BaseTier0InterfaceListResult": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/BaseTier0Interface" }, "type": "array", "description": "List of all Interface results including tier-0 interfaces and service interfaces.", "title": "List of all Interface results" } } } ], "description": "Paged collection of all Interfaces", "title": "Paged collection of all Interfaces" }, "ChildLocaleServices": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "LocaleServices" ], "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "LocaleServices": { "title": "LocaleServices", "description": "Contains the actual LocaleServices object\n", "$ref": "#/definitions/LocaleServices" } } } ], "description": "Child wrapper object for LocaleServices, used in hierarchical API", "title": "Wrapper object for LocaleServices" }, "PrefixConfig": { "x-vmw-nsx-module": "Routing", "required": [ "action" ], "type": "object", "properties": { "action": { "description": "Action for the IPPrefix", "enum": [ "PERMIT", "DENY" ], "type": "string" }, "ge": { "description": "Greater than or equal to", "format": "int64", "title": "Greater than or equal to", "maximum": 32, "minimum": 1, "type": "integer" }, "le": { "description": "Less than or equal to", "format": "int64", "title": "Less than or equal to", "maximum": 32, "minimum": 1, "type": "integer" }, "network": { "description": "If absent, the action applies to all addresses.", "format": "ipv4-cidr-block", "type": "string" } } }, "MACSetListResult": { "x-vmw-nsx-module": "MACSet", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "MACSet", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/MACSet" }, "type": "array", "description": "Paged collection of MACSets", "title": "Paged collection of MACSets" } } } ] }, "ColumnItem": { "description": "Represents a column of the Grid", "title": "Grid Column", "required": [ "field", "type", "label" ], "x-vmw-nsx-module": "NsxDashboard", "type": "object", "properties": { "sort_key": { "maxLength": 255, "type": "string", "description": "Sorting on column is based on the sort_key. sort_key represents the field in the output data on which sort is requested.", "title": "Key for sorting on this column" }, "type": { "description": "Data type of the field.", "title": "Field data type", "default": "String", "enum": [ "String", "Number", "Date" ], "maxLength": 255, "type": "string" }, "tooltip": { "items": { "$ref": "#/definitions/Tooltip" }, "type": "array", "description": "Multi-line text to be shown on tooltip while hovering over a cell in the grid.", "title": "Multi-line tooltip" }, "label": { "readOnly": false, "title": "Column Label", "description": "Label of the column.", "$ref": "#/definitions/Label" }, "field": { "maxLength": 1024, "type": "string", "description": "Field from which values of the column will be derived.", "title": "Column Field" }, "sort_ascending": { "default": true, "type": "boolean", "description": "If true, the value of the column are sorted in ascending order. Otherwise, in descending order.", "title": "Represents order of sorting the values" }, "drilldown_id": { "maxLength": 255, "type": "string", "description": "Id of drilldown widget, if any. Id should be a valid id of an existing widget.", "title": "Id of drilldown widget" }, "hidden": { "default": false, "type": "boolean", "description": "If set to true, hides the column", "title": "Hide the column" }, "navigation": { "maxLength": 1024, "type": "string", "description": "Hyperlink of the specified UI page that provides details. If drilldown_id is provided, then navigation cannot be used.", "title": "Navigation to a specified UI page" }, "column_identifier": { "type": "string", "description": "Identifies the column and used for fetching content upon an user click or drilldown. If column identifier is not provided, the column's data will not participate in searches and drilldowns.", "title": "Identifier for this column" }, "render_configuration": { "items": { "$ref": "#/definitions/RenderConfiguration" }, "type": "array", "description": "Render configuration to be applied, if any.", "title": "Render Configuration" } } }, "ChildStaticARPConfig": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "StaticARPConfig" ], "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "StaticARPConfig": { "title": "StaticARPConfig", "description": "Contains the actual StaticARPConfig object.\n", "$ref": "#/definitions/StaticARPConfig" } } } ], "description": "Child wrapper object for StaticARPConfig, used in hierarchical API.", "title": "Wrapper object for StaticARPConfig" }, "SegmentAdvancedConfig": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/ConnectivityAdvancedConfig" }, { "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "local_egress": { "default": false, "type": "boolean", "description": "This property is used to enable proximity routing with local egress.\nWhen set to true, logical router interface (downlink) connecting\nSegment to Tier0/Tier1 gateway is configured with prefix-length 32.\n", "title": "Flag to enable local egress" } } } ], "description": "Advanced configuration for Segment", "title": "Advanced configuration for Segment" }, "ClusterProfile": { "x-vmw-nsx-module": "ClusterProfile", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "discriminator": "resource_type", "x-vmw-nsx-module": "ClusterProfile", "required": [ "resource_type" ], "type": "object", "properties": { "resource_type": { "description": "Supported cluster profiles.", "enum": [ "EdgeHighAvailabilityProfile", "BridgeHighAvailabilityClusterProfile" ], "type": "string" } } } ] }, "FirewallService": { "x-vmw-nsx-module": "Firewall", "allOf": [ { "$ref": "#/definitions/DSService" }, { "x-vmw-nsx-module": "Firewall", "type": "object" } ] }, "Uplink": { "description": "Object to identify an uplink based on its type and name", "title": "Object to identify an uplink based on its type and name", "required": [ "uplink_name", "uplink_type" ], "x-vmw-nsx-module": "UplinkHostSwitchProfile", "type": "object", "properties": { "uplink_name": { "type": "string", "description": "Name of this uplink", "title": "Name of this uplink" }, "uplink_type": { "enum": [ "PNIC", "LAG" ], "type": "string", "description": "Type of the uplink", "title": "Type of the uplink" } } }, "RouteBasedL3VpnSession": { "x-vmw-nsx-module": "PolicyL3Vpn", "allOf": [ { "$ref": "#/definitions/L3VpnSession" }, { "required": [ "tunnel_subnets" ], "x-vmw-nsx-module": "PolicyL3Vpn", "type": "object", "properties": { "routing_config_path": { "type": "string", "description": "Policy path referencing the bgp neighbor for a route based L3Vpn.\n- For an L3Vpn transporting L2Vpn, it is not necessary to provide bgp neighbor\nconfiguration.\n- For an L3Vpn not transporting L2Vpn, this property is necessary.\n", "title": "Routing configuration policy path" }, "tunnel_subnets": { "description": "Virtual tunnel interface (VTI) port IP subnets to be used to configure\nroute-based L3Vpn session. A max of one tunnel subnet is allowed.\n", "title": "Virtual Tunnel Interface (VTI) IP subnets", "minItems": 1, "items": { "$ref": "#/definitions/TunnelSubnet" }, "maxItems": 1, "uniqueItems": true, "type": "array" }, "default_rule_logging": { "default": false, "type": "boolean", "description": "Indicates if logging should be enabled for the default whitelisting\nrule for the VTI interface.\n", "title": "Enable logging for whitelisted rule for the VTI interface" }, "force_whitelisting": { "default": false, "type": "boolean", "description": "The default firewall rule Action is set to DROP if true otherwise set to ALLOW.\n", "title": "Flag to add default whitelisting FW rule for the VTI interface." } } } ], "description": "A Route Based L3Vpn is more flexible, more powerful and recommended over policy based.\nIP Tunnel subnet is created and all traffic routed through tunnel subnet is sent over\ntunnel. Routes can be learned through BGP. A route based L3Vpn is required when using\nredundant L3Vpn.\n", "title": "Route based L3Vpn Session" }, "DirectoryAdGroup": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/DirectoryGroup" }, { "x-vmw-nsx-module": "ManagerNode", "required": [ "object_guid", "secure_id" ], "type": "object", "properties": { "object_guid": { "type": "string", "description": "GUID is a 128-bit value that is unique not only in the enterprise but also across the world. GUIDs are assigned to every object created by Active Directory, not just User and Group objects.", "title": "Active directory group object guid" }, "secure_id": { "type": "string", "description": "A security identifier (SID) is a unique value of variable length used to identify a trustee. A SID consists of the following components - The revision level of the SID structure; A 48-bit identifier authority value that identifies the authority that issued the SID; A variable number of subauthority or relative identifier (RID) values that uniquely identify the trustee relative to the authority that issued the SID.", "title": "Active directory group secure id" } } } ] }, "CrlObjectData": { "x-vmw-nsx-module": "CertificateManager", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "CertificateManager", "required": [ "pem_encoded" ], "type": "object", "properties": { "pem_encoded": { "readOnly": false, "type": "string", "description": "pem encoded crl data" } } } ] }, "ChildRule": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "Rule" ], "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "Rule": { "title": "Rule", "description": "Contains the actual Rule object\n", "$ref": "#/definitions/Rule" } } } ], "description": "Child wrapper object for Rule, used in hierarchical API", "title": "Wrapper object for Rule" }, "HostSwitchState": { "x-vmw-nsx-module": "TransportNode", "type": "object", "description": "Host Switch State", "properties": { "host_switch_id": { "readOnly": true, "type": "string", "description": "External ID of the HostSwitch", "title": "External ID of the HostSwitch" }, "endpoints": { "items": { "$ref": "#/definitions/Endpoint" }, "readOnly": true, "type": "array", "description": "List of virtual tunnel endpoints which are configured on this switch", "title": "List of virtual tunnel endpoints which are configured on this switch" }, "transport_zone_ids": { "items": { "type": "string" }, "readOnly": true, "type": "array", "description": "List of Ids of TransportZones this HostSwitch belongs to", "title": "List of Ids of TransportZones this HostSwitch belongs to" }, "host_switch_name": { "readOnly": true, "type": "string", "description": "The name must be unique among all host switches specified in a given Transport Node.", "title": "HostSwitch name. This name will be used to reference this HostSwitch." } }, "title": "Host Switch State" }, "DSService": { "x-vmw-nsx-module": "DistributedServices", "allOf": [ { "$ref": "#/definitions/ResourceReference" }, { "x-vmw-nsx-module": "DistributedServices", "type": "object", "properties": { "service": { "readOnly": false, "title": "Distributed Service Network and Security Service element", "description": "Distributed Service API accepts raw protocol and ports as part of NS service element\nin Distributed Service Rule that describes traffic corresponding to an NSService.\n", "$ref": "#/definitions/NSServiceElement" } } } ] }, "LBServerSslProfileBinding": { "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "server_auth_ca_paths": { "items": { "type": "string" }, "type": "array", "description": "If server auth type is REQUIRED, server certificate must be signed by\none of the trusted Certificate Authorities (CAs), also referred to as\nroot CAs, whose self signed certificates are specified.\n", "title": "CA path list to verify server certificate" }, "ssl_profile_path": { "type": "string", "description": "Server SSL profile defines reusable, application-independent server side\nSSL properties.\n", "title": "server SSL profile path" } } }, "HostNode": { "x-vmw-nsx-module": "FabricNode", "allOf": [ { "$ref": "#/definitions/Node" }, { "x-vmw-nsx-module": "FabricNode", "required": [ "os_type" ], "type": "object", "properties": { "os_version": { "type": "string", "description": "The version of the hypervisor operating system.", "title": "The version of the hypervisor operating system." }, "os_type": { "enum": [ "ESXI", "RHELKVM", "UBUNTUKVM", "HYPERV", "RHELCONTAINER", "RHELSERVER", "UBUNTUSERVER", "CENTOSSERVER", "CENTOSKVM" ], "type": "string", "description": "Hypervisor type, for example ESXi or RHEL KVM.", "title": "Hypervisor type, for example ESXi or RHEL KVM." }, "managed_by_server": { "readOnly": true, "type": "string", "description": "The id of the virtual center server managing the ESXi type HostNode.", "title": "The id of the virtual center server managing the ESXi type HostNode." }, "host_credential": { "title": "Login credentials for the host", "description": "Login credentials for the host", "$ref": "#/definitions/HostNodeLoginCredential" }, "discovered_node_id": { "readOnly": true, "type": "string", "description": "Id of the discovered node which was converted to create this node", "title": "Id of the discovered node which was converted to create this node" } } } ] }, "TransportZoneProfileTypeIdEntry": { "x-vmw-nsx-module": "TransportZoneProfile", "required": [ "profile_id" ], "type": "object", "properties": { "profile_id": { "readOnly": false, "type": "string", "description": "profile id of the resource type" }, "resource_type": { "description": "Selects the type of the transport zone profile", "enum": [ "BfdHealthMonitoringProfile" ], "type": "string" } } }, "NodeFileSystemProperties": { "x-vmw-nsx-module": "ApplianceStats", "type": "object", "description": "File system properties", "properties": { "mount": { "readOnly": true, "type": "string", "description": "File system mount", "title": "File system mount" }, "total": { "readOnly": true, "format": "int64", "type": "integer", "description": "File system size in kilobytes", "title": "File system size in kilobytes" }, "type": { "readOnly": true, "type": "string", "description": "File system type", "title": "File system type" }, "file_system": { "readOnly": true, "type": "string", "description": "File system id", "title": "File system id" }, "used": { "readOnly": true, "format": "int64", "type": "integer", "description": "Amount of file system used in kilobytes", "title": "Amount of file system used in kilobytes" } }, "title": "File system properties" }, "ServiceInterfaceListResult": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/ServiceInterface" }, "type": "array", "description": "Service Interface list results", "title": "Service Interface list results" } } } ], "description": "Paged collection of Service Interfaces", "title": "Paged collection of Service Interfaces" }, "ComputeCollectionNetworkInterfacesListResult": { "x-vmw-nsx-module": "InventoryCmObj", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "InventoryCmObj", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/DiscoveredNodeNetworkInterfaces" }, "type": "array", "description": "List of discovered node with network interfaces", "title": "Discovered node network interfaces" } } } ], "description": "List of network interfaces for all discovered nodes in compute collection", "title": "ComputeCollection Interfaces List Result" }, "PBRSectionListResult": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/PBRSection" }, "readOnly": true, "type": "array", "description": "List of the PBR sections.", "title": "Section list" } } } ] }, "ChildStaticRoutes": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "StaticRoutes" ], "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "StaticRoutes": { "title": "StaticRoutes", "description": "Contains the actual StaticRoutes object.\n", "$ref": "#/definitions/StaticRoutes" } } } ], "description": "Child wrapper object for StaticRoutes, used in hierarchical API.", "title": "Wrapper object for StaticRoutes" }, "AssociationListResult": { "x-vmw-nsx-module": "Association", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "Association", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/ResourceReference" }, "type": "array", "description": "Paged Collection of ResourceReference", "title": "Paged Collection of ResourceReference" } } } ] }, "MacRange": { "x-vmw-nsx-module": "MACAM", "required": [ "start", "end" ], "type": "object", "description": "A range of MAC addresses with a start and end value", "properties": { "start": { "description": "Start value for MAC address range", "pattern": "/^(([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2}))|(([0-9A-Fa-f]{2}[-]){5}([0-9A-Fa-f]{2}))$/", "readOnly": false, "type": "string" }, "end": { "description": "End value for MAC address range", "pattern": "/^(([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2}))|(([0-9A-Fa-f]{2}[-]){5}([0-9A-Fa-f]{2}))$/", "readOnly": false, "type": "string" } } }, "L4PortSetNSService": { "x-vmw-nsx-module": "Types", "allOf": [ { "$ref": "#/definitions/NSServiceElement" }, { "required": [ "l4_protocol" ], "x-vmw-nsx-module": "Types", "type": "object", "properties": { "destination_ports": { "items": { "description": "Examples- Single port \"8080\", Range of ports \"8090-8095\"\n", "format": "port-or-range", "type": "string" }, "type": "array", "description": "Destination ports", "maxItems": 15, "title": "Destination ports" }, "l4_protocol": { "enum": [ "TCP", "UDP" ], "type": "string" }, "source_ports": { "items": { "description": "Examples- Single port \"8080\", Range of ports \"8090-8095\"\n", "format": "port-or-range", "type": "string" }, "type": "array", "description": "Source ports", "maxItems": 15, "title": "Source ports" } } } ], "description": "L4PortSet can be specified in comma separated notation of parts. Parts of a\nL4PortSet includes single integer or range of port in hyphen notation.\nExample of a PortSet: \"22, 33-70, 44\".\n", "title": "An NSService element that represents TCP or UDP protocol" }, "HostSwitchProfilesListResult": { "x-vmw-nsx-module": "BaseHostSwitchProfile", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "BaseHostSwitchProfile", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/BaseHostSwitchProfile" }, "readOnly": true, "type": "array", "description": "HostSwitch Profile Results", "title": "HostSwitch Profile Results" } } } ], "description": "HostSwitch Profile queries result", "title": "HostSwitch Profile queries result" }, "ClusterRoleConfig": { "x-vmw-nsx-module": "ClusterManagement", "type": "object", "properties": { "type": { "readOnly": true, "enum": [ "ManagementClusterRoleConfig", "ControllerClusterRoleConfig" ], "type": "string", "description": "Type of this role configuration", "title": "Type of this role configuration" } } }, "LogicalServiceListResult": { "x-vmw-nsx-module": "LogicalService", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "LogicalService", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/LogicalService" }, "type": "array", "description": "Logical router service list results", "title": "Logical router service list results" } } } ] }, "DirectoryDomainSyncStats": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "prev_sync_status": { "readOnly": true, "enum": [ "SUCCESS", "FAILURE", "UNKNOWN" ], "type": "string", "description": "Directory domain previous sync status. It could be one of the following two states.", "title": "Previous sync status" }, "avg_full_sync_time": { "readOnly": true, "format": "int64", "type": "integer", "description": "All the historical full sync are counted in calculating the average full sync time in seconds.", "title": "Average time spent for all historical full sync" }, "prev_sync_type": { "readOnly": true, "enum": [ "IDLE", "FULL_SYNC", "DELTA_SYNC" ], "type": "string", "description": "Directory domain previous sync type. It could be one of the following three states. Right after the directory domain is configured, this field is set to IDLE.", "title": "Previous sync type" }, "num_full_sync": { "readOnly": true, "format": "int64", "type": "integer", "description": "number of historical full sync initiated either by system or by API request.", "title": "Total number of full sync" }, "current_state_begin_time": { "description": "Since what time the current state has begun. The time is expressed in millisecond epoch time.", "format": "int64", "readOnly": true, "type": "integer" }, "avg_delta_sync_time": { "readOnly": true, "format": "int64", "type": "integer", "description": "All the historical delta sync are counted in calculating the average delta sync time in seconds.", "title": "Average time spent for all historical delta sync" }, "current_state": { "readOnly": true, "enum": [ "IDLE", "FULL_SYNC", "DELTA_SYNC" ], "type": "string", "description": "Current running state of the directory domain in synchronization life cycle. It could be one of the following three states.", "title": "Current state of directory domain sync context" }, "num_delta_sync": { "readOnly": true, "format": "int64", "type": "integer", "description": "number of historical delta sync initiated either by system or by API request.", "title": "Total number of delta sync" }, "prev_sync_end_time": { "description": "Directory domain previous sync ending time expressed in millisecond epoch time.", "format": "int64", "readOnly": true, "type": "integer" } } } ], "description": "Directory Domain Synchronization Statistics", "title": "Directory Domain Synchronization Statistics" }, "IpPool": { "x-vmw-nsx-module": "Ipam", "description": "A collection of one or more IPv4 or IPv6 subnets or ranges that are often not a contiguous address space. Clients are allocated IPs from an IP pool. Often used when a client that consumes addresses exhausts an initial subnet or range and needs to be expanded but the adjoining address space is not available as it has been allocated to a different client.", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "Ipam", "type": "object", "properties": { "subnets": { "items": { "$ref": "#/definitions/IpPoolSubnet" }, "type": "array", "description": "Subnets can be IPv4 or IPv6 and they should not overlap. The maximum number will not exceed 5 subnets.", "maxItems": 5, "title": "The collection of one or more subnet objects in a pool" }, "pool_usage": { "readOnly": true, "title": "Pool usage statistics", "description": "Pool usage statistics", "$ref": "#/definitions/PoolUsage" } } } ] }, "MACSet": { "x-vmw-nsx-module": "MACSet", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "MACSet", "type": "object", "properties": { "mac_addresses": { "items": { "description": "A MAC address. Must be 6 pairs of hexadecimal digits, upper or lower case,\nseparated by colons or dashes. Examples: 01:23:45:67:89:ab, 01-23-45-67-89-AB.\n", "pattern": "/^(([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2}))|(([0-9A-Fa-f]{2}[-]){5}([0-9A-Fa-f]{2}))$/", "type": "string" }, "type": "array", "description": "MAC addresses", "maxItems": 4000, "title": "MAC addresses" } } } ], "description": "MACSet is used to group individual MAC addresses. MACSets can be used as\nsources and destinations in layer2 firewall rules. These can also be used as\nmembers of NSGroups.\n", "title": "Set of one or more MAC addresses" }, "LBHttpRequestUriCondition": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/LBRuleCondition" }, { "required": [ "uri" ], "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "uri": { "type": "string", "description": "A string used to identify resource", "title": "A string used to identify resource" } } } ], "description": "This condition is used to match URIs(Uniform Resource Identifier) of\nHTTP request messages. The URI field can be specified as a regluar\nexpression. If an HTTP request message is requesting an URI which\nmatches specified regular expression, it matches the condition. The\nsyntax of whole URI looks like this:\nscheme:[//[user[:password]@]host[:port]][/path][?query][#fragment]\nThis condition matches only the path part of entire URI. The path_match\nfield is used as a regular expression to match URI path of HTTP\nrequests. For example, to match any URI that has \"/image/\" or\n\"/images/\", uri field can be specified as: \"/image[s]?/\". The regular\n expressions in load balancer rules use the features common to both\n Java regular expressions and Perl Compatible Regular Expressions\n (PCREs) with some restrictions. Reference http://www.pcre .org for\n PCRE and the NSX-T Administrator's Guide for the restrictions.\n Please note, when regular expressions are used in JSON (JavaScript\n Object Notation) string, every backslash character (\\) needs to be\n escaped by one additional backslash character.\n", "title": "Condition to match URIs of HTTP request messages" }, "RealizedNSGroupListResult": { "x-vmw-nsx-module": "PolicyRealizedState", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "PolicyRealizedState", "type": "object", "properties": { "results": { "items": { "title": "NSGroup list results", "$ref": "#/definitions/RealizedNSGroup" }, "readOnly": true, "type": "array", "description": "Paged Collection of realized NSGroups", "title": "Paged Collection of realized NSGroups" } } } ] }, "LBVirtualServerElement": { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "allOf": [ { "$ref": "#/definitions/Element" }, { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "type": "object", "properties": { "server_ip": { "description": "Virtual Server IP of the LB virtual server\n", "format": "ip", "readOnly": true, "type": "string" }, "server_pool": { "readOnly": true, "title": "Virtual server pool info", "description": "Virtual server pool info.\n", "$ref": "#/definitions/LBVirtualServerPool" }, "server_port": { "description": "Virtual Server port of the LB virtual server.\n", "title": "Virtual server port", "format": "int32", "maximum": 65535, "readOnly": true, "minimum": 0, "type": "integer" }, "runtime_status": { "readOnly": true, "enum": [ "UP", "PARTIALLY_UP", "PARTIALLY_DOWN", "DOWN", "DETACHED", "DISABLED" ], "type": "string", "description": "Virtual server runtime status\n", "title": "Virtual server status" } } } ], "description": "Load Balancer virtual server element information. It contains\ninformation about the virtual server ip and the server pool.\n", "title": "Load Balancer Virtual server element" }, "FirewallRule": { "x-vmw-nsx-module": "Firewall", "allOf": [ { "$ref": "#/definitions/DSRule" }, { "x-vmw-nsx-module": "Firewall", "type": "object", "properties": { "services": { "description": "List of the services. Null will be treated as any.", "title": "Service List", "items": { "$ref": "#/definitions/FirewallService" }, "readOnly": false, "maxItems": 128, "type": "array" }, "section_id": { "readOnly": true, "type": "string", "description": "Section Id of the section to which this rule belongs to.", "title": "Section Id" } } } ] }, "TransportZoneProfile": { "x-vmw-nsx-module": "TransportZoneProfile", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "discriminator": "resource_type", "x-vmw-nsx-module": "TransportZoneProfile", "required": [ "resource_type" ], "type": "object", "properties": { "resource_type": { "enum": [ "BfdHealthMonitoringProfile" ], "type": "string" } } } ] }, "ProcessConnection": { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "allOf": [ { "$ref": "#/definitions/Connection" }, { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "type": "object", "properties": { "latency": { "readOnly": true, "format": "int64", "type": "integer", "description": "Time taken for a packet of data to get from source process to destination process.\n", "title": "Latency" }, "protocol": { "readOnly": true, "enum": [ "INVALID", "TCP", "UDP" ], "type": "string", "description": "Type of protocol used by the processes for communication. Protocol type can be\nTCP, UDP or Invalid.\n", "title": "Protocol" }, "source_ports": { "items": { "type": "integer", "format": "int64" }, "readOnly": true, "type": "array", "description": "List of port numbers of all the source processes establishing a connection with\ndestination process.\n", "title": "Source ports" }, "packets_tx": { "readOnly": true, "format": "int64", "type": "integer", "description": "Packets transmitted by source process", "title": "Packets transmitted by source process" }, "packets_rx": { "readOnly": true, "format": "int64", "type": "integer", "description": "Packets received by destination process", "title": "Packets received by destination process" }, "dest_port": { "readOnly": true, "format": "int64", "type": "integer", "description": "Port number of the destination process to which the connection is established by\nsource processes.\n", "title": "Destination port" } } } ], "description": "ProcessConnection contains the statistic information of the connection between\ntwo processes.\n", "title": "ProcessConnection" }, "PnicBondStatusListResult": { "x-vmw-nsx-module": "Heatmap", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "Heatmap", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/PnicBondStatus" }, "type": "array", "description": "List of pNIC statuses belonging to the transport node", "title": "List of pNIC/bond statuses" } } } ], "description": "This object contains reference to list of pNIC/bond statuses", "title": "pNIC status list container" }, "UpdatePrincipalIdentityCertificateRequest": { "x-vmw-nsx-module": "CertificateManager", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "required": [ "principal_identity_id", "certificate_id" ], "x-vmw-nsx-module": "CertificateManager", "type": "object", "properties": { "principal_identity_id": { "readOnly": false, "maxLength": 255, "type": "string", "description": "Unique ID of the principal", "title": "Principal Identity ID" }, "certificate_id": { "readOnly": false, "type": "string", "description": "Id of the stored certificate", "title": "Id of the stored certificate" } } } ], "description": "Request to update the certificate of a principal identity with a new\ncertificate\n", "title": "Request to update the certificate of a principal identity" }, "ConsolidatedStatus": { "x-vmw-nsx-module": "PolicyRealizedState", "type": "object", "description": "Represents consolidated status of an object", "properties": { "consolidated_status": { "type": "string", "description": "Possible values could be SUCCESS, ERROR, UNAVAILABLE\nThis list is not exhaustive.\n", "title": "String representation of consolidated status" } }, "title": "Consolidated status" }, "LabelValueConfiguration": { "x-vmw-nsx-module": "NsxDashboard", "allOf": [ { "$ref": "#/definitions/WidgetConfiguration" }, { "required": [ "properties" ], "x-vmw-nsx-module": "NsxDashboard", "type": "object", "properties": { "navigation": { "maxLength": 1024, "type": "string", "description": "Hyperlink of the specified UI page that provides details.", "title": "Navigation to a specified UI page" }, "properties": { "items": { "$ref": "#/definitions/PropertyItem" }, "type": "array", "description": "An array of label-value properties.", "title": "Rows" } } } ], "description": "Represents a Label-Value widget configuration", "title": "Label Value Dashboard Widget Configuration" }, "ChildGatewayPolicy": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "GatewayPolicy" ], "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "GatewayPolicy": { "title": "GatewayPolicy", "description": "Contains the actual GatewayPolicy object\n", "$ref": "#/definitions/GatewayPolicy" } } } ], "description": "Child wrapper object for GatewayPolicy, used in hierarchical API", "title": "Wrapper object for GatewayPolicy" }, "FirewallRuleListResult": { "x-vmw-nsx-module": "Firewall", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "Firewall", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/FirewallRule" }, "readOnly": true, "type": "array", "description": "Firewall rule list result with pagination support.", "title": "Firewall rule list result" } } } ] }, "CommunityMatchExpression": { "description": "Community match expression", "title": "Community match expression", "required": [ "expression" ], "x-vmw-nsx-module": "Routing", "type": "object", "properties": { "operator": { "readOnly": true, "enum": [ "AND" ], "type": "string", "description": "Operator for evaluating community match expressions.\nAND logical AND operator\n", "title": "Operator" }, "expression": { "items": { "$ref": "#/definitions/CommunityMatchOperation" }, "type": "array", "description": "Array of community match operations", "title": "Array of community match operations" } } }, "AggregateL2VpnPeerConfig": { "description": "Aggregate of L2Vpn peer config across Enforcement Points.\n", "title": "Aggregate of L2Vpn Peer Config", "required": [ "l2vpn_path" ], "x-vmw-nsx-module": "PolicyL2Vpn", "type": "object", "properties": { "l2vpn_peer_config_per_enforcement_point": { "items": { "$ref": "#/definitions/L2VpnPeerConfigPerEnforcementPoint" }, "readOnly": true, "type": "array", "description": "List of L2Vpn peer config per Enforcement Point.\n", "title": "List of L2Vpn Peer config per Enforcement Point" }, "l2vpn_path": { "type": "string", "description": "Policy path referencing the L2Vpn.\n", "title": "L2Vpn Policy path" } } }, "ServiceEndpoint": { "x-vmw-nsx-module": "ClusterManagement", "required": [ "ip_address", "port" ], "type": "object", "properties": { "certificate_sha256_thumbprint": { "readOnly": true, "type": "string" }, "ip_address": { "description": "IPv4 or IPv6 address", "format": "ip", "type": "string" }, "fqdn": { "readOnly": true, "type": "string" }, "certificate": { "type": "string" }, "port": { "minimum": 0, "type": "integer", "maximum": 65535, "format": "int64" } } }, "NestedExpression": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/Expression" }, { "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "expressions": { "items": { "$ref": "#/definitions/Expression" }, "type": "array", "description": "Expression", "maxItems": 3, "title": "Expression" } } } ], "description": "Nested expressions must have three expression nodes. The first and third nodes must be\ncondition nodes and must have the same member type. The second must be a conjunction\noperator with the AND operator.\n", "title": "NestedExpression" }, "HostSwitchSpec": { "description": "The HostSwitchSpec is the base class for standard and preconfigured\nhost switch specifications.\n", "title": "Abstract base type for transport node host switch specification", "required": [ "resource_type" ], "discriminator": "resource_type", "x-vmw-nsx-module": "TransportNode", "type": "object", "properties": { "resource_type": { "enum": [ "StandardHostSwitchSpec", "PreconfiguredHostSwitchSpec" ], "type": "string" } } }, "BgpNeighborAddressFamily": { "x-vmw-nsx-module": "Routing", "required": [ "type" ], "type": "object", "properties": { "in_filter_ipprefixlist_id": { "type": "string", "description": "Id of the IPPrefix List to be used for IN direction filter", "title": "Id of the IPPrefix List to be used for IN direction filter" }, "out_filter_routemap_id": { "type": "string", "description": "Id of the RouteMap to be used for OUT direction filter", "title": "Id of the RouteMap to be used for OUT direction filter" }, "type": { "description": "Address family type", "enum": [ "IPV4_UNICAST", "VPNV4_UNICAST" ], "type": "string" }, "in_filter_routemap_id": { "type": "string", "description": "Id of the RouteMap to be used for IN direction filter", "title": "Id of the RouteMap to be used for IN direction filter" }, "enabled": { "default": true, "type": "boolean", "description": "Enable this address family", "title": "Enable this address family" }, "out_filter_ipprefixlist_id": { "type": "string", "description": "Id of the IPPrefixList to be used for OUT direction filter", "title": "Id of the IPPrefixList to be used for OUT direction filter" } } }, "Group": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "state": { "enum": [ "IN_PROGRESS", "SUCCESS", "FAILURE" ], "type": "string", "description": "Realization state of this group", "title": "Realization state of this group" }, "expression": { "items": { "$ref": "#/definitions/Expression" }, "type": "array", "description": "The expression list must follow below criteria:\n 1. A non-empty expression list, must be of odd size. In a list, with indices\n starting from 0, all conjunction expressions must be at odd indices, and all\n non-conjunction expressions must be at even indices.\n 2. There may be at most 5 non-conjunction expressions in a list.\n 3. All non-conjunction expressions must be of the same type, and must be Condition\n expressions or IPAddress expressions.\n 4. For IPAddressExpression nodes, OR is the only conjunction operator allowed.\n 5. For ConditionExpression, both OR and AND operators are allowed, but there\n must not be two consecutive AND operators.\n 6. All Condition expressions must have same member type.\n 7. Each expression must be a valid Expression. See the definition of the Expression\n type for more information.\n", "title": "Expression" } } } ], "description": "Group", "title": "Group" }, "Certificate": { "x-vmw-nsx-module": "CertificateManager", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "CertificateManager", "required": [ "pem_encoded" ], "type": "object", "properties": { "used_by": { "items": { "$ref": "#/definitions/NodeIdServicesMap" }, "readOnly": true, "type": "array", "description": "list of node IDs with services, that are using this certificate" }, "details": { "items": { "$ref": "#/definitions/X509Certificate" }, "readOnly": true, "type": "array", "description": "list of X509Certificates" }, "pem_encoded": { "readOnly": false, "type": "string", "description": "pem encoded certificate data" } } } ] }, "ExtraConfig": { "description": "Extra config is intended for supporting vendor specific configuration on the\ndata path, it can be set as key value string pairs on either logical switch\nor logical port.\nIf it was set on logical switch, it will be inherited automatically by logical\nports in it. Also logical port setting will override logical switch setting\nif specific key was dual set on both logical switch and logical port.\n", "title": "Vendor specific configuration on logical switch or logical port", "required": [ "config_pair" ], "x-vmw-nsx-module": "Switching", "type": "object", "properties": { "config_pair": { "title": "Key value pair in string for the configuration", "description": "Key value pair in string for the configuration", "$ref": "#/definitions/KeyValuePair" } } }, "OwnerResourceLink": { "x-vmw-nsx-module": "Common", "allOf": [ { "$ref": "#/definitions/ResourceLink" }, { "x-vmw-nsx-module": "Common", "type": "object" } ], "description": "The server will populate this field when returing the resource. Ignored on PUT and POST.", "title": "Link to this resource" }, "IpPoolSubnet": { "x-vmw-nsx-module": "Ipam", "description": "A set of IPv4 or IPv6 addresses defined by a network CIDR.", "allOf": [ { "$ref": "#/definitions/Resource" }, { "x-vmw-nsx-module": "Ipam", "required": [ "cidr", "allocation_ranges" ], "type": "object", "properties": { "dns_nameservers": { "description": "The collection of upto 3 DNS servers for the subnet.", "title": "The collection of upto 3 DNS servers for the subnet.", "items": { "description": "IPv4 or IPv6 address", "format": "ip", "type": "string" }, "maxItems": 3, "uniqueItems": true, "type": "array" }, "cidr": { "type": "string", "description": "Represents network address and the prefix length which will be associated with a layer-2 broadcast domain", "title": "Represents network address and the prefix length which will be associated with a layer-2 broadcast domain" }, "gateway_ip": { "description": "The default gateway address on a layer-3 router.", "format": "ip", "type": "string" }, "allocation_ranges": { "items": { "$ref": "#/definitions/IpPoolRange" }, "type": "array", "description": "A collection of IPv4 or IPv6 IP Pool Ranges.", "title": "A collection of IPv4 or IPv6 IP Pool Ranges." }, "dns_suffix": { "format": "hostname", "type": "string", "description": "The DNS suffix for the DNS server.", "title": "The DNS suffix for the DNS server." } } } ] }, "IPFIXSwitchCollectionInstance": { "x-vmw-nsx-module": "PolicyOperations", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "required": [ "active_timeout", "source_logical_segment_paths", "idle_timeout", "packet_sample_probability", "ipfix_collector_profile_paths" ], "x-vmw-nsx-module": "PolicyOperations", "type": "object", "properties": { "ipfix_collector_profile_paths": { "items": { "type": "string" }, "type": "array", "description": "Policy path for IPFIX collector profiles. IPFIX data from\nthese logical segments will be sent to all specified IPFIX\ncollectors.\n", "title": "IPFIX collector Paths" }, "idle_timeout": { "description": "The time in seconds after a Flow is expired if\nno more packets matching this Flow are received by the cache.\n", "title": "Idle timeout", "default": 300, "format": "int32", "maximum": 3600, "minimum": 60, "type": "integer" }, "source_logical_segment_paths": { "items": { "type": "string" }, "type": "array", "description": "Policy path for source tier-1 segment. IPFIX data from\nthese logical segments will be sent IPFIX collector.\n", "title": "Logical segment paths" }, "max_flows": { "description": "The maximum number of flow entries in\neach exporter flow cache.\n", "title": "Max flows", "default": 16384, "format": "int64", "maximum": 4294967295, "minimum": 0, "type": "integer" }, "observation_domain_id": { "description": "An identifier that is unique to the exporting process and used to\nmeter the Flows.\n", "title": "Observation domain ID", "default": 0, "format": "int32", "maximum": 4294967295, "minimum": 0, "type": "integer" }, "active_timeout": { "description": "The time in seconds after a flow is expired even if\nmore packets matching this flow are received by the cache.\n", "title": "Active timeout", "default": 300, "format": "int32", "maximum": 3600, "minimum": 60, "type": "integer" }, "packet_sample_probability": { "description": "The probability in percentage that a packet is sampled,\nin range 0-100. The probability is equal for every packet.\n", "title": "Packet sample probability", "type": "number", "maximum": 100, "minimum": 0, "exclusiveMinimum": true } } } ], "description": "IPFIX data from source logical segment will be copied to IPFIX collector.\n", "title": "IPFIX Switch Collection Instance" }, "TunnelList": { "x-vmw-nsx-module": "Tunnel", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "Tunnel", "type": "object", "properties": { "tunnels": { "items": { "$ref": "#/definitions/TunnelProperties" }, "readOnly": true, "type": "array", "description": "List of transport node tunnels", "title": "List of transport node tunnels" } } } ] }, "NicMetadata": { "description": "Information on the Network interfaces present on the partner appliance that needs to be configured by the NSX Manager.", "title": "NIC Metadata", "required": [ "interface_label", "interface_type", "interface_index" ], "x-vmw-nsx-module": "ServiceInsertionCommonTypes", "type": "object", "properties": { "interface_label": { "readOnly": false, "type": "string", "description": "Network Interface label.", "title": "Interface label" }, "interface_type": { "readOnly": false, "enum": [ "MANAGEMENT", "DATA1", "DATA2", "HA1", "HA2" ], "type": "string", "description": "Interface that needs to be configured on the partner appliance. Ex. MANAGEMENT, DATA1, DATA2, HA1, HA2.", "title": "Interface type" }, "interface_index": { "readOnly": false, "format": "int64", "type": "integer", "description": "Network Interface index.", "title": "Interface Index" } } }, "LbRuleListResult": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "LoadBalancer", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/LbRule" }, "type": "array", "description": "paginated list of LB rules", "title": "paginated list of LB rules" } } } ] }, "FeatureAccessListResult": { "x-vmw-nsx-module": "AAA", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "AAA", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/FeatureAccess" }, "type": "array", "description": "List results", "title": "List results" } } } ] }, "ServiceBinding": { "x-vmw-nsx-module": "LogicalRouterPorts", "required": [ "service_id" ], "type": "object", "properties": { "service_id": { "title": "UUID of Service", "description": "Identifier of Logical Service", "$ref": "#/definitions/ResourceReference" } } }, "IPFIXDFWProfile": { "x-vmw-nsx-module": "PolicyIPFIXDFW", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "required": [ "ipfix_dfw_collector_profile_path", "active_flow_export_timeout" ], "x-vmw-nsx-module": "PolicyIPFIXDFW", "type": "object", "properties": { "ipfix_dfw_collector_profile_path": { "type": "string", "description": "Policy path for IPFIX collector profiles. IPFIX data from\nthese logical segments will be sent to all specified IPFIX\ncollectors.\n", "title": "IPFIX collector Paths" }, "active_flow_export_timeout": { "description": "For long standing active flows, IPFIX records will be sent\nper timeout period in seconds.\n", "title": "Active timeout", "default": 1, "format": "int32", "maximum": 60, "minimum": 1, "type": "integer" }, "observation_domain_id": { "description": "An identifier that is unique to the exporting process\nand used to meter the flows.\n", "title": "Observation domain ID", "default": 0, "format": "int32", "maximum": 4294967295, "minimum": 0, "type": "integer" } } } ], "description": "IPFIX packets from source will be sent to IPFIX DFW collector.\n", "title": "IPFIX DFW Profile" }, "SelfResourceLink": { "x-vmw-nsx-module": "Common", "allOf": [ { "$ref": "#/definitions/ResourceLink" }, { "x-vmw-nsx-module": "Common", "type": "object" } ], "description": "The server will populate this field when returing the resource. Ignored on PUT and POST.", "title": "Link to this resource" }, "ClusterNodeVMDeploymentConfig": { "description": "Contains info used to configure the VM on deployment", "title": "Configuration for deploying cluster node VM", "required": [ "placement_type" ], "discriminator": "placement_type", "x-vmw-nsx-module": "ClusterNodeVMDeployment", "type": "object", "properties": { "placement_type": { "enum": [ "VsphereClusterNodeVMDeploymentConfig" ], "type": "string", "description": "Specifies the config for the platform through which to deploy the VM\n", "title": "Type of deployment" } } }, "Node": { "x-vmw-nsx-module": "FabricNode", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "discriminator": "resource_type", "x-vmw-nsx-module": "FabricNode", "required": [ "resource_type" ], "type": "object", "properties": { "discovered_ip_addresses": { "items": { "description": "IPv4 or IPv6 address", "format": "ip", "type": "string" }, "readOnly": true, "type": "array", "description": "Discovered IP Addresses of the fabric node, version 4 or 6", "title": "Discovered IP Addresses of the fabric node, version 4 or 6" }, "ip_addresses": { "items": { "description": "IPv4 or IPv6 address", "format": "ip", "type": "string" }, "type": "array", "description": "IP Addresses of the Node, version 4 or 6. This property is mandatory for all nodes except for\nautomatic deployment of edge virtual machine node. For automatic deployment, the ip address from\nmanagement_port_subnets property will be considered.\n", "title": "IP Addresses of the Node, version 4 or 6" }, "external_id": { "type": "string", "description": "ID of the Node maintained on the Node and used to recognize the Node", "title": "ID of the Node maintained on the Node and used to recognize the Node" }, "fqdn": { "readOnly": true, "type": "string", "description": "Fully qualified domain name of the fabric node", "title": "Fully qualified domain name of the fabric node" }, "resource_type": { "type": "string", "description": "Fabric node type, for example 'HostNode', 'EdgeNode' or 'PublicCloudGatewayNode'", "title": "Fabric node type, for example 'HostNode', 'EdgeNode' or 'PublicCloudGatewayNode'" } } } ] }, "DirectoryGroupListResults": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "ManagerNode", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/DirectoryGroup" }, "type": "array", "description": "Directory group list", "title": "Directory group list" } } } ] }, "ChildGroup": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "Group" ], "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "Group": { "title": "Group", "description": "Contains the actual group objects\n", "$ref": "#/definitions/Group" } } } ], "description": "Child wrapper object for group, used in hierarchical API", "title": "Wrapper object for Group" }, "TransportNodeState": { "x-vmw-nsx-module": "TransportNode", "allOf": [ { "$ref": "#/definitions/ConfigurationState" }, { "x-vmw-nsx-module": "TransportNode", "type": "object", "properties": { "host_switch_states": { "items": { "$ref": "#/definitions/HostSwitchState" }, "readOnly": true, "type": "array", "description": "States of HostSwitches on the host", "title": "States of HostSwitches on the host" }, "maintenance_mode_state": { "description": "the present realized maintenance mode state", "enum": [ "ENTERING", "ENABLED", "EXITING", "DISABLED" ], "readOnly": true, "type": "string" }, "transport_node_id": { "readOnly": true, "type": "string", "description": "Unique Id of the TransportNode", "title": "Unique Id of the TransportNode" } } } ], "description": "Transport Node State", "title": "Transport Node State" }, "LBClientSslProfileListResult": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "ManagerNode", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/LBClientSslProfile" }, "type": "array", "description": "paginated list of load balancer client SSL profiles", "title": "paginated list of load balancer client SSL profiles" } } } ] }, "PolicyNat": { "x-vmw-nsx-module": "PolicyNAT", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "x-vmw-nsx-module": "PolicyNAT", "type": "object", "properties": { "nat_type": { "enum": [ "INTERNAL", "USER", "DEFAULT" ], "type": "string", "description": "Represents a NAT section under tier-1.", "title": "NAT section under tier-1" } } } ], "description": "Represents NAT section. This object is created by default when corresponding\ntier-1 is created. Under tier-1 there will be 3 different NATs(sections).\n(INTERNAL, USER and DEFAULT).\n", "title": "Contains list of NAT Rules" }, "LBAppProfileListResult": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/LBAppProfile" }, "type": "array", "description": "LBAppProfile list results", "title": "LBAppProfile list results" } } } ], "description": "Paged Collection of LBAppProfile", "title": "Paged Collection of LBAppProfile" }, "ChildDhcpRelayConfig": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "DhcpRelayConfig" ], "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "DhcpRelayConfig": { "title": "DhcpRelayConfig", "description": "Contains the actual DhcpRelayConfig object\n", "$ref": "#/definitions/DhcpRelayConfig" } } } ], "description": "Child wrapper object for DhcpRelayConfig, used in hierarchical API", "title": "Wrapper object for DhcpRelayConfig" }, "TraceflowListResult": { "x-vmw-nsx-module": "Traceflow", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "Traceflow", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/Traceflow" }, "readOnly": true, "type": "array", "description": "Traceflow Results", "title": "Traceflow Results" } } } ], "description": "Traceflow queries result", "title": "Traceflow queries result" }, "StaticIpPoolSpec": { "x-vmw-nsx-module": "TransportNode", "allOf": [ { "$ref": "#/definitions/IpAssignmentSpec" }, { "required": [ "ip_pool_id" ], "x-vmw-nsx-module": "TransportNode", "type": "object", "properties": { "ip_pool_id": { "readOnly": false, "type": "string" } } } ], "description": "IP assignment specification for Static IP Pool.", "title": "IP assignment specification for Static IP Pool." }, "ChildBgpNeighborConfig": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "BgpRoutingConfig" ], "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "BgpRoutingConfig": { "title": "BgpNeighborConfig", "description": "Contains the actual BgpNeighborConfig object.\n", "$ref": "#/definitions/BgpNeighborConfig" } } } ], "description": "Child wrapper object for BgpNeighborConfig, used in hierarchical API.", "title": "Wrapper object for BgpNeighborConfig" }, "IpDiscoverySwitchingProfile": { "x-vmw-nsx-module": "IpDiscoverySwitchingProfile", "allOf": [ { "$ref": "#/definitions/BaseSwitchingProfile" }, { "x-vmw-nsx-module": "IpDiscoverySwitchingProfile", "type": "object", "properties": { "arp_snooping_enabled": { "default": true, "readOnly": false, "type": "boolean", "description": "Indicates whether ARP snooping is enabled", "title": "Indicates whether ARP snooping is enabled" }, "arp_bindings_limit": { "description": "Indicates the number of arp snooped IP addresses to be remembered per LogicalPort. Decreasing this value, will retain the latest bindings from the existing list of address bindings. Increasing this value will retain existing bindings and also learn any new address bindings discovered on the port until the new limit is reached.", "title": "Number of arp snooped IP addresses", "default": 1, "format": "int32", "maximum": 128, "minimum": 1, "type": "integer" }, "vm_tools_enabled": { "default": false, "readOnly": false, "type": "boolean", "description": "This option is only supported on ESX where vm-tools is installed.", "title": "Indicates whether fetching IP using vm-tools is enabled" }, "dhcp_snooping_enabled": { "default": true, "readOnly": false, "type": "boolean", "description": "Indicates whether DHCP snooping is enabled", "title": "Indicates whether DHCP snooping is enabled" } } } ] }, "EdgeHighAvailabilityProfile": { "x-vmw-nsx-module": "EdgeHighAvailabilityProfile", "allOf": [ { "$ref": "#/definitions/ClusterProfile" }, { "x-vmw-nsx-module": "EdgeHighAvailabilityProfile", "type": "object", "properties": { "bfd_declare_dead_multiple": { "description": "Number of times a packet is missed before BFD declares the neighbor down.", "title": "Number of times a packet is missed before BFD declares the neighbor down.", "default": 3, "format": "int64", "maximum": 16, "minimum": 2, "type": "integer" }, "bfd_probe_interval": { "description": "the time interval (in millisec) between probe packets for heartbeat purpose", "title": "the time interval (in millisec) between probe packets for heartbeat purpose", "default": 1000, "format": "int64", "maximum": 60000, "minimum": 300, "type": "integer" }, "bfd_allowed_hops": { "description": "BFD allowed hops", "title": "BFD allowed hops", "default": 255, "format": "int64", "maximum": 255, "minimum": 1, "type": "integer" } } } ], "description": "Profile for BFD HA cluster setting", "title": "Profile for BFD HA cluster setting" }, "MacTableEntry": { "x-vmw-nsx-module": "AggSvcLogicalSwitch", "required": [ "mac_address" ], "type": "object", "properties": { "vtep_mac_address": { "type": "string", "description": "The virtual tunnel endpoint MAC address", "title": "The virtual tunnel endpoint MAC address" }, "vtep_ip": { "description": "The virtual tunnel endpoint IP address", "format": "ip", "type": "string" }, "mac_address": { "type": "string", "description": "The MAC address", "title": "The MAC address" } } }, "LogicalPortAttachment": { "description": "Logical port attachment", "title": "Logical port attachment", "required": [ "id" ], "x-vmw-nsx-module": "LogicalPort", "type": "object", "properties": { "attachment_type": { "description": "Indicates the type of logical port attachment. By default it is Virtual Machine interface (VIF)", "default": "VIF", "enum": [ "VIF", "LOGICALROUTER", "BRIDGEENDPOINT", "DHCP_SERVICE", "METADATA_PROXY", "L2VPN_SESSION" ], "type": "string" }, "context": { "title": "Attachment context", "description": "Extra context data for the attachment", "$ref": "#/definitions/AttachmentContext" }, "id": { "type": "string", "description": "Identifier of the interface attached to the logical port", "title": "Identifier of the interface attached to the logical port" } } }, "MirrorDestination": { "discriminator": "resource_type", "x-vmw-nsx-module": "PortMirroring", "required": [ "resource_type" ], "type": "object", "properties": { "resource_type": { "description": "Resource types of mirror destination", "enum": [ "LogicalPortMirrorDestination", "PnicMirrorDestination", "IPMirrorDestination" ], "type": "string" } } }, "BFDDiagnosticCount": { "x-vmw-nsx-module": "Heatmap", "type": "object", "properties": { "concatenated_path_down_count": { "format": "int64", "type": "integer", "description": "Number of tunnels with concatenated path down diagnostic message", "title": "Number of tunnels with concatenated path down diagnostic message" }, "administratively_down_count": { "format": "int64", "type": "integer", "description": "Number of tunnels with administratively down diagnostic message", "title": "Number of tunnels with administratively down diagnostic message" }, "no_diagnostic_count": { "format": "int64", "type": "integer", "description": "Number of tunnels with no diagnostic", "title": "Number of tunnels with no diagnostic" }, "path_down_count": { "format": "int64", "type": "integer", "description": "Number of tunnels with path down diagnostic message", "title": "Number of tunnels with path down diagnostic message" }, "reverse_concatenated_path_down_count": { "format": "int64", "type": "integer", "description": "Number of tunnels with reverse concatenated path down diagnostic message", "title": "Number of tunnels with reverse concatenated path down diagnostic message" }, "neighbor_signaled_session_down_count": { "format": "int64", "type": "integer", "description": "Number of tunnels neighbor signaled session down", "title": "Number of tunnels neighbor signaled session down" }, "control_detection_time_expired_count": { "format": "int64", "type": "integer", "description": "Number of tunnels with control detection time expired diagnostic message", "title": "Number of tunnels with control detection time expired diagnostic message" }, "echo_function_failed_count": { "format": "int64", "type": "integer", "description": "Number of tunnels with echo function failed diagnostic message", "title": "Number of tunnels with echo function failed diagnostic message" }, "forwarding_plane_reset_count": { "format": "int64", "type": "integer", "description": "Number of tunnels with forwarding plane reset diagnostic message", "title": "Number of tunnels with forwarding plane reset diagnostic message" } } }, "RenderConfiguration": { "x-vmw-nsx-module": "NsxDashboard", "type": "object", "description": "Render configuration to be applied to the widget.", "properties": { "color": { "enum": [ "GREY", "SKY_BLUE", "BLUE", "GREEN", "YELLOW", "RED" ], "type": "string", "description": "The color to use when rendering an entity. For example, set color as 'RED' to render a portion of donut in red.", "title": "Color of the entity" }, "condition": { "maxLength": 1024, "type": "string", "description": "If the condition is met then the rendering specified for the condition will be applied. Examples of expression syntax are provided under 'example_request' section of 'CreateWidgetConfiguration' API.", "title": "Expression for evaluating condition" }, "display_value": { "maxLength": 255, "type": "string", "description": "If specified, overrides the field value. This can be used to display a meaningful value in situations where field value is not available or not configured.", "title": "Overridden value to display, if any" }, "tooltip": { "minItems": 0, "items": { "$ref": "#/definitions/Tooltip" }, "type": "array", "description": "Multi-line text to be shown on tooltip while hovering over the UI element if the condition is met.", "title": "Multi-line tooltip" }, "icons": { "minItems": 0, "items": { "$ref": "#/definitions/Icon" }, "type": "array", "description": "Icons to be applied at dashboard for widgets and UI elements.", "title": "Icons" } }, "title": "Render Configuration" }, "Constraint": { "x-vmw-nsx-module": "PolicyConstraints", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "required": [ "constraint_expression", "target" ], "x-vmw-nsx-module": "PolicyConstraints", "type": "object", "properties": { "message": { "type": "string", "description": "User friendly message to be shown to users upon violation.", "title": "User friendly message to be shown to users upon violation." }, "constraint_expression": { "title": "Expression to constrain the target attribute value.", "description": "Expression to constrain the target attribute value.", "$ref": "#/definitions/ConstraintExpression" }, "target": { "title": "Target resource attribute details.", "description": "Target resource attribute details.", "$ref": "#/definitions/ConstraintTarget" } } } ], "description": "Constraint object to constraint any attribute on a resource based on\nspecified expression.\nExample- Restrict the allowed services in Edge Communication Entry to list of\n services, if the destinationGroups contain vCenter.\n{\n \"target\":{\n \"target_resource_type\":\"CommunicationEntry\",\n \"attribute\":\"services\",\n \"path_prefix\":\"/infra/domains/vmc-domain/edge-communication-maps/default/communication-entries\"\n }\n \"constraint_expression\":{\n \"related_attribute\":{\n \"attribute\":\"destinationGroups\"\n }\n \"condition\":{\n \"operator\":\"INCLUDES\",\n \"rhs_value\":{\"vCenter\"}\n \"value_constraint\":{\n \"operator\":\"ALLOW\",\n \"values\":{\"/ref/services/HTTPS\", \"/ref/services/HTTOP\", ...}\n }\n }\n }\n}\n", "title": "Constraint definition." }, "LogicalSwitchStatus": { "x-vmw-nsx-module": "LogicalSwitch", "type": "object", "properties": { "num_logical_ports": { "readOnly": true, "format": "int32", "type": "integer", "description": "Count of Logical Ports belonging to this switch", "title": "Count of Logical Ports belonging to this switch" }, "logical_switch_id": { "readOnly": true, "type": "string", "description": "Unique ID identifying the the Logical Switch", "title": "Unique ID identifying the the Logical Switch" } } }, "DailyTelemetrySchedule": { "x-vmw-nsx-module": "TelemetryConfig", "allOf": [ { "$ref": "#/definitions/TelemetrySchedule" }, { "x-vmw-nsx-module": "TelemetryConfig", "required": [ "hour_of_day" ], "type": "object", "properties": { "minutes": { "description": "Minute at which data will be collected. Specify a value between 0 through 59.\n", "title": "Minute at which data will be collected", "default": 0, "format": "int64", "maximum": 59, "minimum": 0, "type": "integer" }, "hour_of_day": { "description": "Hour at which data will be collected. Specify a value between 0 through 23.\n", "format": "int64", "title": "Hour at which data will be collected", "maximum": 23, "minimum": 0, "type": "integer" } } } ] }, "Rule": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "action": { "enum": [ "ALLOW", "DROP", "REJECT" ], "type": "string", "description": "The action to be applied to all the services\n", "title": "Action" }, "destination_groups": { "items": { "type": "string" }, "type": "array", "description": "We need paths as duplicate names may exist for groups under different\ndomains.In order to specify all groups, use the constant \"ANY\". This\nis case insensitive. If \"ANY\" is used, it should be the ONLY element\nin the group array. Error will be thrown if ANY is used in conjunction\nwith other values.\n", "maxItems": 128, "title": "Destination group paths" }, "services": { "items": { "type": "string" }, "type": "array", "description": "In order to specify all services, use the constant \"ANY\".\nThis is case insensitive. If \"ANY\" is used, it should\nbe the ONLY element in the services array. Error will be thrown\nif ANY is used in conjunction with other values.\n", "maxItems": 128, "title": "Names of services" }, "scope": { "items": { "type": "string" }, "type": "array", "description": "The list of policy paths where the rule is applied\nLR/Edge/T0/T1/LRP etc. Note that a given rule can be applied\non multiple LRs/LRPs.\n", "maxItems": 128 }, "logged": { "default": false, "readOnly": false, "type": "boolean", "description": "Flag to enable packet logging. Default is disabled.", "title": "Enable logging flag" }, "sequence_number": { "format": "int32", "type": "integer", "description": "This field is used to resolve conflicts between multiple\nRules under Security or Gateway Policy for a Domain\n", "title": "Sequence number of the this Rule" }, "source_groups": { "items": { "type": "string" }, "type": "array", "description": "We need paths as duplicate names may exist for groups under different\ndomains. In order to specify all groups, use the constant \"ANY\". This\nis case insensitive. If \"ANY\" is used, it should be the ONLY element\nin the group array. Error will be thrown if ANY is used in conjunction\nwith other values.\n", "maxItems": 128, "title": "Source group paths" } } } ], "description": "A rule indicates the action to be performed for various types of traffic flowing between workload groups.", "title": "A rule specifies the security policy rule between the workload groups" }, "LbVirtualServerStatisticsListResult": { "x-vmw-nsx-module": "AggSvcLb", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "AggSvcLb", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/LbVirtualServerStatistics" }, "type": "array", "description": "paginated statistics list of virtual servers", "title": "paginated statistics list of virtual servers" } } } ] }, "LbHttpRequestUriArgumentsCondition": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbRuleCondition" }, { "required": [ "uri_arguments" ], "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "uri_arguments": { "type": "string", "description": "URI arguments, aka query string of URI.\n", "title": "URI arguments" }, "match_type": { "description": "Match type of URI arguments", "default": "REGEX", "enum": [ "STARTS_WITH", "ENDS_WITH", "EQUALS", "CONTAINS", "REGEX" ], "type": "string" }, "case_sensitive": { "default": true, "type": "boolean", "description": "If true, case is significant when comparing URI arguments.\n", "title": "A case sensitive flag for URI arguments comparing" } } } ], "description": "This condition is used to match URI arguments aka query string of Http\nrequest messages, for example, in URI http://exaple.com?foo=1&bar=2, the\n\"foo=1&bar=2\" is the query string containing URI arguments. In an URI\nscheme, query string is indicated by the first question mark (\"?\")\ncharacter and terminated by a number sign (\"#\") character or by the end of\nthe URI.\nThe uri_arguments field can be specified as a regular expression(Set\nmatch_type to REGEX). For example, \"foo=(?<x>\\d+)\". It matches HTTP\nrequests whose URI arguments containing \"foo\", the value of foo contains\nonly digits. And the value of foo is captured as $x which can be used in\nLbRuleAction fields which support variables.\n", "title": "Condition to match URI arguments of HTTP requests" }, "NSGroupExpression": { "description": "Policy expression for NSGroup membership", "title": "Policy expression for NSGroup membership", "required": [ "resource_type" ], "discriminator": "resource_type", "x-vmw-nsx-module": "NSGroup", "type": "object", "properties": { "resource_type": { "enum": [ "NSGroupSimpleExpression", "NSGroupComplexExpression", "NSGroupTagExpression" ], "type": "string" } } }, "Connection": { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "type": "object", "description": "Connection are edges that provides the information about connectivity\nbetween the source and destination elements.\n", "properties": { "number_of_events": { "readOnly": true, "format": "int64", "type": "integer", "description": "Represents the number of events/flows between the source and destination elements.\n", "title": "Number of events" }, "dest_element_id": { "readOnly": true, "type": "string", "description": "Unique element ID of destination element to which the connection is established.\n", "title": "Destination element ID" }, "src_element_id": { "readOnly": true, "type": "string", "description": "Unique element ID of source element from which the connection is established.\n", "title": "Source element ID" } }, "title": "Connection" }, "ChildCommunicationMap": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "CommunicationMap" ], "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "CommunicationMap": { "title": "CommunicationMap", "description": "Contains the actual CommunicationMap object\n", "$ref": "#/definitions/CommunicationMap" } } } ], "description": "Child wrapper object for CommunicationMap, used in hierarchical API", "title": "Wrapper object for CommunicationMap" }, "RelatedDataRequest": { "x-vmw-nsx-module": "Search", "allOf": [ { "$ref": "#/definitions/AggregateRequest" }, { "required": [ "join_condition" ], "x-vmw-nsx-module": "Search", "type": "object", "properties": { "join_condition": { "type": "string", "description": "Join condition between the parent and the related object.\nThis is to be specified in \"relatedObjectFieldName:ParentObjectFieldName\" format.\n", "title": "Join condition" }, "size": { "format": "int64", "type": "integer", "description": "Number of related objects to return.\nIf not specified all the related objects will be returned.\nShould be set to 0 if only the count of related objects is desired.\n", "title": "Size" } } } ], "description": "Request parameters for the related types", "title": "Related object request" }, "PackageStore": { "description": "Contains package information", "title": "Contains package information", "required": [ "package_url", "bulletin_ids" ], "x-vmw-nsx-module": "HostPrepServiceFabric", "type": "object", "properties": { "package_url": { "type": "string", "description": "url of the package", "title": "url of the package" }, "bulletin_ids": { "items": { "type": "string" }, "type": "array", "description": "List of bulletin ids", "title": "List of bulletin ids" } } }, "RuleState": { "x-vmw-nsx-module": "Firewall", "allOf": [ { "$ref": "#/definitions/DSRuleState" }, { "x-vmw-nsx-module": "Firewall", "type": "object" } ] }, "LBVirtualServerPoolStaticMembers": { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "allOf": [ { "$ref": "#/definitions/LBVirtualServerPoolMembersInfo" }, { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "type": "object" } ], "description": "Virtual server pool static members.\n", "title": "Loadbalancer virtual server static members" }, "Expression": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "required": [ "resource_type" ], "discriminator": "resource_type", "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "resource_type": { "enum": [ "Condition", "ConjunctionOperator", "NestedExpression", "IPAddressExpression" ], "type": "string" } } } ], "description": "All the nodes of the expression extend from this abstract class. This\nis present for extensibility.\n", "title": "Base class for each node of the expression" }, "BgpNeighborsStatusListResult": { "x-vmw-nsx-module": "AggSvcLogicalRouter", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "AggSvcLogicalRouter", "type": "object", "properties": { "logical_router_name": { "readOnly": true, "type": "string", "description": "Name of the logical router", "title": "Name of the logical router" }, "last_update_timestamp": { "description": "Timestamp when the data was last updated, unset if data source has never updated the data.", "format": "int64", "readOnly": true, "type": "integer" }, "logical_router_id": { "readOnly": true, "type": "string", "description": "Logical router id", "title": "Logical router id" }, "results": { "description": "Status of BGP neighbors of the logical router", "title": "Status of BGP neighbors of the logical router", "items": { "$ref": "#/definitions/BgpNeighborStatus" }, "readOnly": true, "additionalProperties": false, "type": "array" } } } ] }, "ICMPTypeNSService": { "x-vmw-nsx-module": "Types", "allOf": [ { "$ref": "#/definitions/NSServiceElement" }, { "required": [ "protocol" ], "x-vmw-nsx-module": "Types", "type": "object", "properties": { "icmp_code": { "format": "int64", "type": "integer", "description": "ICMP message code", "title": "ICMP message code" }, "icmp_type": { "format": "int64", "type": "integer", "description": "ICMP message type", "title": "ICMP message type" }, "protocol": { "enum": [ "ICMPv4", "ICMPv6" ], "type": "string", "description": "ICMP protocol type", "title": "ICMP protocol type" } } } ], "description": "A NSService that represents IPv4 or IPv6 ICMP protocol", "title": "A NSService that represents IPv4 or IPv6 ICMP protocol" }, "ClusterNodeVMDeploymentRequestList": { "x-vmw-nsx-module": "ClusterNodeVMDeployment", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "ClusterNodeVMDeployment", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/ClusterNodeVMDeploymentRequest" }, "type": "array", "description": "Array of existing ClusterNodeVMDeploymentRequests\n", "title": "Results" } } } ], "description": "List of ClusterNodeVMDeploymentRequests", "title": "ClusterNodeVMDeploymentRequest list" }, "ChildTlsTrustData": { "x-vmw-nsx-module": "PolicyCertificate", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "TlsTrustData" ], "x-vmw-nsx-module": "PolicyCertificate", "type": "object", "properties": { "TlsTrustData": { "title": "TlsTrustData", "description": "Contains the actual TlsTrustData object\n", "$ref": "#/definitions/TlsTrustData" } } } ], "description": "Child wrapper for TlsTrustData, used in hierarchical API", "title": "Wrapper object for TlsTrustData" }, "NodeInterfaceAlias": { "x-vmw-nsx-module": "ApplianceStats", "type": "object", "description": "Node network interface alias", "properties": { "ip_configuration": { "enum": [ "dhcp", "static", "not configured" ], "type": "string", "description": "Interface configuration", "title": "Interface configuration" }, "netmask": { "type": "string", "description": "Interface netmask", "title": "Interface netmask" }, "ip_address": { "description": "Interface IP address", "format": "ip", "type": "string" }, "physical_address": { "description": "Interface MAC address", "pattern": "/^(([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2}))|(([0-9A-Fa-f]{2}[-]){5}([0-9A-Fa-f]{2}))$/", "type": "string" }, "broadcast_address": { "description": "Interface broadcast address", "format": "ip", "type": "string" } }, "title": "Node network interface alias" }, "LBPersistenceProfile": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "required": [ "resource_type" ], "discriminator": "resource_type", "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "persistence_shared": { "default": false, "type": "boolean", "description": "Persistence shared setting indicates that all LBVirtualServers\nthat consume this LBPersistenceProfile should share the same\npersistence mechanism when enabled. Meaning, persistence entries of\na client accessing one virtual server will also affect the same\nclient's connections to a different virtual server. For example, say\nthere are two virtual servers vip-ip1:80 and vip-ip1:8080 bound to\nthe same Group g1 consisting of two servers (s11:80 and s12:80). By\ndefault, each virtual server will have its own persistence table or\ncookie. So, in the earlier example, there will be two tables\n(vip-ip1:80, p1) and (vip-ip1:8080, p1) or cookies. So, if a client\nconnects to vip1:80 and later connects to vip1:8080, the second\nconnection may be sent to a different server than the first. When\npersistence_shared is enabled, then the second connection will always\nconnect to the same server as the original connection. For COOKIE\npersistence type, the same cookie will be shared by multiple virtual\nservers. For SOURCE_IP persistenct type, the persistence table will\nbe shared across virtual servers.\n", "title": "Persistence shared across LBVirtualServers" }, "resource_type": { "enum": [ "LBSourceIpPersistenceProfile", "LBCookiePersistenceProfile" ], "type": "string" } } } ], "description": "Some applications maintain state and require all relevant connections\nto be sent to the same server as the application state is not\nsynchronized among servers. Persistence is enabled on a\nLBVirtualServer by binding a persistence profile to it.\n", "title": "Contains the information related to load balancer persistence options" }, "FirewallSectionsSummary": { "x-vmw-nsx-module": "FirewallSummary", "allOf": [ { "$ref": "#/definitions/Resource" }, { "x-vmw-nsx-module": "FirewallSummary", "type": "object", "properties": { "section_count": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of sections for the section type.", "title": "Section count" }, "rule_count": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of rules in the section.", "title": "Rule count" }, "section_type": { "description": "Type of rules which a section can contain.", "enum": [ "L2DFW", "L3DFW" ], "readOnly": true, "type": "string" } } } ] }, "LogicalService": { "x-vmw-nsx-module": "LogicalService", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "LogicalService", "required": [ "dhcp_relay_profile_id", "resource_type" ], "type": "object", "properties": { "dhcp_relay_profile_id": { "type": "string", "description": "dhcp relay profile referenced by the dhcp relay service", "title": "dhcp relay profile referenced by the dhcp relay service" }, "resource_type": { "description": "Resource type of the logical service", "enum": [ "DhcpRelayService" ], "type": "string" } } } ] }, "LbHttpMonitor": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbActiveMonitor" }, { "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "response_status_codes": { "items": { "type": "integer", "format": "int32" }, "type": "array", "description": "The HTTP response status code should be a valid HTTP status code.\n", "maxItems": 64, "title": "Array of single HTTP response status codes" }, "request_method": { "description": "the health check method for HTTP monitor type", "default": "GET", "enum": [ "GET", "OPTIONS", "POST", "HEAD", "PUT" ], "type": "string" }, "request_body": { "type": "string", "description": "String to send as part of HTTP health check request body. Valid only\nfor certain HTTP methods like POST.\n", "title": "String to send as part of HTTP health check request body. Valid only\nfor certain HTTP methods like POST.\n" }, "response_body": { "type": "string", "description": "If HTTP response body match string (regular expressions not supported)\nis specified (using LbHttpMonitor.response_body) then the\nhealthcheck HTTP response body is matched against the specified string\nand server is considered healthy only if there is a match.\nIf the response body string is not specified, HTTP healthcheck is\nconsidered successful if the HTTP response status code is 2xx, but it\ncan be configured to accept other status codes as successful.\n", "title": "response body to match" }, "request_url": { "type": "string", "description": "URL used for HTTP monitor", "title": "URL used for HTTP monitor" }, "request_version": { "description": "HTTP request version", "default": "HTTP_VERSION_1_1", "enum": [ "HTTP_VERSION_1_0", "HTTP_VERSION_1_1", "HTTP_VERSION_2_0" ], "type": "string" }, "request_headers": { "items": { "$ref": "#/definitions/LbHttpRequestHeader" }, "type": "array", "description": "Array of HTTP request headers", "title": "Array of HTTP request headers" } } } ] }, "RealizedGroups": { "x-vmw-nsx-module": "PolicyRealizedState", "allOf": [ { "$ref": "#/definitions/PolicyRealizedResource" }, { "x-vmw-nsx-module": "PolicyRealizedState", "type": "object", "properties": { "realized_groups": { "items": { "$ref": "#/definitions/RealizedGroup" }, "readOnly": true, "type": "array", "description": "list of realized groups", "title": "list of realized groups" } } } ], "description": "Realized groups", "title": "Realized groups" }, "HostNodeElement": { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "allOf": [ { "$ref": "#/definitions/NodeElement" }, { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "type": "object" } ], "description": "Host node element extends from Element class. This class contains the\ninformation of Host.\n", "title": "Host node element" }, "DnsForwarderListResult": { "x-vmw-nsx-module": "DnsForwarder", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "DnsForwarder", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/DnsForwarder" }, "type": "array", "description": "Paginated list of dns forwarders", "title": "Paginated list of dns forwarders" } } } ] }, "IpfixSwitchUpmProfile": { "x-vmw-nsx-module": "UpmIpfix", "allOf": [ { "$ref": "#/definitions/IpfixUpmProfile" }, { "required": [ "priority", "collector_profile", "observation_domain_id" ], "x-vmw-nsx-module": "UpmIpfix", "type": "object", "properties": { "priority": { "description": "This priority field is used to resolve conflicts in logical ports/switch\n which inherit multiple switch IPFIX profiles from NSGroups.\n\nOverride rule is : for multiple profiles inherited from NSGroups, the\none with highest priority (lowest number) overrides others; the profile\ndirectly applied to logical switch overrides profiles inherited from\nNSGroup; the profile directly applied to logical port overides profiles\ninherited from logical switch and/or nsgroup;\n\nThe IPFIX exporter will send records to collectors of final effective\nprofile only.\n", "format": "int32", "title": "Profile Priority", "maximum": 65536, "minimum": 0, "type": "integer" }, "collector_profile": { "type": "string", "description": "Each IPFIX switching profile can have its own collector profile.\n", "title": "UUID of IPFIX Collector Profile" }, "idle_timeout": { "description": "The time in seconds after a flow is expired if no more packets matching\nthis flow are received by the cache.\n", "title": "Idle Timeout", "default": 300, "format": "int32", "maximum": 3600, "minimum": 60, "type": "integer" }, "max_flows": { "description": "The maximum number of flow entries in each exporter flow cache.\n", "title": "Max Flows", "default": 16384, "format": "int64", "maximum": 4294967295, "minimum": 0, "type": "integer" }, "observation_domain_id": { "description": "An identifier that is unique to the exporting process and used to\nmeter the Flows.\n", "format": "int64", "title": "Observation Domain ID", "maximum": 4294967295, "minimum": 0, "type": "integer" }, "active_timeout": { "description": "The time in seconds after a flow is expired even if more packets\nmatching this Flow are received by the cache.\n", "title": "Active Timeout", "default": 300, "format": "int32", "maximum": 3600, "minimum": 60, "type": "integer" }, "applied_tos": { "title": "Entitys Applied with Profile", "description": "Entities where the IPFIX profile will be enabled on. Maximum\nentity count of all types is 128.\n", "$ref": "#/definitions/AppliedTos" }, "packet_sample_probability": { "description": "The probability in percentage that a packet is sampled, in range\n(0,100]. The probability is equal for every packet.\n", "title": "Packet Sample Probability", "default": 0.1, "exclusiveMinimum": true, "maximum": 100, "minimum": 0, "type": "number" } } } ], "description": "The configuration for Internet protocol flow information export (IPFIX) and\nwould be enabled on the switching module to collect flow information.\n", "title": "Switching IPFIX Profile" }, "DhcpProfile": { "x-vmw-nsx-module": "Dhcp", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "Dhcp", "required": [ "edge_cluster_id" ], "type": "object", "properties": { "edge_cluster_member_indexes": { "description": "If none is provided, the NSX will auto-select two edge-nodes from the given edge cluster.\nIf user provides only one edge node, there will be no HA support.\nIf both the member indexes are changed in a same PUT API, e.g. change from [a,b] to [x,y],\nthe current dhcp server states will be lost, which could cause the network crash due to ip conflicts.\nHence the suggestion is to change only one member index in one single update, e.g. from [a,b] to [a,y].\n", "title": "edge node indexes", "minItems": 0, "items": { "type": "integer", "format": "int64" }, "maxItems": 2, "uniqueItems": true, "type": "array" }, "edge_cluster_id": { "type": "string", "description": "edge cluster uuid", "title": "edge cluster uuid" } } } ] }, "RoutingEntry": { "x-vmw-nsx-module": "PolicyStatistics", "type": "object", "description": "Routing table entry.\n", "properties": { "route_type": { "readOnly": true, "type": "string", "description": "Network address CIDR.\n", "title": "Route type" }, "next_hop": { "description": "Next hop address.\n", "format": "ip", "readOnly": true, "type": "string" }, "network": { "readOnly": true, "type": "string", "description": "Network CIDR.\n", "title": "Network CIDR" }, "admin_distance": { "readOnly": true, "format": "int32", "type": "integer", "description": "Admin distance.\n", "title": "Admin distance" } }, "title": "Routing table entry" }, "InterfaceNeighborProperties": { "x-vmw-nsx-module": "Lldp", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "Lldp", "type": "object", "properties": { "ifindex": { "readOnly": true, "format": "int64", "type": "integer", "description": "Interface index", "title": "Interface index" }, "neighbors": { "description": "Neighbor properties", "title": "Neighbor properties", "items": { "$ref": "#/definitions/NeighborProperties" }, "readOnly": true, "uniqueItems": true, "type": "array" }, "mac": { "readOnly": true, "type": "string", "description": "Interface MAC address", "title": "Interface MAC address" }, "name": { "readOnly": true, "type": "string", "description": "Interface Name", "title": "Interface Name" } } } ], "description": "Interface neighbor properties", "title": "Interface neighbor properties" }, "StaticIpListSpec": { "x-vmw-nsx-module": "TransportNode", "allOf": [ { "$ref": "#/definitions/IpAssignmentSpec" }, { "required": [ "subnet_mask", "ip_list", "default_gateway" ], "x-vmw-nsx-module": "TransportNode", "type": "object", "properties": { "subnet_mask": { "description": "Subnet mask", "format": "ip", "readOnly": false, "type": "string" }, "ip_list": { "description": "List of IPs for transport node host switch virtual tunnel endpoints", "title": "List of IPs for transport node host switch virtual tunnel endpoints", "items": { "description": "IPv4 or IPv6 address", "format": "ip", "type": "string" }, "readOnly": false, "maxItems": 32, "type": "array" }, "default_gateway": { "description": "Gateway IP", "format": "ip", "readOnly": false, "type": "string" } } } ], "description": "IP assignment specification for Static IP List.", "title": "IP assignment specification for Static IP List." }, "TransportNodeStatusListResult": { "x-vmw-nsx-module": "Heatmap", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "Heatmap", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/TransportNodeStatus" }, "type": "array", "description": "List of transport node statuses", "title": "List of transport node statuses" } } } ] }, "LbHttpRequestUriRewriteAction": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbRuleAction" }, { "required": [ "uri" ], "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "uri_arguments": { "type": "string", "description": "Query string of URI, typically contains key value pairs, for example:\nfoo1=bar1&foo2=bar2\n", "title": "URI arguments" }, "uri": { "type": "string", "description": "URI of HTTP request", "title": "URI of HTTP request" } } } ], "description": "This action is used to rewrite URIs in matched HTTP request messages.\nSpecify the uri and uri_arguments fields in this condition to rewrite the\nmatched HTTP request message's URI and URI arguments to the new values.\nFull URI scheme of HTTP messages have following syntax:\nscheme:[//[user[:password]@]host[:port]][/path][?query][#fragment]\nThe uri field of this action is used to rewrite the /path part in above\nscheme. And the uri_arguments field is used to rewrite the query part.\nCaptured variables and built-in variables can be used in the uri and\nuri_arguments fields.\nCheck the example in LbRuleAction to see how to use variables in this\naction.\n", "title": "Action to rewrite HTTP request URIs." }, "LbPassiveMonitor": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbMonitor" }, { "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "max_fails": { "description": "When the consecutive failures reach this value, then the member is\nconsidered temporarily unavailable for a configurable period\n", "title": "number of consecutive connection failures", "default": 5, "format": "int64", "maximum": 2147483647, "minimum": 1, "type": "integer" }, "timeout": { "description": "After this timeout period, the member is tried again for a new\nconnection to see if it is available.\n", "title": "timeout in seconds before it is selected again for a new connection", "default": 5, "format": "int64", "maximum": 2147483647, "minimum": 1, "type": "integer" } } } ] }, "CsrList": { "x-vmw-nsx-module": "CertificateManager", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "CertificateManager", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/Csr" }, "readOnly": false, "type": "array", "description": "CSR list" } } } ], "description": "Csr queries result", "title": "Csr queries result" }, "EgressRateShaper": { "x-vmw-nsx-module": "QosSwitchingProfile", "allOf": [ { "$ref": "#/definitions/QosBaseRateShaper" }, { "x-vmw-nsx-module": "QosSwitchingProfile", "type": "object", "properties": { "average_bandwidth_mbps": { "description": "Average bandwidth in Mb/s", "format": "int32", "default": 0, "title": "Average bandwidth in Mb/s", "minimum": 0, "type": "integer" }, "peak_bandwidth_mbps": { "description": "Peak bandwidth in Mb/s", "format": "int32", "default": 0, "title": "Peak bandwidth in Mb/s", "minimum": 0, "type": "integer" }, "burst_size_bytes": { "description": "Burst size in bytes", "format": "int32", "default": 0, "title": "Burst size in bytes", "minimum": 0, "type": "integer" } } } ], "description": "A shaper that specifies egress rate properties in Mb/s", "title": "A shaper that specifies egress rate properties in Mb/s" }, "TraceflowObservationCounters": { "x-vmw-nsx-module": "Traceflow", "type": "object", "properties": { "forwarded_count": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of forwarded observations for this traceflow round.", "title": "Forwarded observation count" }, "dropped_count": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of dropped observations for this round.", "title": "Dropped observation count" }, "delivered_count": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of delivered observations for this traceflow round.", "title": "Delivered observation count" }, "received_count": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of received observations for this traceflow round.", "title": "Received observation count" } } }, "RealizedFirewallUIResource": { "x-vmw-nsx-module": "PolicyUi", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "required": [ "realized_firewall_sections" ], "x-vmw-nsx-module": "PolicyUi", "type": "object", "properties": { "intent_communication_map": { "$ref": "#/definitions/CommunicationMap" }, "realized_firewall_sections": { "items": { "$ref": "#/definitions/RealizedFirewall" }, "type": "array", "description": "Realized firewall sections associated to the communication map", "title": "Realized firewall sections associated to the communication map" } } } ], "description": "Realized Firewall Sections and associated communication map", "title": "Realized Firewall Sections and associated communication map" }, "DirectoryDomainSyncNodeListResults": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/DirectoryDomainSyncNode" }, "type": "array", "description": "List of Directory Domain Synchronization Nodes", "title": "List of Directory Domain Synchronization Nodes" } } } ], "description": "List of Directory Domain Synchronization Nodes", "title": "List of Directory Domain Synchronization Nodes" }, "GatewayPolicy": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/SecurityPolicy" }, { "x-vmw-nsx-module": "Policy", "type": "object" } ], "description": "Contains ordered list of Rules for GatewayPolicy", "title": "Contains ordered list of Rules for GatewayPolicy" }, "MetadataProxy": { "x-vmw-nsx-module": "MetadataProxy", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "MetadataProxy", "required": [ "metadata_server_url", "edge_cluster_id" ], "type": "object", "properties": { "secret": { "type": "string", "description": "secret to access metadata server", "title": "secret to access metadata server" }, "metadata_server_ca_ids": { "items": { "type": "string" }, "type": "array", "description": "The CAs referenced here must be uploaded to the truststore using the API\nPOST /api/v1/trust-management/certificates?action=import.\nUser needs to ensure a correct CA for this metedata server is used. The REST API can\nnot detect a wrong CA which was used to verify a different server. If the Metadata\nProxy reports an ERROR or NO_BACKUP status, user can check the metadata proxy log\nat transport node for a possible CA issue.\n", "title": "uuids of CAs to verify metadata server certificate" }, "edge_cluster_member_indexes": { "description": "If none is provided, the NSX will auto-select two edge-nodes from the given edge cluster.\nIf user provides only one edge node, there will be no HA support.\n", "title": "edge cluster member indexes", "minItems": 0, "items": { "type": "integer", "format": "int64" }, "maxItems": 2, "uniqueItems": true, "type": "array" }, "crypto_protocols": { "items": { "description": "Metadata proxy supported cryptographic protocol", "enum": [ "TLS_V1", "TLS_V1_1", "TLS_V1_2" ], "type": "string" }, "readOnly": false, "type": "array", "description": "The cryptographic protocols listed here are supported by the metadata proxy.\nThe TLSv1.1 and TLSv1.2 are supported by default.\n", "title": "metadata proxy supported cryptographic protocols." }, "metadata_server_url": { "type": "string", "description": "The URL in format scheme://host:port/path. Please note, the scheme supports only http\nand https as of now, port supports range 3000 - 9000, inclusive.\n", "title": "metadata server url" }, "attached_logical_port_id": { "readOnly": true, "type": "string", "description": "id of attached logical port", "title": "id of attached logical port" }, "edge_cluster_id": { "type": "string", "description": "edge cluster uuid", "title": "edge cluster uuid" } } } ] }, "LbVirtualServerStatus": { "x-vmw-nsx-module": "AggSvcLb", "required": [ "virtual_server_id" ], "type": "object", "properties": { "status": { "enum": [ "UP", "PARTIALLY_UP", "PRIMARY_DOWN", "DOWN", "DETACHED", "DISABLED", "UNKNOWN" ], "type": "string", "description": "UP means that all primary members in default pool are in UP status.\nFor L7 virtual server, if there is no default pool, the virtual server\nwould be treated as UP.\nPARTIALLY_UP means that some(not all) primary members in default pool\nare in UP status. The size of these active primary members should be\nlarger than or equal to the certain number(min_active_members) which is\ndefined in LbPool. When there are no backup members which are in the UP\nstatus, the number(min_active_members) would be ignored.\nPRIMARY_DOWN means that less than certain(min_active_members) primary\nmembers in default pool are in UP status but backup members are in UP\nstatus, the connections would be dispatched to backup members.\nDOWN means that all primary and backup members are in DOWN status.\nDETACHED means that the virtual server is not bound to any service.\nDISABLED means that the admin state of the virtual server is disabled.\nUNKOWN means that no status reported from transport-nodes. The\nassociated load balancer service may be working(or not working).\n", "title": "Virtual server status" }, "last_update_timestamp": { "type": "integer", "description": "Timestamp when the data was last updated.", "format": "int64" }, "virtual_server_id": { "type": "string", "description": "load balancer virtual server identifier", "title": "load balancer virtual server identifier" } } }, "LbTcpHeaderCondition": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbRuleCondition" }, { "required": [ "source_port" ], "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "source_port": { "description": "TCP source port of HTTP message", "format": "port-or-range", "type": "string" } } } ], "description": "This condition is used to match TCP header fields of HTTP messages.\nCurrently, only the TCP source port is supported. Ports can be expressed as\na single port number like 80, or a port range like 1024-1030.\n", "title": "Condition to match TCP header fields" }, "LbHttpResponseHeaderDeleteAction": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbRuleAction" }, { "required": [ "header_name" ], "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "header_name": { "type": "string", "description": "Name of a header field of HTTP response message", "title": "Name of a header field of HTTP response message" } } } ], "description": "This action is used to delete header fields of HTTP response messages at\nHTTP_RESPONSE_REWRITE phase. One action can be used to delete allgi headers\nwith same header name. To delete headers with different header names,\nmultiple actions must be defined\n", "title": "Action to delete HTTP response header fields" }, "LogicalRouterRouteEntry": { "x-vmw-nsx-module": "AggSvcLogicalRouter", "required": [ "route_type", "network" ], "type": "object", "properties": { "lr_component_id": { "type": "string", "description": "Logical router component(Service Router/Distributed Router) id", "title": "Logical router component(Service Router/Distributed Router) id" }, "next_hop": { "description": "The IP address of the next hop", "format": "ip", "type": "string" }, "lr_component_type": { "type": "string", "description": "Logical router component(Service Router/Distributed Router) type", "title": "Logical router component(Service Router/Distributed Router) type" }, "network": { "description": "CIDR network address", "format": "ipv4-cidr-block", "type": "string" }, "route_type": { "type": "string", "description": "Route type (USER, CONNECTED, NSX_INTERNAL,..)", "title": "Route type (USER, CONNECTED, NSX_INTERNAL,..)" }, "logical_router_port_id": { "type": "string", "description": "The id of the logical router port which is used as the next hop", "title": "The id of the logical router port which is used as the next hop" }, "admin_distance": { "format": "int64", "type": "integer", "description": "The admin distance of the next hop", "title": "The admin distance of the next hop" } } }, "TransportNodeStatus": { "x-vmw-nsx-module": "Heatmap", "type": "object", "properties": { "status": { "enum": [ "UP", "DOWN", "DEGRADED", "UNKNOWN" ], "type": "string", "description": "Roll-up status of pNIC, management connection, control connection, tunnel status", "title": "Roll-up status of pNIC, management connection, control connection, tunnel status" }, "node_uuid": { "type": "string", "description": "Transport node uuid", "title": "Transport node uuid" }, "mgmt_connection_status": { "enum": [ "UP", "DOWN" ], "type": "string", "description": "Management connection status", "title": "Management connection status" }, "control_connection_status": { "title": "Control connection status", "description": "Control connection status", "$ref": "#/definitions/StatusCount" }, "pnic_status": { "title": "pNIC status", "description": "pNIC status", "$ref": "#/definitions/StatusCount" }, "node_display_name": { "type": "string", "description": "Transport node display name", "title": "Display name" }, "tunnel_status": { "title": "Tunnel Status", "description": "Tunnel Status", "$ref": "#/definitions/TunnelStatusCount" } } }, "TlsTrustData": { "x-vmw-nsx-module": "PolicyCertificate", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "x-vmw-nsx-module": "PolicyCertificate", "required": [ "pem_encoded" ], "type": "object", "properties": { "key_algo": { "type": "string", "description": "Key algorithm contained in this certificate" }, "private_key": { "readOnly": false, "type": "string", "description": "private key data" }, "passphrase": { "readOnly": false, "type": "string", "description": "Password for private key encryption" }, "pem_encoded": { "readOnly": false, "type": "string", "description": "pem encoded certificate data" } } } ] }, "BGPCommunityListListResult": { "x-vmw-nsx-module": "Routing", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "Routing", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/BGPCommunityList" }, "type": "array", "description": "Paginated list of bgp community lists", "title": "List of bgp communities" } } } ] }, "MACAddressElement": { "x-vmw-nsx-module": "MACSet", "allOf": [ { "$ref": "#/definitions/RevisionedResource" }, { "required": [ "mac_address" ], "x-vmw-nsx-module": "MACSet", "type": "object", "properties": { "mac_address": { "description": "A MAC address. Must be 6 pairs of hexadecimal digits, upper or lower case,\nseparated by colons or dashes. Examples: 01:23:45:67:89:ab, 01-23-45-67-89-AB.\n", "pattern": "/^(([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2}))|(([0-9A-Fa-f]{2}[-]){5}([0-9A-Fa-f]{2}))$/", "type": "string" } } } ], "description": "MAC Address", "title": "MAC Address" }, "TlsCertificateList": { "x-vmw-nsx-module": "PolicyCertificate", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "PolicyCertificate", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/TlsCertificate" }, "readOnly": true, "type": "array", "description": "TlsCertificate list" } } } ], "description": "Certificate queries result", "title": "Certificate queries result" }, "AssignedByDhcp": { "x-vmw-nsx-module": "TransportNode", "allOf": [ { "$ref": "#/definitions/IpAssignmentSpec" }, { "x-vmw-nsx-module": "TransportNode", "type": "object" } ], "description": "This type can be specified in ip assignment spec of host switch if DHCP based IP assignment is desired for host switch virtual tunnel endpoints.", "title": "DHCP based IP assignment." }, "ServiceAttachmentListResult": { "x-vmw-nsx-module": "ServiceInsertion", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "ServiceInsertion", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/ServiceAttachment" }, "readOnly": true, "type": "array", "description": "List of the Service Attachments.", "title": "Service-Attachment list" } } } ], "description": "List of Service Attachments.", "title": "Service Attachment List" }, "IpfixCollectorUpmProfileListResult": { "x-vmw-nsx-module": "UpmIpfixCollector", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "UpmIpfixCollector", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/IpfixCollectorUpmProfile" }, "readOnly": true, "type": "array", "description": "IPFIX Collector Profile List", "title": "IPFIX Collector Profile List" } } } ], "description": "IPFIX collector profile list result for query with profile list parameters\n", "title": "List of IPFIX Collector Profiles" }, "IpfixCollectorConfigListResult": { "x-vmw-nsx-module": "Ipfix", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "Ipfix", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/IpfixCollectorConfig" }, "readOnly": true, "type": "array", "description": "IPFIX Collector Config", "title": "IPFIX Collector Config" } } } ], "description": "List of IPFIX Collector Configs", "title": "List of IPFIX Collector Configs" }, "FirewallSectionRuleList": { "x-vmw-nsx-module": "Firewall", "allOf": [ { "$ref": "#/definitions/FirewallSection" }, { "x-vmw-nsx-module": "Firewall", "required": [ "rules" ], "type": "object", "properties": { "rules": { "description": "List of firewall rules in the section. Only homogenous rules are supported.", "title": "List of the firewall rules", "items": { "$ref": "#/definitions/FirewallRule" }, "readOnly": false, "maxItems": 1000, "type": "array" } } } ] }, "IpfixDfwConfig": { "x-vmw-nsx-module": "Ipfix", "allOf": [ { "$ref": "#/definitions/IpfixConfig" }, { "required": [ "priority", "collector", "observation_domain_id" ], "x-vmw-nsx-module": "Ipfix", "type": "object", "properties": { "priority": { "description": "This priority field is used to resolve conflicts in Logical Ports\nwhich are covered by more than one IPFIX profiles. The IPFIX\nexporter will send records to Collectors in highest priority\nprofile (lowest number) only.\n", "title": "Config Priority", "default": 0, "format": "int64", "maximum": 65536, "minimum": 0, "type": "integer" }, "collector": { "type": "string", "description": "Each IPFIX DFW config can have its own collector config.\n", "title": "UUID of IPFIX DFW Collector Config" }, "active_flow_export_timeout": { "description": "For long standing active flows, IPFIX records will be sent per timeout period\n", "title": "Active flow export timeout (minutes)", "default": 1, "format": "int64", "maximum": 60, "minimum": 1, "type": "integer" }, "template_parameters": { "title": "Template Parameters", "description": "An object that indicates whether each corresponding template parameter\nis required or not.\n", "$ref": "#/definitions/IpfixDfwTemplateParameters" }, "observation_domain_id": { "description": "An identifier that is unique to the exporting process and used to\nmeter the Flows.\n", "format": "int64", "title": "Observation domain ID", "maximum": 4294967295, "minimum": 0, "type": "integer" } } } ], "description": "It defines IPFIX DFW Configuration.", "title": "IPFIX Config for the DFW Module" }, "L2VpnPeerCodes": { "x-vmw-nsx-module": "PolicyL2Vpn", "allOf": [ { "$ref": "#/definitions/L2VpnPeerConfigPerEnforcementPoint" }, { "required": [ "peer_codes" ], "x-vmw-nsx-module": "PolicyL2Vpn", "type": "object", "properties": { "peer_codes": { "description": "List of peer codes per transport tunnel.", "title": "List of peer codes", "minItems": 1, "items": { "$ref": "#/definitions/L2VpnTransportTunnelPeerCode" }, "maxItems": 1, "type": "array" } } } ], "description": "Get the peer_code for each tunnel to paste on the remote end of the tunnel.\nCurrently only stand-along/unmanaged edge is supported on the remote end of\nthe tunnel.\n", "title": "Peer code to configure the other side of the tunnel" }, "DiscoveredNodeNetworkInterfaces": { "description": "All the network interfaces of the discovered node", "title": "Discovered node network interfaces", "required": [ "discovered_node_id" ], "x-vmw-nsx-module": "InventoryCmObj", "type": "object", "properties": { "discovered_node_id": { "type": "string", "description": "Id of the discovered node", "title": "Discovered node Id" }, "network_interfaces": { "items": { "$ref": "#/definitions/DiscoveredNodeInterfaceProperties" }, "type": "array", "description": "Network interfaces of the node", "title": "Discovered Node interfaces" } } }, "RealizedNSService": { "x-vmw-nsx-module": "PolicyRealizedState", "allOf": [ { "$ref": "#/definitions/RealizedService" }, { "x-vmw-nsx-module": "PolicyRealizedState", "type": "object", "properties": { "service_type": { "readOnly": true, "enum": [ "SERVICE", "SERVICE_GROUP" ], "type": "string", "description": "Realized nsservice type", "title": "Realized nsservice type" } } } ], "description": "Realized NSService", "title": "Realized NSService" }, "Segment": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "subnets": { "items": { "$ref": "#/definitions/SegmentSubnet" }, "type": "array", "description": "Subnet configuration. Max 1 subnet", "maxItems": 1, "title": "Subnet configuration. Max 1 subnet" }, "overlay_id": { "description": "Used for overlay connectivity of segments. The overlay_id\nshould be allocated from the pool as definied by enforcement-point.\nIf not provided, it is auto-allocated from the default pool on the\nenforcement-point.\n", "format": "int32", "title": "Overlay connectivity ID for this Segment", "maximum": 2147483647, "minimum": 0, "type": "integer" }, "ls_id": { "type": "string", "description": "Sepcify pre-creted logical switch id for Segment.\n", "title": "Pre-created logical switch id for Segment" }, "advanced_config": { "title": "Advanced configuration for Segment", "description": "Advanced configuration for Segment.\n", "$ref": "#/definitions/SegmentAdvancedConfig" }, "l2_extension": { "title": "Configuration for extending Segment through L2 VPN", "description": "Configuration for extending Segment through L2 VPN", "$ref": "#/definitions/L2Extension" }, "type": { "readOnly": true, "enum": [ "ROUTED", "EXTENDED", "DISCONNECTED" ], "type": "string", "description": "Segment type based on configuration.\n", "title": "Segment type" }, "domain_name": { "type": "string", "description": "DNS domain name", "title": "DNS domain name" } } } ], "description": "Segment configuration to attach workloads.\n", "title": "Segment configuration" }, "LBAppProfile": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "discriminator": "resource_type", "x-vmw-nsx-module": "ManagerNode", "required": [ "resource_type" ], "type": "object", "properties": { "resource_type": { "description": "An application profile can be bound to a virtual server\nto specify the application protocol characteristics. It is used to\ninfluence how load balancing is performed. Currently, three types of\napplication profiles are supported: LBFastTCPProfile,\nLBFastUDPProfile and LBHttpProfile.\nLBFastTCPProfile or LBFastUDPProfile is typically\nused when the application is using a custom protocol or a standard protocol\nnot supported by the load balancer. It is also used in cases where the user\nonly wants L4 load balancing mainly because L4 load balancing has much\nhigher performance and scalability, and/or supports connection mirroring.\nLBHttpProfile is used for both HTTP and HTTPS applications.\nThough application rules, if bound to the virtual server, can be used\nto accomplish the same goal, LBHttpProfile is intended to\nsimplify enabling certain common use cases.\n", "enum": [ "LBHttpProfile", "LBFastTcpProfile", "LBFastUdpProfile" ], "type": "string" } } } ] }, "LbServiceListResult": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "LoadBalancer", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/LbService" }, "type": "array", "description": "paginated list of load balancer services", "title": "paginated list of load balancer services" } } } ] }, "LbHttpRequestUriCondition": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbRuleCondition" }, { "required": [ "uri" ], "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "match_type": { "description": "Match type of URI", "default": "REGEX", "enum": [ "STARTS_WITH", "ENDS_WITH", "EQUALS", "CONTAINS", "REGEX" ], "type": "string" }, "uri": { "type": "string", "description": "A string used to identify resource", "title": "A string used to identify resource" }, "case_sensitive": { "default": true, "type": "boolean", "description": "If true, case is significant when comparing URI.\n", "title": "A case sensitive flag for URI comparing" } } } ], "description": "This condition is used to match URIs(Uniform Resource Identifier) of HTTP\nrequest messages. The URI field can be specified as a regular expression.\nIf an HTTP request message is requesting an URI which matches specified\nregular expression, it matches the condition.\nThe syntax of whole URI looks like this:\nscheme:[//[user[:password]@]host[:port]][/path][?query][#fragment]\nThis condition matches only the path part of entire URI.\nWhen match_type field is specified as REGEX, the uri field is used as a\nregular expression to match URI path of HTTP requests. For example, to\nmatch any URI that has \"/image/\" or \"/images/\", uri field can be specified\nas: \"/image[s]?/\".\nNamed capturing groups can be used in the uri field to capture substrings\nof matched URIs and store them in variables for use in LbRuleAction. For\nexample, specify uri field as:\n\"/news/(?<year>\\d+)/(?<month>\\d+)/(?<article>.*)\"\nIf the URI path is /articles/news/2017/06/xyz.html, then substring \"2017\"\nis captured in variable year, \"06\" is captured in variable month, and\n\"xyz.html\" is captured in variable article. These variables can then\nbe used in an LbRuleAction field which supports variables, such as uri\nfield of LbHttpRequestUriRewriteAction. For example, set the uri field\nof LbHttpRequestUriRewriteAction as:\n\"/articles/news/$year-$month-$article\"\nThen the URI path /articles/news/2017/06/xyz.html is rewritten to:\n\"/articles/news/2017-06-xyz.html\"\n", "title": "Condition to match URIs of HTTP request messages" }, "AdvertisementConfig": { "x-vmw-nsx-module": "Routing", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "Routing", "type": "object", "properties": { "advertise_nsx_connected_routes": { "default": false, "type": "boolean", "description": "Flag to advertise all connected routes", "title": "Flag to advertise all connected routes" }, "advertise_lb_vip": { "default": false, "type": "boolean", "description": "Flag to advertise lb vip", "title": "Flag to advertise lb vip" }, "advertise_static_routes": { "default": false, "type": "boolean", "description": "Flag to advertise all static routes", "title": "Flag to advertise all static routes" }, "logical_router_id": { "readOnly": true, "type": "string", "description": "Logical router id", "title": "Logical router id" }, "advertise_nat_routes": { "default": false, "type": "boolean", "description": "Flag to advertise all routes of nat", "title": "Flag to advertise all routes of nat" }, "enabled": { "default": false, "type": "boolean", "description": "Flag to enable this configuration", "title": "Flag to enable this configuration" }, "advertise_lb_snat_ip": { "default": false, "type": "boolean", "description": "Flag to advertise all lb SNAT ips", "title": "Flag to advertise all lb SNAT ips" } } } ] }, "LBPoolListResult": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/LBPool" }, "type": "array", "description": "LBPool list results", "title": "LBPool list results" } } } ], "description": "Paged Collection of LBPool", "title": "Paged Collection of LBPool" }, "License": { "x-vmw-nsx-module": "License", "description": "license properties", "allOf": [ { "$ref": "#/definitions/Resource" }, { "x-vmw-nsx-module": "License", "type": "object", "properties": { "features": { "readOnly": true, "type": "string", "description": "semicolon delimited feature list", "title": "semicolon delimited feature list" }, "description": { "readOnly": true, "type": "string", "description": "license edition", "title": "license edition" }, "product_version": { "readOnly": true, "type": "string", "description": "product version", "title": "product version" }, "expiry": { "description": "date that license expires", "format": "int64", "readOnly": true, "type": "integer" }, "is_eval": { "readOnly": true, "type": "boolean", "description": "true for evalution license", "title": "true for evalution license" }, "is_mh": { "readOnly": true, "type": "boolean", "description": "multi-hypervisor support", "title": "multi-hypervisor support" }, "license_key": { "type": "string", "description": "license key", "title": "license key" }, "is_expired": { "readOnly": true, "type": "boolean", "description": "whether the license has expired", "title": "whether the license has expired" }, "product_name": { "readOnly": true, "type": "string", "description": "product name", "title": "product name" }, "capacity_type": { "readOnly": true, "enum": [ "VM", "CPU", "USER" ], "type": "string", "description": "license metric", "title": "license metric" }, "quantity": { "readOnly": true, "format": "int64", "type": "integer", "description": "license capacity; 0 for unlimited", "title": "license capacity; 0 for unlimited" } } } ] }, "NodeStatus": { "x-vmw-nsx-module": "FabricNode", "type": "object", "description": "Runtime status information of the fabric node.", "properties": { "mpa_connectivity_status": { "readOnly": true, "enum": [ "UP", "DOWN", "UNKNOWN" ], "type": "string", "description": "Indicates the fabric node's MP<->MPA channel connectivity status, UP, DOWN, UNKNOWN.", "title": "Indicates the fabric node's MP<->MPA channel connectivity status, UP, DOWN, UNKNOWN." }, "lcp_connectivity_status_details": { "description": "Details, if any, about the current LCP<->CCP channel connectivity status of the fabric node.", "title": "Details, if any, about the current LCP<->CCP channel connectivity status of the fabric node.", "default": [], "items": { "$ref": "#/definitions/ControlConnStatus" }, "readOnly": true, "type": "array" }, "mpa_connectivity_status_details": { "readOnly": true, "type": "string", "description": "Details, if any, about the current MP<->MPA channel connectivity status of the fabric node.", "title": "Details, if any, about the current MP<->MPA channel connectivity status of the fabric node." }, "external_id": { "type": "string", "description": "HostNode external id", "title": "HostNode external id" }, "software_version": { "readOnly": true, "type": "string", "description": "Software version of the fabric node.", "title": "Software version of the fabric node." }, "maintenance_mode": { "readOnly": true, "enum": [ "OFF", "ENTERING", "ON", "EXITING" ], "type": "string", "description": "Indicates the fabric node's status of maintenance mode, OFF, ENTERING, ON, EXITING.", "title": "Indicates the fabric node's status of maintenance mode, OFF, ENTERING, ON, EXITING." }, "inventory_sync_paused": { "readOnly": true, "type": "boolean", "description": "Is true if inventory sync is paused else false", "title": "Is true if inventory sync is paused else false" }, "system_status": { "readOnly": true, "title": "Node status properties", "description": "Node status properties", "$ref": "#/definitions/NodeStatusProperties" }, "inventory_sync_reenable_time": { "description": "Inventory sync auto re-enable target time, in epoch milis", "format": "int64", "readOnly": true, "type": "integer" }, "lcp_connectivity_status": { "description": "Indicates the fabric node's LCP<->CCP channel connectivity status, UP, DOWN, DEGRADED, UNKNOWN.", "title": "Indicates the fabric node's LCP<->CCP channel connectivity status, UP, DOWN, DEGRADED, UNKNOWN.", "default": "UNKNOWN", "enum": [ "UP", "DOWN", "DEGRADED", "UNKNOWN" ], "readOnly": true, "type": "string" }, "last_heartbeat_timestamp": { "description": "Timestamp of the last heartbeat status change, in epoch milliseconds.", "format": "int64", "readOnly": true, "type": "integer" }, "last_sync_time": { "description": "Timestamp of the last successful update of Inventory, in epoch milliseconds.", "format": "int64", "readOnly": true, "type": "integer" }, "host_node_deployment_status": { "readOnly": true, "enum": [ "NOT_PREPARED", "INSTALL_IN_PROGRESS", "INSTALL_FAILED", "INSTALL_SUCCESSFUL", "UNINSTALL_IN_PROGRESS", "UNINSTALL_FAILED", "UNINSTALL_SUCCESSFUL", "UPGRADE_IN_PROGRESS", "UPGRADE_FAILED", "PENDING_UPGRADE", "NOT_AVAILABLE", "VM_DEPLOYMENT_QUEUED", "VM_DEPLOYMENT_IN_PROGRESS", "VM_DEPLOYMENT_FAILED", "VM_POWER_ON_IN_PROGRESS", "VM_POWER_ON_FAILED", "REGISTRATION_PENDING", "NODE_NOT_READY", "NODE_READY", "VM_POWER_OFF_IN_PROGRESS", "VM_POWER_OFF_FAILED", "VM_UNDEPLOY_IN_PROGRESS", "VM_UNDEPLOY_FAILED", "VM_UNDEPLOY_SUCCESSFUL", "EDGE_CONFIG_ERROR", "VM_DEPLOYMENT_RESTARTED", "REGISTRATION_FAILED" ], "type": "string", "description": "This enum specifies the current nsx install state for host node or\ncurrent deployment and ready state for edge node.\nThe ready status 'NODE_READY' indicates whether edge node is\nready to become a transport node.\nThe status 'EDGE_CONFIG_ERROR' indicates that edge hardware or underlying\nhost is not supported.\n", "title": "Install/Uninstall status of deployment." } }, "title": "Runtime status information of the fabric node." }, "RelatedAttribute": { "description": "Related attribute on the target resource for conditional constraints based\non related attribute value.\nExample - destinationGroups/service/action is related attribute of\n sourceGroups in communcation entry.\n", "title": "Related attribute details.", "required": [ "attribute" ], "x-vmw-nsx-module": "PolicyConstraints", "type": "object", "properties": { "attribute": { "type": "string", "description": "Related attribute name on the target entity.", "title": "Related attribute name on the target entity." } } }, "VlanMirrorSource": { "x-vmw-nsx-module": "PortMirroring", "allOf": [ { "$ref": "#/definitions/MirrorSource" }, { "x-vmw-nsx-module": "PortMirroring", "required": [ "vlan_ids" ], "type": "object", "properties": { "vlan_ids": { "minItems": 1, "items": { "type": "integer", "description": "Virtual Local Area Network Identifier", "format": "int64" }, "type": "array", "description": "Source VLAN ID list", "title": "Source VLAN ID list" } } } ] }, "L3VpnStatisticsPerEnforcementPoint": { "description": "L3Vpn Statistics Per Enforcement Point.\n", "title": "L3Vpn Statistics Per Enforcement Point", "required": [ "resource_type" ], "discriminator": "resource_type", "x-vmw-nsx-module": "PolicyStatistics", "type": "object", "properties": { "resource_type": { "enum": [ "IPSecVpnSessionStatistics" ], "type": "string" }, "enforcement_point_path": { "readOnly": true, "type": "string", "description": "Policy Path referencing the enforcement point wehere the statistics are fetched.\n", "title": "Enforcement point Path" } } }, "StatsConfiguration": { "x-vmw-nsx-module": "NsxDashboard", "allOf": [ { "$ref": "#/definitions/WidgetConfiguration" }, { "x-vmw-nsx-module": "NsxDashboard", "type": "object", "properties": { "navigation": { "maxLength": 1024, "type": "string", "description": "Hyperlink of the specified UI page that provides details.", "title": "Navigation to a specified UI page" }, "stat": { "title": "Expression for feching statistic of an entity", "description": "Expression that fetches statistic. It can be used to show the characteristics of entities such as Logical Switches, Firewall Rules, and so on. For example, number of logical switches and their admin states. If stat is not provided, then it will not be displayed.", "$ref": "#/definitions/StatItem" }, "sections": { "minItems": 0, "items": { "$ref": "#/definitions/DonutSection" }, "type": "array", "description": "Sections", "title": "Sections" }, "label": { "title": "Label of the Stats Configuration", "description": "Displayed at the sections, by default. It labels the entities of sections. If label is not provided, the sections are not labelled.", "$ref": "#/definitions/Label" } } } ], "description": "Represents configuration of a statistic for an entity. Example, number of logical switches and their admin states.", "title": "Stats Configuration" }, "IpPoolRange": { "x-vmw-nsx-module": "Ipam", "description": "A set of IPv4 or IPv6 addresses defined by a start and end address.", "allOf": [ { "$ref": "#/definitions/Resource" }, { "x-vmw-nsx-module": "Ipam", "required": [ "start", "end" ], "type": "object", "properties": { "start": { "description": "The start IP Address of the IP Range.", "format": "ip", "type": "string" }, "end": { "description": "The end IP Address of the IP Range.", "format": "ip", "type": "string" } } } ] }, "LogicalPortMacAddressListResult": { "x-vmw-nsx-module": "AggSvcLogicalPort", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "AggSvcLogicalPort", "type": "object", "properties": { "logical_port_id": { "readOnly": true, "type": "string", "description": "The id of the logical port", "title": "The id of the logical port" }, "last_update_timestamp": { "description": "Timestamp when the data was last updated; unset if data source has never updated the data.", "format": "int64", "readOnly": true, "type": "integer" }, "results": { "items": { "$ref": "#/definitions/LogicalPortMacTableEntry" }, "type": "array" }, "transport_node_id": { "readOnly": true, "type": "string", "description": "Transport node identifier", "title": "Transport node identifier" } } } ] }, "ConnectivityAdvancedConfig": { "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "description": "Advanced configuration for Policy connectivity", "properties": { "connectivity": { "default": "ON", "enum": [ "ON", "OFF" ], "type": "string", "description": "Connectivity configuration to manually connect (ON) or disconnect (OFF)\na logical entity from network topology.\n", "title": "Connectivity configuration" } }, "title": "Advanced configuration for Policy connectivity" }, "LbHttpRequestCookieCondition": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbRuleCondition" }, { "required": [ "cookie_name", "cookie_value" ], "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "match_type": { "description": "Match type of cookie value", "default": "REGEX", "enum": [ "STARTS_WITH", "ENDS_WITH", "EQUALS", "CONTAINS", "REGEX" ], "type": "string" }, "cookie_name": { "type": "string", "description": "Name of cookie", "title": "Name of cookie" }, "cookie_value": { "type": "string", "description": "Value of cookie", "title": "Value of cookie" }, "case_sensitive": { "default": true, "type": "boolean", "description": "If true, case is significant when comparing cookie value.\n", "title": "A case sensitive flag for cookie value comparing" } } } ], "description": "This condition is used to match HTTP request messages by cookie which is a\nspecific type of HTTP header. The match_type and case_sensitive define how\nto compare cookie value.\n", "title": "Condition to match HTTP request cookie" }, "LbPoolMemberStatistics": { "x-vmw-nsx-module": "AggSvcLb", "required": [ "statistics", "ip_address" ], "type": "object", "properties": { "statistics": { "title": "Pool member statistics counter", "description": "Pool member statistics counter", "$ref": "#/definitions/LbStatisticsCounter" }, "ip_address": { "description": "Pool member IP address", "format": "ip", "type": "string" }, "port": { "description": "The port is configured in pool member. For virtual server port range\ncase, pool member port must be null.\n", "format": "port-or-range", "type": "string" } } }, "LogicalSwitchState": { "x-vmw-nsx-module": "LogicalSwitch", "allOf": [ { "$ref": "#/definitions/ConfigurationState" }, { "x-vmw-nsx-module": "LogicalSwitch", "type": "object", "properties": { "logical_switch_id": { "readOnly": true, "type": "string", "description": "Id of the logical switch", "title": "Id of the logical switch" } } } ] }, "ChildBgpRoutingConfig": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "BgpRoutingConfig" ], "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "BgpRoutingConfig": { "title": "BgpRoutingConfig", "description": "Contains the actual BgpRoutingConfig object.\n", "$ref": "#/definitions/BgpRoutingConfig" } } } ], "description": "Child wrapper object for BgpRoutingConfig, used in hierarchical API.", "title": "Wrapper object for BgpRoutingConfig" }, "DonutPart": { "description": "Represents an entity or portion to be plotted on a donut or stats chart.", "title": "Portion of a donut or stats chart", "required": [ "field" ], "x-vmw-nsx-module": "NsxDashboard", "type": "object", "properties": { "field": { "maxLength": 1024, "type": "string", "description": "A numerical value that represents the portion or entity of the donut or stats chart.", "title": "Value of the portion or entity of donut or stats chart" }, "render_configuration": { "minItems": 0, "items": { "$ref": "#/definitions/RenderConfiguration" }, "type": "array", "description": "Additional rendering or conditional evaluation of the field values to be performed, if any.", "title": "Render Configuration" }, "tooltip": { "minItems": 0, "items": { "$ref": "#/definitions/Tooltip" }, "type": "array", "description": "Multi-line text to be shown on tooltip while hovering over the portion.", "title": "Multi-line tooltip" }, "label": { "title": "Label of the portion or entity of donut or stats chart", "description": "If a section 'template' holds this donut or stats part, then the label is auto-generated from the fetched field values after applying the template.", "$ref": "#/definitions/Label" } } }, "LbPoolListResult": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "LoadBalancer", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/LbPool" }, "type": "array", "description": "paginated list of pools", "title": "paginated list of pools" } } } ] }, "LBSnatAutoMap": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/LBSnatTranslation" }, { "x-vmw-nsx-module": "ManagerNode", "type": "object" } ] }, "ResourceLink": { "x-vmw-nsx-module": "Common", "type": "object", "description": "A link to a related resource", "properties": { "action": { "readOnly": true, "type": "string", "description": "Optional action", "title": "Optional action" }, "href": { "readOnly": true, "type": "string", "description": "Link to resource", "title": "Link to resource" }, "rel": { "readOnly": true, "type": "string", "description": "Custom relation type (follows RFC 5988 where appropriate definitions exist)", "title": "Link relation type" } }, "title": "A link to a related resource" }, "IPSet": { "x-vmw-nsx-module": "IPSet", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "IPSet", "type": "object", "properties": { "ip_addresses": { "items": { "description": "IPElement can be a single IP address, IP address range or a Subnet. Its\ntype can be of IPv4 or IPv6. Supported list of formats are \"192.168.1.1\",\n\"192.168.1.1-192.168.1.100\", \"192.168.0.0/24\",\n\"fe80::250:56ff:fe83:318c\",\n\"fe80::250:56ff:fe83:3181-fe80::250:56ff:fe83:318c\",\n\"fe80::250:56ff:fe83:318c/64\"\n", "format": "address-or-block-or-range", "type": "string" }, "type": "array", "description": "IP addresses", "maxItems": 4000, "title": "IP addresses" } } } ], "description": "IPSet is used to group individual IP addresses, range of IP addresses or subnets.\nAn IPSet is a homogeneous group of IP addresses, either of type IPv4 or of type\nIPv6. IPSets can be used as source or destination in firewall rules. These can\nalso be used as members of NSGroups.\n", "title": "Set of one or more IP addresses" }, "LbTcpProfile": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "nagle_algorithm_enabled": { "default": true, "type": "boolean", "description": "Setting this option to enable or disable Nagle's algorithm.", "title": "Setting this option to enable or disable Nagle's algorithm." }, "receive_window_size": { "description": "If the field is not specified, the load balancer will use the default\nsetting per load balancer service flavor.\n", "format": "int64", "title": "Sets max TCP receive buffer, specified in bytes.", "maximum": 2147483647, "minimum": 1024, "type": "integer" }, "fin_wait2_timeout": { "description": "If the field is not specified, the load balancer will use the default\nsetting per load balancer service flavor.\n", "format": "int64", "title": "Sets how long TCP connections in FIN_WAIT2 state are kept.", "maximum": 2147483647, "minimum": 0, "type": "integer" }, "max_syn_retransmissions": { "description": "If the field is not specified, the load balancer will use the default\nsetting per load balancer service flavor.\n", "format": "int64", "title": "Sets the max number of times TCP SYN is retransmitted before failing an\nattempt to connect.\n", "maximum": 127, "minimum": 1, "type": "integer" }, "transmit_window_size": { "description": "If the field is not specified, the load balancer will use the default\nsetting per load balancer service flavor.\n", "format": "int64", "title": "Sets max TCP transmit buffer, specified in bytes.", "maximum": 2147483647, "minimum": 2048, "type": "integer" } } } ], "description": "TCP profile allows customization of TCP stack behavior for each\napplication. As TCP connections are terminated (or initiated) on the load\nbalancer only for L7 virtual servers, TCP profiles are applicable only to\nthem. As the desired TCP characteristics (e.g. Rx/Tx buffers) may be\ndifferent for client (typically on WAN) and server (typically on LAN)\nsides, two separate profiles can be bound to virtual server, one for\nclient-side (LbVirtualServer.client_tcp_profile_id) and another for\nserver-side (LbVirtualServer.server_tcp_profile_id).\n", "title": "TCP profile allows customization of TCP stack behavior." }, "IPSecVPNTunnelProfileListResult": { "x-vmw-nsx-module": "IPSecVPN", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "IPSecVPN", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/IPSecVPNTunnelProfile" }, "type": "array", "description": "IPSec Tunnel Profile list results", "title": "IPSec Tunnel Profile list results" } } } ], "description": "List all the tunnel profiles.", "title": "List tunnel profiles" }, "EdgeCluster": { "x-vmw-nsx-module": "EdgeClusters", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "EdgeClusters", "type": "object", "properties": { "member_node_type": { "description": "Edge cluster is homogenous collection of transport nodes.\nHence all transport nodes of the cluster must be of same type.\nThis readonly field shows the type of transport nodes.\n", "enum": [ "EDGE_NODE", "PUBLIC_CLOUD_GATEWAY_NODE", "UNKNOWN" ], "readOnly": true, "type": "string" }, "cluster_profile_bindings": { "items": { "$ref": "#/definitions/ClusterProfileTypeIdEntry" }, "type": "array", "description": "Edge cluster profile bindings", "title": "Edge cluster profile bindings" }, "members": { "items": { "$ref": "#/definitions/EdgeClusterMember" }, "type": "array", "description": "EdgeCluster only supports homogeneous members.\nThese member should be backed by either EdgeNode or PublicCloudGatewayNode.\nTransportNode type of these nodes should be the same.\nDeploymentType (VIRTUAL_MACHINE|PHYSICAL_MACHINE) of these EdgeNodes is\nrecommended to be the same. EdgeCluster supports members of different\ndeployment types.\n", "title": "Edge cluster members" }, "deployment_type": { "description": "This field is a readonly field which shows the deployment_type of members.\nIt returns UNKNOWN if there are no members, and returns VIRTUAL_MACHINE|\nPHYSICAL_MACHINE if all edge members are VIRTUAL_MACHINE|PHYSICAL_MACHINE.\nIt returns HYBRID if the cluster contains edge members of both types\nVIRTUAL_MACHINE and PHYSICAL_MACHINE.\n", "enum": [ "VIRTUAL_MACHINE", "PHYSICAL_MACHINE", "UNKNOWN" ], "readOnly": true, "type": "string" } } } ] }, "IPFIXCollectorProfileUIResourceList": { "x-vmw-nsx-module": "PolicyUi", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "required": [ "ipfix_collectors" ], "x-vmw-nsx-module": "PolicyUi", "type": "object", "properties": { "ipfix_collectors": { "items": { "$ref": "#/definitions/IPFIXCollectorProfile" }, "type": "array", "description": "IPFIX collector profiles", "title": "IPFIX collector profiles" } } } ], "description": "List of IPFIX Collectors\n", "title": "IPFIX Collector Instance" }, "DSSection": { "x-vmw-nsx-module": "DistributedServices", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "DistributedServices", "required": [ "stateful", "section_type" ], "type": "object", "properties": { "stateful": { "readOnly": false, "type": "boolean", "description": "Stateful or Stateless nature of distributed service section is enforced on all rules inside the section. Layer3 sections can be stateful or stateless. Layer2 sections can only be stateless.", "title": "Stateful nature of the distributed service rules in the section." }, "is_default": { "readOnly": true, "type": "boolean", "description": "It is a boolean flag which reflects whether a distributed service section is default section or not. Each Layer 3 and Layer 2 section will have at least and at most one default section.", "title": "Default section flag" }, "applied_tos": { "description": "List of objects where the rules in this section will be enforced. This will take precedence over rule level appliedTo.", "title": "AppliedTo List", "items": { "$ref": "#/definitions/ResourceReference" }, "readOnly": false, "maxItems": 128, "type": "array" }, "rule_count": { "readOnly": true, "format": "int64", "type": "integer", "description": "Number of rules in this section.", "title": "Rule count" }, "section_type": { "readOnly": false, "enum": [ "LAYER2", "LAYER3", "L3REDIRECT" ], "type": "string", "description": "Type of the rules which a section can contain. Only homogeneous sections are supported.", "title": "Section Type" } } } ] }, "PBRSection": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "rule_count": { "readOnly": true, "format": "int64", "type": "integer", "description": "Number of rules in this section.", "title": "Rule count" } } } ] }, "ServiceInsertionSection": { "x-vmw-nsx-module": "ServiceInsertionRules", "allOf": [ { "$ref": "#/definitions/DSSection" }, { "x-vmw-nsx-module": "ServiceInsertionRules", "type": "object" } ], "description": "A ServiceInsertion section composed of ServiceInsertion Rules.", "title": "ServiceInsertion Section" }, "LogicalRouterIPTunnelPort": { "x-vmw-nsx-module": "LogicalRouterPorts", "allOf": [ { "$ref": "#/definitions/LogicalRouterPort" }, { "x-vmw-nsx-module": "LogicalRouterPorts", "type": "object", "properties": { "subnets": { "description": "Tunnel port subnets.", "title": "Tunnel port subnets", "minItems": 1, "items": { "$ref": "#/definitions/IPSubnet" }, "readOnly": true, "maxItems": 1, "type": "array" }, "admin_state": { "readOnly": true, "enum": [ "UP", "DOWN" ], "type": "string", "description": "Admin state of port.", "title": "Admin state of port" }, "vpn_session_id": { "readOnly": true, "type": "string", "description": "Associated VPN session identifier.", "title": "VPN session identifier" } } } ], "description": "Logical router IP tunnel port.", "title": "Logical router IP tunnel port" }, "ResourceAllocation": { "description": "Specify limit, shares and reservation for all kinds of traffic.\nValues for limit and reservation are expressed in percentage. And for shares,\nthe value is expressed as a number between 1-100.\nThe overall reservation among all traffic types should not exceed 75%.\nOtherwise, the API request will be rejected.\n", "title": "Resource allocation information for a host infrastructure traffic type", "required": [ "reservation", "traffic_type", "limit", "shares" ], "x-vmw-nsx-module": "NiocProfile", "type": "object", "properties": { "reservation": { "description": "Minimum guaranteed bandwidth percentage", "title": "Minimum guaranteed bandwidth percentage", "default": 0, "maximum": 75, "minimum": 0, "type": "number" }, "traffic_type": { "title": "Resource allocation traffic type", "description": "Resource allocation traffic type", "$ref": "#/definitions/HostInfraTrafficType" }, "limit": { "description": "The limit property specifies the maximum bandwidth allocation for a given\ntraffic type and is expressed in percentage. The default value for this\nfield is set to -1 which means the traffic is unbounded for the traffic\ntype. All other negative values for this property is not supported\nand will be rejected by the API.\n", "title": "Maximum bandwidth percentage", "default": -1, "maximum": 100, "minimum": -1, "type": "number" }, "shares": { "description": "Shares", "title": "Shares", "default": 50, "format": "int32", "maximum": 100, "minimum": 1, "type": "integer" } } }, "LBPoolMemberGroup": { "x-vmw-nsx-module": "ManagerNode", "required": [ "group_path" ], "type": "object", "properties": { "group_path": { "type": "string", "description": "Load balancer pool support Group as dynamic pool members.\nThe IP list of the Group would be used as pool member IP setting.\n", "title": "Grouping object path" }, "port": { "description": "If port is specified, all connections will be sent to this port.\nIf unset, the same port the client connected to will be used, it could\nbe overridden by default_pool_member_ports setting in virtual server.\nThe port should not specified for multiple ports case.\n", "format": "int32", "title": "Pool member port for all IP addresses of the grouping object", "maximum": 65535, "minimum": 1, "type": "integer" } } }, "LbHttpResponseHeaderRewriteAction": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbRuleAction" }, { "required": [ "header_value", "header_name" ], "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "header_value": { "type": "string", "description": "Value of header field", "title": "Value of header field" }, "header_name": { "type": "string", "description": "Name of a header field of HTTP request message", "title": "Name of a header field of HTTP request message" } } } ], "description": "This action is used to rewrite header fields of HTTP response messages to\nspecified new values at HTTP_RESPONSE_REWRITE phase. One action can be used\nto rewrite one header field. To rewrite multiple header fields, multiple\nactions must be defined.\nCaptured variables and built-in variables can be used in the header_value\nfield, header_name field does not support variables.\n", "title": "Action to rewrite HTTP response header fields" }, "LbPoolStatistics": { "x-vmw-nsx-module": "AggSvcLb", "required": [ "statistics", "pool_id" ], "type": "object", "properties": { "last_update_timestamp": { "type": "integer", "description": "Timestamp when the data was last updated", "format": "int64" }, "statistics": { "title": "Virtual server statistics counter", "description": "Virtual server statistics counter", "$ref": "#/definitions/LbStatisticsCounter" }, "pool_id": { "type": "string", "description": "Load balancer pool identifier", "title": "Load balancer pool identifier" }, "members": { "items": { "$ref": "#/definitions/LbPoolMemberStatistics" }, "type": "array", "description": "Statistics of load balancer pool members", "title": "Statistics of load balancer pool members" } } }, "RelatedData": { "x-vmw-nsx-module": "Search", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "Search", "type": "object", "properties": { "alias": { "type": "string", "description": "Alias for the related type", "title": "Alias" }, "results": { "items": { "type": "object" }, "type": "array", "description": "Array of related objects", "title": "Related objects" } } } ], "description": "The results array will contain all the related objects\n", "title": "Related object details" }, "DirectoryAdDomain": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/DirectoryDomain" }, { "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "base_distinguished_name": { "type": "string", "description": "Each active directory domain has a domain naming context (NC), which contains domain-specific data. The root of this naming context is represented by a domain's distinguished name (DN) and is typically referred to as the NC head.", "title": "Directory domain base distinguished name" }, "sync_settings": { "title": "Directory domain sync settings", "description": "Each domain sync settings can be changed using this object. It is not required since there are default values used if there is no specification for this object.", "$ref": "#/definitions/DirectoryDomainSyncSettings" } } } ], "description": "Active Directory Domain", "title": "Active Directory Domain" }, "EnforcementPointConnectionInfo": { "description": "Contains information required to connect to enforcement point", "title": "Enforcement point connection info", "required": [ "resource_type" ], "discriminator": "resource_type", "x-vmw-nsx-module": "PolicyEnforcementPointManagement", "type": "object", "properties": { "enforcement_point_address": { "type": "string", "description": "Value of this property could be hostname or ip. eg. For NSX-T manager\nrunning on default port the value can be \"10.192.1.1\", for NSX-T manager\nrunning on custom port value can be \"192.168.1.1:32789\". For NSX-T\nmanager in VMC deployments value can have url prefix\neg. \"192.168.1.1:5480/nsxapi\"\n", "title": "IP Address or hostname of the Enforcement point" }, "resource_type": { "enum": [ "NSXTConnectionInfo", "NSXVConnectionInfo" ], "type": "string" } } }, "ChildDomain": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "Domain" ], "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "Domain": { "title": "Domain", "description": "Contains the actual domain object\n", "$ref": "#/definitions/Domain" } } } ], "description": "Child wrapper object for domain, used in hierarchical API", "title": "Wrapper object for Domain" }, "NodeInterfacePropertiesListResult": { "x-vmw-nsx-module": "ApplianceStats", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "ApplianceStats", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/NodeInterfaceProperties" }, "type": "array", "description": "Node interface property results", "title": "Node interface property results" } } } ], "description": "Node network interface properties list results", "title": "Node network interface properties list results" }, "L2VpnSession": { "x-vmw-nsx-module": "L2VPN", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "required": [ "l2vpn_service_id", "transport_tunnels" ], "x-vmw-nsx-module": "L2VPN", "type": "object", "properties": { "l2vpn_service_id": { "type": "string", "description": "L2VPN service id", "title": "L2VPN service id" }, "tunnel_encapsulation": { "readOnly": true, "title": "Tunnel encapsulation config", "description": "Tunnel encapsulation config.", "$ref": "#/definitions/L2VpnTunnelEncapsulation" }, "enabled": { "default": true, "type": "boolean", "description": "Enable to extend all the associated logical switches.", "title": "Enable L2VPN session" }, "transport_tunnels": { "description": "List of transport tunnels for redundancy.", "title": "List of transport tunnels", "minItems": 1, "items": { "$ref": "#/definitions/ResourceReference" }, "maxItems": 1, "type": "array" } } } ], "description": "Defines the tunnel local and peer addresses along with the multiple tansport tunnels for redundancy. L2VpnSession belongs on to only one L2VpnService.", "title": "L2VPN Session" }, "StatItem": { "description": "Displayed as a single number. It can be used to show the characteristics of entities such as Logical Switches, Firewall Rules, and so on. For example, number of logical switches and their admin states.", "title": "Statistic of an entity", "required": [ "value" ], "x-vmw-nsx-module": "NsxDashboard", "type": "object", "properties": { "drilldown_id": { "type": "string", "description": "Id of drilldown widget, if any. Id should be a valid id of an existing widget.", "title": "Id of drilldown widget" }, "tooltip": { "minItems": 0, "items": { "$ref": "#/definitions/Tooltip" }, "type": "array", "description": "Multi-line text to be shown on tooltip while hovering over the stat.", "title": "Multi-line tooltip" }, "value": { "maxLength": 1024, "type": "string", "description": "Expression for stat to be displayed.", "title": "Stat" } } }, "DiscoveredNodeListResult": { "x-vmw-nsx-module": "InventoryCmObj", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "InventoryCmObj", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/DiscoveredNode" }, "type": "array", "description": "Discovered Node list results", "title": "Discovered Node list results" } } } ], "description": "Discovered Node list result", "title": "Discovered Node list result" }, "SegmentListResult": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/Segment" }, "type": "array", "description": "Segment list results", "title": "Segment list results" } } } ], "description": "Paged collection of Segments", "title": "Paged collection of Segments" }, "NamedTeamingPolicy": { "x-vmw-nsx-module": "UplinkHostSwitchProfile", "allOf": [ { "$ref": "#/definitions/TeamingPolicy" }, { "required": [ "name" ], "x-vmw-nsx-module": "UplinkHostSwitchProfile", "type": "object", "properties": { "name": { "type": "string", "description": "An uplink teaming policy of a given name defined in UplinkHostSwitchProfile. The names of all NamedTeamingPolicies in an UplinkHostSwitchProfile must be different, but a name can be shared by different UplinkHostSwitchProfiles. Different TransportNodes can use different NamedTeamingPolicies having the same name in different UplinkHostSwitchProfiles to realize an uplink teaming policy on a logical switch. An uplink teaming policy on a logical switch can be any policy defined by a user; it does not have to be a single type of FAILOVER or LOADBALANCE. It can be a combination of types, for instance, a user can define a policy with name \"MyHybridTeamingPolicy\" as \"FAILOVER on all ESX TransportNodes and LOADBALANCE on all KVM TransportNodes\". The name is the key of the teaming policy and can not be changed once assigned.", "title": "The name of the uplink teaming policy" } } } ], "description": "Uplink Teaming Policy with a name that can be referenced by logical switches", "title": "Uplink Teaming Policy with a name that can be referenced by logical switches" }, "BridgeCluster": { "x-vmw-nsx-module": "BridgeCluster", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "required": [ "bridge_nodes" ], "x-vmw-nsx-module": "BridgeCluster", "type": "object", "properties": { "cluster_profile_bindings": { "items": { "$ref": "#/definitions/ClusterProfileTypeIdEntry" }, "type": "array", "description": "Bridge cluster profile bindings", "title": "Bridge cluster profile bindings" }, "bridge_nodes": { "items": { "$ref": "#/definitions/BridgeClusterNode" }, "type": "array", "description": "Nodes used in bridging", "maxItems": 2, "title": "Nodes used in bridging" } } } ], "description": "Bridge Cluster", "title": "Bridge Cluster" }, "ServiceEntry": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "required": [ "resource_type" ], "discriminator": "resource_type", "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "resource_type": { "enum": [ "IPProtocolServiceEntry", "IGMPTypeServiceEntry", "ICMPTypeServiceEntry", "ALGTypeServiceEntry", "L4PortSetServiceEntry" ], "type": "string" } } } ], "description": "An Service entry that describes traffic", "title": "An Service entry that describes traffic" }, "LbMonitorListResult": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "LoadBalancer", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/LbMonitor" }, "type": "array", "description": "paginated list of load balancer monitors", "title": "paginated list of load balancer monitors" } } } ] }, "IPMirrorDestination": { "x-vmw-nsx-module": "PortMirroring", "allOf": [ { "$ref": "#/definitions/MirrorDestination" }, { "x-vmw-nsx-module": "PortMirroring", "required": [ "destination_ips", "encapsulation_type" ], "type": "object", "properties": { "destination_ips": { "description": "The destination IPs of the mirror packet will be sent to.", "title": "List of destination IP addresses", "minItems": 1, "items": { "description": "IPv4 or IPv6 address", "format": "ip", "type": "string" }, "maxItems": 3, "type": "array" }, "encapsulation_type": { "description": "You can choose GRE, ERSPAN II or ERSPAN III.", "default": "GRE", "enum": [ "GRE", "ERSPAN_TWO", "ERSPAN_THREE" ], "type": "string" }, "erspan_id": { "description": "Used by physical switch for the mirror traffic forwarding.\nMust be provided and only effective when encapsulation type is\nERSPAN type II or type III.\n", "format": "int32", "title": "ERSPAN session id", "maximum": 1023, "minimum": 0, "type": "integer" }, "gre_key": { "format": "int32", "type": "integer", "description": "User-configurable 32-bit key only for GRE", "title": "GRE encapsulation key" } } } ] }, "PBRSectionRuleList": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/PBRSection" }, { "x-vmw-nsx-module": "ManagerNode", "required": [ "rules" ], "type": "object", "properties": { "rules": { "description": "List of PBR rules in the section.", "title": "List of the PBR rules", "items": { "$ref": "#/definitions/PBRRule" }, "readOnly": false, "maxItems": 1000, "type": "array" } } } ] }, "ResourceReference": { "x-vmw-nsx-module": "Common", "type": "object", "description": "A weak reference to an NSX resource.", "properties": { "target_display_name": { "readOnly": true, "maxLength": 255, "type": "string", "description": "Display name of the NSX resource.", "title": "Target display name" }, "is_valid": { "readOnly": true, "type": "boolean", "description": "Will be set to false if the referenced NSX resource has been deleted.", "title": "Target validity" }, "target_id": { "readOnly": false, "maxLength": 64, "type": "string", "description": "Identifier of the NSX resource.", "title": "Target ID" }, "target_type": { "readOnly": false, "maxLength": 255, "type": "string", "description": "Type of the NSX resource.", "title": "Target type" } } }, "QuickSearchResponse": { "x-vmw-nsx-module": "Search", "allOf": [ { "$ref": "#/definitions/Resource" }, { "x-vmw-nsx-module": "Search", "required": [ "results", "result_count" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/TypeGroup" }, "type": "array", "description": "Search results", "title": "Search results" }, "result_count": { "format": "int64", "type": "integer", "description": "Result count", "title": "Result count" } } } ] }, "RelatedApiError": { "x-vmw-nsx-module": "Common", "type": "object", "description": "Detailed information about a related API error", "properties": { "module_name": { "type": "string", "description": "The module name where the error occurred", "title": "The module name where the error occurred" }, "error_message": { "type": "string", "description": "A description of the error", "title": "A description of the error" }, "error_code": { "format": "int64", "type": "integer", "description": "A numeric error code", "title": "A numeric error code" }, "details": { "type": "string", "description": "Further details about the error", "title": "Further details about the error" }, "error_data": { "type": "object", "description": "Additional data about the error", "title": "Additional data about the error" } }, "title": "Detailed information about a related API error" }, "IPSecVPNLocalEndpointListResult": { "x-vmw-nsx-module": "IPSecVPN", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "IPSecVPN", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/IPSecVPNLocalEndpoint" }, "type": "array", "description": "IPSec local endpoint list results", "title": "IPSec local endpoint list results" } } } ], "description": "List all the local endpoints.", "title": "List local endpoints" }, "LbPoolMemberStatus": { "x-vmw-nsx-module": "AggSvcLb", "required": [ "status", "ip_address" ], "type": "object", "properties": { "status": { "enum": [ "UP", "DOWN", "DISABLED", "GRACEFUL_DISABLED", "UNUSED" ], "type": "string", "description": "UP means that pool member is enabled and monitors have marked the pool\nmember as UP. If the pool member has no monitor configured, it would\nbe treated as UP.\nDOWN means that pool member is enabled and monitors have marked the\npool member as DOWN.\nDISABLED means that admin state of pool member is set to DISABLED.\nGRACEFUL_DISABLED means that admin state of pool member is set to\nGRACEFUL_DISABLED.\nUNUSED means that the pool member is not used when the IP list size\nof member group exceeds the maximum setting. The remaining IP addresses\nwould not be used as available backend servers, hence mark the status\nas UNUSED.\n", "title": "Pool member status" }, "failure_cause": { "type": "string", "description": "The healthcheck failure cause when status is DOWN", "title": "The healthcheck failure cause when status is DOWN" }, "last_check_time": { "type": "integer", "description": "Timestamp in milliseconds since epoch", "format": "int64" }, "ip_address": { "description": "Pool member IP address", "format": "ip", "type": "string" }, "last_state_change_time": { "type": "integer", "description": "Timestamp in milliseconds since epoch", "format": "int64" }, "port": { "description": "The port is configured in pool member. For virtual server port range\ncase, pool member port must be null.\n", "format": "port-or-range", "type": "string" } } }, "LBHttpMonitorProfile": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/LBActiveMonitor" }, { "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "request_url": { "default": "/", "type": "string", "description": "For HTTP active healthchecks, the HTTP request url sent can be\ncustomized and can include query parameters.\n", "title": "Customized HTTP request url for active health checks" } } } ], "description": "Active healthchecks are disabled by default and can be enabled for a\nserver pool by binding a health monitor to the Group through the LBRule\nobject. This represents active health monitoring over HTTP.\nActive healthchecks are initiated periodically, at a configurable\ninterval, to each member of the Group. Only if a healthcheck fails\nconsecutively for a specified number of times (fall_count) to a member will\nthe member status be marked DOWN. Once a member is DOWN, a specified\nnumber of consecutive successful healthchecks (rise_count) will bring the\nmember back to UP state. After a healthcheck is initiated, if it does not\ncomplete within a certain period, then also the healthcheck is considered\nto be unsuccessful.\nCompleting a healthcheck within timeout means establishing a connection\n(TCP or SSL), if applicable, sending the request and receiving the\nresponse, all within the configured timeout.\n", "title": "LBMonitorProfile for active health checks over HTTP" }, "LbPersistenceCookieTime": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbCookieTime" }, { "x-vmw-nsx-module": "LoadBalancer", "required": [ "cookie_max_idle" ], "type": "object", "properties": { "cookie_max_idle": { "description": "HTTP cookie max-age to expire cookie, only available for insert mode.\n", "format": "int64", "title": "persistence cookie max idle time in seconds", "maximum": 2147483647, "minimum": 1, "type": "integer" } } } ] }, "ChildServiceInterface": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "ServiceInterface" ], "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "ServiceInterface": { "title": "ServiceInterface", "description": "Contains the actual ServiceInterface object.\n", "$ref": "#/definitions/ServiceInterface" } } } ], "description": "Child wrapper object for ServiceInterface, used in hierarchical API.", "title": "Wrapper object for ServiceInterface" }, "PrefixListResult": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/PrefixList" }, "type": "array", "description": "PrefixList results", "title": "PrefixList results" } } } ], "description": "Paged collection of PrefixLists", "title": "Paged collection of PrefixLists" }, "NSGroup": { "x-vmw-nsx-module": "NSGroup", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "NSGroup", "type": "object", "properties": { "member_count": { "readOnly": true, "format": "int64", "type": "integer", "description": "Count of the members added to this NSGroup", "title": "Count of the members added to this NSGroup" }, "members": { "items": { "$ref": "#/definitions/NSGroupSimpleExpression" }, "type": "array", "description": "Reference to the direct/static members of the NSGroup.\nCan be ID based expressions only. VirtualMachine cannot\nbe added as a static member.\n", "maxItems": 500, "title": "Members of NSGroup" }, "membership_criteria": { "items": { "$ref": "#/definitions/NSGroupExpression" }, "type": "array", "description": "List of tag or name based expressions which define the dynamic membership criteria\nfor this NSGroup. An object must satisfy atleast one of these expressions\nto qualify as a member of this group.\n", "maxItems": 5, "title": "The criteria for membership of this NSGroup" } } } ], "description": "NSGroups are recursive groupings of different NSX elements (logical and physical), typically used in policy definitions.", "title": "Networking and Security Group" }, "LbStatisticsCounter": { "x-vmw-nsx-module": "AggSvcLb", "required": [ "bytes_out", "max_sessions", "total_sessions", "bytes_in", "current_sessions" ], "type": "object", "properties": { "source_ip_persistence_entry_size": { "format": "int64", "type": "integer", "description": "Number of source IP persistence entries", "title": "Number of source IP persistence entries" }, "packets_out": { "format": "int64", "type": "integer", "description": "Number of packets out", "title": "Number of packets out" }, "bytes_out_rate": { "type": "number", "description": "The average number of outbound bytes per second, the number is\naveraged over the last 5 one-second intervals.\n", "title": "The average number of outbound bytes per second, the number is\naveraged over the last 5 one-second intervals.\n" }, "total_sessions": { "format": "int64", "type": "integer", "description": "Number of total sessions", "title": "Number of total sessions" }, "http_request_rate": { "type": "number", "description": "The average number of http requests per second, the number is\naveraged over the last 5 one-second intervals.\n", "title": "The average number of http requests per second, the number is\naveraged over the last 5 one-second intervals.\n" }, "bytes_out": { "format": "int64", "type": "integer", "description": "Number of bytes out", "title": "Number of bytes out" }, "packets_in_rate": { "type": "number", "description": "The average number of inbound packets per second, the number is\naveraged over the last 5 one-second intervals.\n", "title": "The average number of inbound packets per second, the number is\naveraged over the last 5 one-second intervals.\n" }, "bytes_in_rate": { "type": "number", "description": "The average number of inbound bytes per second, the number is\naveraged over the last 5 one-second intervals.\n", "title": "The average number of inbound bytes per second, the number is\naveraged over the last 5 one-second intervals.\n" }, "current_sessions": { "format": "int64", "type": "integer", "description": "Number of current sessions", "title": "Number of current sessions" }, "max_sessions": { "format": "int64", "type": "integer", "description": "Number of maximum sessions", "title": "Number of maximum sessions" }, "packets_out_rate": { "type": "number", "description": "The average number of outbound packets per second, the number is\naveraged over the last 5 one-second intervals.\n", "title": "The average number of outbound packets per second, the number is\naveraged over the last 5 one-second intervals.\n" }, "http_requests": { "format": "int64", "type": "integer", "description": "The total number of http requests.", "title": "The total number of http requests." }, "bytes_in": { "format": "int64", "type": "integer", "description": "Number of bytes in", "title": "Number of bytes in" }, "current_session_rate": { "type": "number", "description": "The average number of current sessions per second, the number is\naveraged over the last 5 one-second intervals.\n", "title": "The average number of current sessions per second, the number is\naveraged over the last 5 one-second intervals.\n" }, "packets_in": { "format": "int64", "type": "integer", "description": "Number of packets in", "title": "Number of packets in" } } }, "LbAppProfileListResult": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "LoadBalancer", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/LbAppProfile" }, "type": "array", "description": "paginated list of load balancer application profiles", "title": "paginated list of load balancer application profiles" } } } ] }, "DSSectionListResult": { "x-vmw-nsx-module": "DistributedServices", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "DistributedServices", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/DSSection" }, "readOnly": true, "type": "array", "description": "List of the distributed service sections. The list has to be homogenous.", "title": "Section list" } } } ] }, "NodeIdServicesMap": { "x-vmw-nsx-module": "CertificateManager", "required": [ "service_types", "node_id" ], "type": "object", "properties": { "service_types": { "items": { "description": "Supported service types, that are using certificates.", "enum": [ "MGMT_CLUSTER", "MGMT_PLANE", "API" ], "type": "string" }, "readOnly": false, "type": "array", "description": "list of ServiceTypes" }, "node_id": { "readOnly": false, "maxLength": 255, "type": "string", "description": "NodeId", "title": "NodeId" } } }, "PreconfiguredHostSwitchSpec": { "x-vmw-nsx-module": "TransportNode", "allOf": [ { "$ref": "#/definitions/HostSwitchSpec" }, { "required": [ "host_switches" ], "x-vmw-nsx-module": "TransportNode", "type": "object", "properties": { "host_switches": { "items": { "$ref": "#/definitions/PreconfiguredHostSwitch" }, "type": "array", "description": "Preconfigured Transport Node host switches", "maxItems": 1, "title": "Preconfigured Transport Node host switches" } } } ], "description": "Preconfigured host switch specification is used for manually configured transport node. It is user's responsibility to ensure correct configuration is provided to NSX. This type is only valid for supported KVM fabric nodes.", "title": "Specification of transport node preconfigured host switch" }, "FirewallStatus": { "x-vmw-nsx-module": "FirewallStatus", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "required": [ "global_status", "context" ], "x-vmw-nsx-module": "FirewallStatus", "type": "object", "properties": { "global_status": { "description": "Firewall status for a fabric entity or in global context where firewall is supported.", "enum": [ "DISABLED", "ENABLED" ], "readOnly": false, "type": "string" }, "context": { "description": "Types of firewall contexts.", "enum": [ "transport_nodes", "logical_routers" ], "readOnly": false, "type": "string" }, "target_statuses": { "items": { "$ref": "#/definitions/TargetResourceStatus" }, "readOnly": false, "type": "array", "description": "List of firewall status on various target logical resources. This will override the global status of corresponding firewall context (e.g it will override the gloabal status of logical_routers).", "title": "List of target resource status" } } } ], "description": "Firewall Status Response", "title": "Firewall Status Response" }, "DiscoveredNodeInterfaceProperties": { "x-vmw-nsx-module": "InventoryCmObj", "type": "object", "description": "Network interface properties of discovered node", "properties": { "physical_address": { "description": "Mac address of the interface", "pattern": "/^(([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2}))|(([0-9A-Fa-f]{2}[-]){5}([0-9A-Fa-f]{2}))$/", "type": "string" }, "connected_switch": { "type": "string", "description": "Switch name which is connected to nic, switch can be opaque, proxyHostSwitch or virtual", "title": "Connected switch" }, "interface_id": { "type": "string", "description": "Id of the network interface", "title": "Interface ID" } }, "title": "Discovered node network interface properties" }, "LBSslProfile": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "x-vmw-nsx-module": "ManagerNode", "type": "object" } ], "description": "Load balancer abstract SSL profile", "title": "Load balancer abstract SSL profile" }, "VersionedDeploymentSpec": { "description": "Versioned DeploymentSpec contains vibs and ofv urls for specific version of fabric module and host type and host version.", "title": "Versioned DeploymentSpec contains vibs and ofv urls for specific version of fabric module and host type and host version.", "required": [ "package_stores", "host_type", "host_version" ], "x-vmw-nsx-module": "HostPrepServiceFabric", "type": "object", "properties": { "service_vm_ovf_url": { "items": { "type": "string" }, "type": "array", "description": "list of service vm ovf urls", "title": "list of service vm ovf urls" }, "package_stores": { "items": { "$ref": "#/definitions/PackageStore" }, "type": "array", "description": "Package store contains package url and bulletin_ids", "title": "Package store contains package url and bulletin_ids" }, "host_type": { "enum": [ "ESXI", "RHELKVM", "UBUNTUKVM", "RHELCONTAINER", "RHELSERVER", "UBUNTUSERVER", "CENTOSSERVER", "CENTOSKVM" ], "type": "string", "description": "type of host", "title": "type of host" }, "host_version": { "type": "string", "description": "version of the host", "title": "version of the host" } } }, "LBUdpMonitorProfile": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/LBActiveMonitor" }, { "required": [ "receive", "send" ], "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "receive": { "type": "string", "description": "Expected data, can be anywhere in the response and it has to be a\nstring, regular expressions are not supported.\nUDP healthcheck is considered failed if there is no server response\nwithin the timeout period.\n", "title": "expected data received from server" }, "send": { "type": "string", "description": "The data to be sent to the monitored server.\n", "title": "data to send" } } } ], "description": "Active healthchecks are disabled by default and can be enabled for a\nserver pool by binding a health monitor to the Group through the LBRule\nobject. This represents active health monitoring over UDP. Active\nhealthchecks are initiated periodically, at a configurable interval, to\neach member of the Group. Only if a healthcheck fails consecutively for a\nspecified number of times (fall_count) to a member will the member status\nbe marked DOWN. Once a member is DOWN, a specified number of consecutive\nsuccessful healthchecks (rise_count) will bring the member back to UP\nstate. After a healthcheck is initiated, if it does not complete within a\ncertain period, then also the healthcheck is considered to be\nunsuccessful. Completing a healthcheck within timeout means establishing\na connection (TCP or SSL), if applicable, sending the request and\nreceiving the response, all within the configured timeout.\n", "title": "LBMonitorProfile for active health checks over UDP" }, "IPSecVPNServiceListResult": { "x-vmw-nsx-module": "IPSecVPN", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "IPSecVPN", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/IPSecVPNService" }, "type": "array", "description": "IPSec VPN serivce list result", "title": "IPSec VPN serivce list result" } } } ], "description": "List all the IPSec VPN services.", "title": "List IPSec VPN services" }, "SearchResponse": { "x-vmw-nsx-module": "Search", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "Search", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "type": "object" }, "type": "array", "description": "Search results", "title": "Search results" } } } ] }, "EdgeNodeDeploymentConfig": { "x-vmw-nsx-module": "FabricNode", "required": [ "node_user_settings", "vm_deployment_config" ], "type": "object", "properties": { "node_user_settings": { "title": "Node user settings", "description": "Username and password settings for the node.\nNote - these settings will be honored only during node deployment.\nPost deployment, CLI must be used for changing the user settings, changes to these parameters will not have any effect.\n", "$ref": "#/definitions/NodeUserSettings" }, "vm_deployment_config": { "$ref": "#/definitions/DeploymentConfig" }, "form_factor": { "description": "Supported edge form factor.", "default": "MEDIUM", "enum": [ "SMALL", "MEDIUM", "LARGE" ], "type": "string" } } }, "L2VpnTapTrafficStatistics": { "x-vmw-nsx-module": "PolicyStatistics", "type": "object", "description": "TAP (Terminal access point) traffic statistics for L2Vpn.\n", "properties": { "packets_out": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of outgoing packets.\n", "title": "Packets out" }, "bytes_in": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of incoming bytes.\n", "title": "Bytes in" }, "packets_sent_error": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of packets dropped while sending for any reason.\n", "title": "Packets sent error" }, "packets_receive_error": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of incoming packets dropped.\n", "title": "packets recieved error" }, "packets_in": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of incoming packets.\n", "title": "Packets in" }, "bytes_out": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of outgoing bytes.\n", "title": "Bytes out" } }, "title": "L2Vpn TAP (Terminal access point) traffic statistics" }, "PolicyLabelListResult": { "x-vmw-nsx-module": "PolicyLabel", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "PolicyLabel", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/PolicyLabel" }, "type": "array", "description": "Policy label list results", "title": "Policy label list results" } } } ], "description": "Paged Collection of Domains", "title": "Paged Collection of Domains" }, "LbMonitor": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "discriminator": "resource_type", "x-vmw-nsx-module": "LoadBalancer", "required": [ "resource_type" ], "type": "object", "properties": { "resource_type": { "description": "Load balancers monitor the health of backend servers to ensure traffic\nis not black holed.\nThere are two types of healthchecks: active and passive.\nPassive healthchecks depend on failures in actual client traffic (e.g. RST\nfrom server in response to a client connection) to detect that the server\nor the application is down.\nIn case of active healthchecks, load balancer itself initiates new\nconnections (or sends ICMP ping) to the servers periodically to check their\nhealth, completely independent of any data traffic.\nCurrently, active health monitors are supported for HTTP, HTTPS, TCP, UDP\nand ICMP protocols.\n", "enum": [ "LbHttpMonitor", "LbHttpsMonitor", "LbIcmpMonitor", "LbTcpMonitor", "LbUdpMonitor", "LbPassiveMonitor" ], "type": "string" } } } ] }, "IPFIXDFWCollectorProfileListResult": { "x-vmw-nsx-module": "PolicyIPFIXDFW", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "PolicyIPFIXDFW", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/IPFIXDFWCollectorProfile" }, "type": "array", "description": "IPFIX DFW Collection Instances list results", "title": "IPFIX DFW Collection Instances list results" } } } ], "description": "Paged Collection of IPFIX DFW Collector Profile", "title": "Paged Collection of IPFIX DFW Collector Profile" }, "PortMirroringSessionListResult": { "x-vmw-nsx-module": "PortMirroring", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "PortMirroring", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/PortMirroringSession" }, "readOnly": true, "type": "array", "description": "Port mirroring session results", "title": "Port mirroring session results" } } } ], "description": "Mirror session queries result", "title": "Mirror session queries result" }, "LBHttpRequestHeaderCondition": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/LBRuleCondition" }, { "required": [ "header_value" ], "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "header_value": { "type": "string", "description": "Value of HTTP header", "title": "Value of HTTP header" } } } ], "description": "This condition is used to match HTTP request messages by the\nspecific HTTP header field, Host. The Host request header specifies\nthe domain name of the server. The supplied Host HTTP header match\ncondition will be matched as a regular expression.\nThe regular expressions in load balancer rules use the features\ncommon to both Java regular expressions and Perl Compatible Regular\nExpressions (PCREs) with some restrictions. Reference http://www.pcre\n.org for PCRE and the NSX-T Administrator's Guide for the\nrestrictions. Please note, when regular expressions are used in JSON\n(JavaScript Object Notation) string, every backslash character (\\)\nneeds to be escaped by one additional backslash character.\n", "title": "Condition to match HTTP request header" }, "TraceflowObservationForwardedLogical": { "x-vmw-nsx-module": "Traceflow", "allOf": [ { "$ref": "#/definitions/TraceflowObservation" }, { "x-vmw-nsx-module": "Traceflow", "type": "object", "properties": { "lport_name": { "readOnly": true, "type": "string", "description": "The name of the logical port through which the traceflow packet was forwarded.", "title": "The name of the logical port through which the traceflow packet was forwarded." }, "component_id": { "readOnly": true, "type": "string", "description": "The id of the component that forwarded the traceflow packet.", "title": "The id of the component that forwarded the traceflow packet." }, "dst_component_type": { "description": "The type of the destination component to which the traceflow packet was forwarded.", "enum": [ "PHYSICAL", "LR", "LS", "DFW", "BRIDGE", "EDGE_TUNNEL", "EDGE_HOSTSWITCH", "UNKNOWN" ], "readOnly": true, "type": "string" }, "lport_id": { "readOnly": true, "type": "string", "description": "The id of the logical port through which the traceflow packet was forwarded.", "title": "The id of the logical port through which the traceflow packet was forwarded." }, "dst_component_id": { "readOnly": true, "type": "string", "description": "The id of the destination component to which the traceflow packet was forwarded.", "title": "The id of the destination component to which the traceflow packet was forwarded." }, "acl_rule_id": { "readOnly": true, "format": "int64", "type": "integer", "description": "The id of the acl rule that was applied to forward the traceflow packet", "title": "The id of the acl rule that was applied to forward the traceflow packet" }, "vni": { "readOnly": true, "format": "int32", "type": "integer", "description": "VNI for the logical network on which the traceflow packet was forwarded.", "title": "VNI for the logical network on which the traceflow packet was forwarded." }, "dst_component_name": { "readOnly": true, "type": "string", "description": "The name of the destination component to which the traceflow packet was forwarded.", "title": "The name of the destination component to which the traceflow packet was forwarded." } } } ] }, "IngressBroadcastRateShaper": { "x-vmw-nsx-module": "QosSwitchingProfile", "allOf": [ { "$ref": "#/definitions/QosBaseRateShaper" }, { "x-vmw-nsx-module": "QosSwitchingProfile", "type": "object", "properties": { "average_bandwidth_kbps": { "description": "Average bandwidth in kb/s", "format": "int32", "default": 0, "title": "Average bandwidth in kb/s", "minimum": 0, "type": "integer" }, "peak_bandwidth_kbps": { "description": "Peak bandwidth in kb/s", "format": "int32", "default": 0, "title": "Peak bandwidth in kb/s", "minimum": 0, "type": "integer" }, "burst_size_bytes": { "description": "Burst size in bytes", "format": "int32", "default": 0, "title": "Burst size in bytes", "minimum": 0, "type": "integer" } } } ], "description": "A shaper that specifies ingress rate properties in kb/s", "title": "A shaper that specifies ingress rate properties in kb/s" }, "AdvertisementRuleFilter": { "x-vmw-nsx-module": "Routing", "required": [ "prefix_operator", "match_route_types" ], "type": "object", "description": "To filter the routes advertised by the TIER1 LR to TIER0 LR. Filtering will be based on the type of route and the prefix operator configured.", "properties": { "prefix_operator": { "default": "GE", "enum": [ "GE", "EQ" ], "type": "string", "description": "GE prefix operator filters all the routes having network subset of any of the networks configured in Advertise rule. EQ prefix operator filter all the routes having network equal to any of the network configured in Advertise rule.", "title": "Prefix operator to apply on networks" }, "match_route_types": { "minItems": 1, "items": { "enum": [ "ANY", "STATIC", "NSX_CONNECTED", "T1_NAT", "T1_LB_VIP", "T1_LB_SNAT" ], "type": "string", "description": "Route types to filter the routes advertised by TIER1 LR. The ANY type filters all routes advertised by TIER1. The STATIC type filters STATIC routes advertised by TIER1. The NSX_CONNECTED type filters routes conrresponding to downlink networks advertised by TIER1. The T1_NAT type filters routes for NAT rules advertised by TIER1. The T1_LB_VIP type filters LB VIP networks advertised by TIER1. The T1_LB_SNAT type filters routes correspoding to LB SNAT rules advertised by TIER1." }, "type": "array", "description": "Array of route types to filter routes", "title": "Array of route types to filter routes" } } }, "FireWallServiceAssociationListResult": { "x-vmw-nsx-module": "GroupingObjectsProviders", "allOf": [ { "$ref": "#/definitions/ServiceAssociationListResult" }, { "x-vmw-nsx-module": "GroupingObjectsProviders", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/FirewallRule" }, "readOnly": true, "type": "array", "description": "Firewall rule list result with pagination support.", "title": "Firewall rule list result" } } } ] }, "DhcpStaticBindingListResult": { "x-vmw-nsx-module": "Dhcp", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "Dhcp", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/DhcpStaticBinding" }, "type": "array", "description": "paginated list of dhcp static bindings", "title": "paginated list of dhcp static bindings" } } } ] }, "IpfixConfig": { "x-vmw-nsx-module": "Ipfix", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "required": [ "resource_type" ], "discriminator": "resource_type", "x-vmw-nsx-module": "Ipfix", "type": "object", "properties": { "applied_tos": { "description": "List of objects where the IPFIX Config will be enabled.", "title": "AppliedTo List", "items": { "$ref": "#/definitions/ResourceReference" }, "readOnly": false, "maxItems": 128, "type": "array" }, "resource_type": { "description": "Supported IPFIX Config Types.", "enum": [ "IpfixSwitchConfig", "IpfixDfwConfig" ], "readOnly": false, "type": "string" } } } ], "description": "IPFIX Config base representation", "title": "IPFIX Config base representation" }, "Connections": { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "type": "object", "description": "Contains the list of VM, process, group and network connections.\nDepending on the view option specified in ViewTypeQueryParameter appropriate\nconnection information is returned.\n", "properties": { "process_connections": { "items": { "$ref": "#/definitions/ProcessConnection" }, "readOnly": true, "type": "array", "description": "List of process connections", "title": "List of process connections" }, "network_connections": { "items": { "$ref": "#/definitions/NetworkConnection" }, "readOnly": true, "type": "array" }, "group_connections": { "items": { "$ref": "#/definitions/GroupConnection" }, "readOnly": true, "type": "array", "description": "List of Group Communications", "title": "List of Group Communications" }, "vm_connections": { "items": { "$ref": "#/definitions/VMConnection" }, "readOnly": true, "type": "array", "description": "List of VM connections", "title": "List of VM connections" } }, "title": "List of connections" }, "AggregateResponse": { "description": "Response for the primary/related types", "title": "Aggregate response", "required": [ "primary", "related" ], "x-vmw-nsx-module": "Search", "type": "object", "properties": { "primary": { "type": "object", "description": "Requested properties of the primary object", "title": "Primary object properties" }, "related": { "items": { "$ref": "#/definitions/RelatedData" }, "type": "array", "description": "Requested properties of the related objects", "title": "Related objects properties" } } }, "IPSecVpnSessionStatistics": { "x-vmw-nsx-module": "PolicyStatistics", "allOf": [ { "$ref": "#/definitions/L3VpnStatisticsPerEnforcementPoint" }, { "x-vmw-nsx-module": "PolicyStatistics", "type": "object", "properties": { "last_update_timestamp": { "description": "Timestamp when the data was last updated.\n", "format": "int64", "readOnly": true, "type": "integer" }, "ike_traffic_statistics": { "readOnly": true, "title": "Ike traffic statistics", "description": "Traffic statistics for IPSec VPN Ike session.\nNote - Not supported in this release.\n", "$ref": "#/definitions/IPSecVpnIkeTrafficStatistics" }, "ike_status": { "readOnly": true, "title": "Ike status summary", "description": "Status for IPSec VPN Ike session UP/DOWN and fail reason if Ike session is down.\n", "$ref": "#/definitions/IPSecVpnIkeSessionStatus" }, "policy_statistics": { "items": { "$ref": "#/definitions/IPSecVpnPolicyTrafficStatistics" }, "readOnly": true, "type": "array", "description": "Gives aggregate traffic statistics across all ipsec tunnels and individual tunnel\nstatistics.\n", "title": "IPSec policy statistics" }, "aggregate_traffic_counters": { "readOnly": true, "title": "Traffic summary", "description": "Aggregate traffic statistics across all ipsec tunnels.\n", "$ref": "#/definitions/IPSecVpnTrafficCounters" } } } ], "description": "IPSec VPN session statistics represents statistics on an NSX-T type of enforcement\npoint. It gives aggregated statistics of all policies for all the tunnels.\n", "title": "IPSec VPN session statistics" }, "LBPersistenceProfileListResult": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/LBPersistenceProfile" }, "type": "array", "description": "LBPersistenceProfile list results", "title": "LBPersistenceProfile list results" } } } ], "description": "Paged Collection of LBPersistenceProfiles", "title": "Paged Collection of LBPersistenceProfiles" }, "ChildL3VpnContext": { "x-vmw-nsx-module": "PolicyL3Vpn", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "L3VpnContext" ], "x-vmw-nsx-module": "PolicyL3Vpn", "type": "object", "properties": { "L3VpnContext": { "title": "L3VpnContext", "description": "Contains the actual L3VpnContext object.\n", "$ref": "#/definitions/L3VpnContext" } } } ], "description": "Child wrapper object for L3VpnContext, used in hierarchical API.", "title": "Wrapper object for L3VpnContext" }, "ChildDomainDeploymentMap": { "x-vmw-nsx-module": "PolicyEnforcementPointManagement", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "DomainDeploymentMap" ], "x-vmw-nsx-module": "PolicyEnforcementPointManagement", "type": "object", "properties": { "DomainDeploymentMap": { "title": "DomainDeploymentMap", "description": "Contains the actual DomainDeploymentMap object\n", "$ref": "#/definitions/DomainDeploymentMap" } } } ], "description": "Child wrapper object for DomainDeploymentMap, used in hierarchical API", "title": "Wrapper object for DomainDeploymentMap" }, "StaticARPConfig": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "required": [ "ip_address", "mac_address" ], "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "ip_address": { "description": "IP Address", "format": "ip", "type": "string" }, "mac_address": { "description": "MAC Address", "pattern": "/^(([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2}))|(([0-9A-Fa-f]{2}[-]){5}([0-9A-Fa-f]{2}))$/", "type": "string" } } } ], "description": "Contains Static ARP configuration for Segment.\n", "title": "Static ARP Config" }, "ServiceDefinition": { "x-vmw-nsx-module": "ServiceInsertionCommonTypes", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "required": [ "attachment_point", "vendor_id", "transports", "implementations", "functionalities" ], "x-vmw-nsx-module": "ServiceInsertionCommonTypes", "type": "object", "properties": { "service_deployment_spec": { "readOnly": false, "title": "Service Deployment Specification", "description": "Service Deployment Specification defines takes in information required to deploy and configure a partner appliance/service-vm.", "$ref": "#/definitions/ServiceDeploymentSpec" }, "functionalities": { "description": "The capabilities provided by the services like NG_FW, IDS_IPS Hybrid Cloud Exchange(HCX) is specified here.", "title": "Functionality Type", "minItems": 1, "items": { "enum": [ "NG_FW", "IDS_IPS", "HCX" ], "type": "string" }, "readOnly": false, "type": "array" }, "attachment_point": { "description": "The point at which the service is deployed/attached for redirecting the traffic to the the partner appliance.", "title": "Attachment Point", "minItems": 1, "items": { "enum": [ "TIER0_LR", "TIER1_LR" ], "type": "string" }, "readOnly": false, "maxItems": 1, "type": "array" }, "transports": { "description": "Transport Type of the service, which is the mechanism of redirecting the traffic to the the partner appliance.", "title": "Transport Type", "minItems": 1, "items": { "enum": [ "L2_BRIDGE", "L3_ROUTED" ], "type": "string" }, "readOnly": false, "type": "array" }, "vendor_id": { "readOnly": false, "type": "string", "description": "Id which is unique to a vendor or partner for which the service is created.", "title": "Vendor ID" }, "on_failure_policy": { "description": "Failure policy for the service tells datapath, the action to take i.e to Allow or Block traffic during failure scenarios.", "title": "On Failure Policy", "default": "ALLOW", "enum": [ "ALLOW", "BLOCK" ], "readOnly": false, "type": "string" }, "implementations": { "description": "This indicates the insertion point of the service.", "title": "Implementation Type", "minItems": 1, "items": { "enum": [ "NORTH_SOUTH", "EAST_WEST" ], "type": "string" }, "readOnly": false, "maxItems": 1, "type": "array" } } } ], "description": "Registering a Service is the first step in the ServiceInsertion mechanism. A ServiceDefinition is used to create a service.", "title": "Definition of a Service." }, "LogicalSwitchPortElement": { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "allOf": [ { "$ref": "#/definitions/Element" }, { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "type": "object", "properties": { "rx_packets": { "items": { "type": "integer", "format": "int64" }, "readOnly": true, "type": "array", "description": "Array of number of packets received", "title": "Array of number of packets received" }, "rx_bytes": { "items": { "type": "integer", "format": "int64" }, "readOnly": true, "type": "array", "description": "Array of bytes received", "title": "Array of bytes received" }, "mac_address": { "readOnly": true, "type": "string", "description": "MAC address", "title": "MAC address" }, "tx_bytes": { "items": { "type": "integer", "format": "int64" }, "readOnly": true, "type": "array", "description": "Array of bytes transmitted", "title": "Array of bytes transmitted" }, "ip_addresses": { "items": { "type": "string" }, "readOnly": true, "type": "array", "description": "IP addressses of logical port", "title": "IP addressses of logical port" }, "tx_packets": { "items": { "type": "integer", "format": "int64" }, "readOnly": true, "type": "array", "description": "Array of number of packets transmitted", "title": "Array of number of packets transmitted" } } } ], "description": "Logical switch port element extends from Element class. This class contains\nlogical port information of a logical switch.\n", "title": "Logical switch port element" }, "IPFIXCollectorProfileUIResource": { "x-vmw-nsx-module": "PolicyUi", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "required": [ "ipaddress", "port" ], "x-vmw-nsx-module": "PolicyUi", "type": "object", "properties": { "ipaddress": { "description": "IP address for the IPFIX collector.", "format": "ip", "type": "string" }, "port": { "description": "Port for the IPFIX collector.", "title": "Port", "default": 4739, "format": "int32", "maximum": 65535, "minimum": 0, "type": "integer" } } } ], "description": "IPFIX data will be collected on collector\nHost ip and port address should be provided for collector.\n", "title": "IPFIX Collector Instance" }, "DSRuleState": { "x-vmw-nsx-module": "DistributedServices", "allOf": [ { "$ref": "#/definitions/ConfigurationState" }, { "x-vmw-nsx-module": "DistributedServices", "type": "object", "properties": { "revision_desired": { "readOnly": true, "format": "int64", "type": "integer", "description": "revision number of the desired state", "title": "revision number of the desired state" } } } ] }, "L2VpnPerSegmentTrafficStatistics": { "x-vmw-nsx-module": "PolicyStatistics", "type": "object", "description": "Traffic statistics for a segment.", "properties": { "packets_out": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of outgoing packets.\n", "title": "Packets out" }, "packets_receive_error": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of incoming packets dropped.\n", "title": "Packets received error" }, "bytes_in": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of incoming bytes.\n", "title": "Bytes in" }, "bum_packets_in": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of incoming Broadcast, Unknown unicast and Multicast (BUM) packets.\n", "title": "Broadcast, Unknown unicast and Multicast (BUM) packets in" }, "segment_path": { "readOnly": true, "type": "string", "description": "Policy path referencing the segment on which stats are gathered.\n", "title": "Segment Path" }, "bum_bytes_out": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of outgoing Broadcast, Unknown unicast and Multicast (BUM) bytes.\n", "title": "Broadcast, Unknown unicast and Multicast (BUM) bytes out" }, "bytes_out": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of outgoing bytes.\n", "title": "Bytes out" }, "packets_sent_error": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of packets dropped while sending for any reason.\n", "title": "Packets sent error" }, "bum_packets_out": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of outgoing Broadcast, Unknown unicast and Multicast (BUM) packets.\n", "title": "Broadcast, Unknown unicast and Multicast (BUM) packets out" }, "packets_in": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of incoming packets.\n", "title": "Packets in" }, "bum_bytes_in": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of incoming Broadcast, Unknown unicast and Multicast (BUM) bytes.\n", "title": "Broadcast, Unknown unicast and Multicast (BUM) bytes in" } }, "title": "Traffic statistics per segment" }, "PolicyResourceReferenceListResult": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/PolicyResourceReference" }, "type": "array", "description": "Policy resource references list results", "title": "Policy resource references list results" } } } ], "description": "Paged Collection of PolicyResourceReference", "title": "Paged Collection of PolicyResourceReference" }, "LogicalSwitch": { "x-vmw-nsx-module": "LogicalSwitch", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "LogicalSwitch", "required": [ "transport_zone_id", "admin_state" ], "type": "object", "properties": { "switch_type": { "enum": [ "DEFAULT", "DHCP_RELAY" ], "type": "string", "description": "This field indicates purpose of a LogicalSwitch. It is set by manager internally\nor user can provide this field. If not set, DEFAULT type is assigned.\nNSX components can use this field to create LogicalSwitch that provides component\nspecific functionality.\nDEFAULT type LogicalSwitches are created for basic L2 connectivity by API users.\nDHCP_RELAY type LogicalSwitches are created by external user like Policy with special\npermissions or by system and will be treated as internal LogicalSwitches. Such\nLogicalSwitch will not be exposed to vSphere user.\n", "title": "Type of LogicalSwitch." }, "replication_mode": { "enum": [ "MTEP", "SOURCE" ], "type": "string", "description": "Replication mode of the Logical Switch", "title": "Replication mode of the Logical Switch" }, "extra_configs": { "items": { "$ref": "#/definitions/ExtraConfig" }, "type": "array", "description": "This property could be used for vendor specific configuration in key value\nstring pairs, the setting in extra_configs will be automatically inheritted\nby logical ports in the logical switch.\n", "title": "Extra configs on logical switch" }, "uplink_teaming_policy_name": { "type": "string", "description": "This name has to be one of the switching uplink teaming policy names listed inside the logical switch's TransportZone. If this field is not specified, the logical switch will not have a teaming policy associated with it and the host switch's default teaming policy will be used.", "title": "The name of the switching uplink teaming policy for the logical switch" }, "transport_zone_id": { "type": "string", "description": "Id of the TransportZone to which this LogicalSwitch is associated", "title": "Id of the TransportZone to which this LogicalSwitch is associated" }, "ip_pool_id": { "type": "string", "description": "IP pool id that associated with a LogicalSwitch.", "title": "Allocation ip pool associated with the Logical switch" }, "vlan": { "type": "integer", "description": "This property is dedicated to VLAN based network, to set VLAN of logical\nnetwork. It is mutually exclusive with 'vlan_trunk_spec'.\n", "format": "int64" }, "mac_pool_id": { "type": "string", "description": "Mac pool id that associated with a LogicalSwitch.", "title": "Allocation mac pool associated with the Logical switch" }, "vni": { "format": "int32", "type": "integer", "description": "Only for OVERLAY network. A VNI will be auto-allocated from the\ndefault VNI pool if not given; otherwise the given VNI has to be\ninside the default pool and not used by any other LogicalSwitch.\n", "title": "VNI for this LogicalSwitch." }, "vlan_trunk_spec": { "title": "VLAN trunk spec of logical switch", "description": "This property is used for VLAN trunk specification of logical switch.\nIt's mutually exclusive with 'vlan'. Also it could be set to do guest VLAN\ntagging in overlay network.\n", "$ref": "#/definitions/VlanTrunkSpec" }, "admin_state": { "enum": [ "UP", "DOWN" ], "type": "string", "description": "Represents Desired state of the Logical Switch", "title": "Represents Desired state of the Logical Switch" }, "address_bindings": { "description": "Address bindings for the Logical switch", "title": "Address bindings for the Logical switch", "minItems": 0, "items": { "$ref": "#/definitions/PacketAddressClassifier" }, "maxItems": 100, "type": "array" }, "switching_profile_ids": { "items": { "$ref": "#/definitions/SwitchingProfileTypeIdEntry" }, "type": "array" } } } ] }, "LbSslProtocolInfo": { "description": "SSL protocol", "title": "SSL protocol", "required": [ "is_default", "is_secure", "protocol" ], "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "is_default": { "type": "boolean", "description": "Default SSL protocol flag", "title": "Default SSL protocol flag" }, "is_secure": { "type": "boolean", "description": "Secure/insecure SSL protocol flag", "title": "Secure/insecure SSL protocol flag" }, "protocol": { "description": "SSL protocol", "enum": [ "SSL_V2", "SSL_V3", "TLS_V1", "TLS_V1_1", "TLS_V1_2" ], "type": "string" } } }, "PolicyTemplate": { "x-vmw-nsx-module": "PolicyTemplate", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "required": [ "template_body", "template_placeholders" ], "x-vmw-nsx-module": "PolicyTemplate", "type": "object", "properties": { "template_body": { "type": "object", "description": "Body of an instance of Infra\n", "title": "Template Body" }, "template_placeholders": { "items": { "$ref": "#/definitions/PolicyTemplatePlaceholder" }, "type": "array", "description": "Template placeholders", "title": "Template placeholders" } } } ], "description": "Policy Template", "title": "Policy Template" }, "NatRule": { "x-vmw-nsx-module": "Nat", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "Nat", "required": [ "action" ], "type": "object", "properties": { "match_destination_network": { "type": "string", "description": "IP Address | CIDR | (null implies Any)\n", "title": "match destination network" }, "translated_network": { "type": "string", "description": "IP Address | IP Range | CIDR", "title": "IP Address | IP Range | CIDR" }, "rule_priority": { "default": 1024, "format": "int64", "type": "integer", "description": "Ascending, valid range [0-2147483647]. If multiple rules have the same\npriority, evaluation sequence is undefined.\n", "title": "NAT rule priority" }, "match_service": { "title": "match service on source port, destination port, protocol, icmp, etc", "description": "A NSServiceElement that specifies the matching services of source\nports, destination ports, ip protocol version and number, sub protocol\nversion and number, ICMP type and code, etc.\nThe match_service can be one of IPProtocolNSService,L4PortSetNSService\nor ICMPTypeNSService. REFLEXIVE NAT does not support match_service.\n", "$ref": "#/definitions/NSServiceElement" }, "applied_tos": { "items": { "$ref": "#/definitions/ResourceReference" }, "type": "array", "description": "Holds the list of LogicalRouterPort Ids that a NAT rule can be applied to. The LogicalRouterPort used must belong to the same LogicalRouter for which the NAT Rule is created. As of now a NAT rule can only have a single LogicalRouterPort as applied_tos. When applied_tos is not set, the NAT rule is applied to all LogicalRouterPorts beloging to the LogicalRouter.", "maxItems": 1, "title": "List of LogicalRouterPort resources as applied to" }, "enabled": { "default": true, "type": "boolean", "description": "enable/disable the rule", "title": "enable/disable the rule" }, "logical_router_id": { "readOnly": true, "type": "string", "description": "Logical router id", "title": "Logical router id" }, "logging": { "default": false, "type": "boolean", "description": "enable/disable the logging of rule", "title": "enable/disable the logging of rule" }, "translated_ports": { "type": "string", "description": "port number or port range. DNAT only", "title": "port number or port range. DNAT only" }, "action": { "description": "valid actions: SNAT, DNAT, NO_SNAT, NO_DNAT, REFLEXIVE. All rules\nin a logical router are either stateless or stateful. Mix is not\nsupported. SNAT and DNAT are stateful, can NOT be supported when\nthe logical router is running at active-active HA mode; REFLEXIVE\nis stateless. NO_SNAT and NO_DNAT have no translated_fields, only\nmatch fields are supported.\n", "enum": [ "SNAT", "DNAT", "NO_NAT", "REFLEXIVE", "NO_SNAT", "NO_DNAT" ], "type": "string" }, "firewall_match": { "description": "Indicate how firewall is applied to a traffic packet. Firewall can be\nbypassed, or be applied to external/internal address of NAT rule.\nFor NO_SNAT or NO_DNAT, it must be BYPASS or leave it unassigned.\n\nThe firewall_match will take priority over nat_pass. If the firewall_match\nis not provided, the nat_pass will be picked up.\n", "enum": [ "MATCH_EXTERNAL_ADDRESS", "MATCH_INTERNAL_ADDRESS", "BYPASS" ], "type": "string" }, "nat_pass": { "default": true, "type": "boolean", "description": "Default is true. If the nat_pass is set to true, the following firewall\nstage will be skipped. Please note, if action is NO_SNAT or NO_DNAT,\nthen nat_pass must be set to true or omitted.\n\nNat_pass was deprecated with an alternative firewall_match. The latter\nwill take priority over nat_pass. If user does not want to skip the\nfirewall stage, please set the firewall_match to MATCH_EXTERNAL_ADDRESS\nor MATCH_INTERNAL_ADDRESS. If firewall_match is not provided while the\nnat_pass is set to false, firewall rule will be applied on internall\naddress of a packet, i.e. MATCH_INTERNAL_ADDRESS.\n", "x-deprecated": true, "title": "enable/disable to bypass following firewall stage" }, "match_source_network": { "type": "string", "description": "IP Address | CIDR | (null implies Any)\n", "title": "match source network" } } } ] }, "AggregateDataResponse": { "x-vmw-nsx-module": "Search", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "Search", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/AggregateResponse" }, "type": "array", "description": "Array containing the primary and the related object details", "title": "Results" } } } ], "description": "Final data aggregation response.\nThe results array holds the primary and the related objects\n", "title": "Data aggregation response" }, "ChildLBPersistenceProfile": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "LBPersistenceProfile" ], "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "LBPersistenceProfile": { "title": "LBPersistenceProfile", "description": "Contains the actual LBPersistenceProfile object\n", "$ref": "#/definitions/LBPersistenceProfile" } } } ], "description": "Child wrapper for LBPersistenceProfile, used in hierarchical API\n", "title": "Wrapper object for LBPersistenceProfile" }, "HostSwitch": { "x-vmw-nsx-module": "TransportNode", "type": "object", "description": "Host Switch specification", "properties": { "pnics": { "items": { "$ref": "#/definitions/Pnic" }, "type": "array", "description": "Physical NICs connected to the host switch", "title": "Physical NICs connected to the host switch" }, "host_switch_name": { "default": "nsxDefaultHostSwitch", "type": "string", "description": "If this name is unset or empty then the default host switch name will be used. The name must be unique among all host switches specified in a given Transport Node; unset name, empty name and the default host switch name are considered the same in terms of uniqueness.", "title": "HostSwitch name. This name will be used to reference this HostSwitch." }, "static_ip_pool_id": { "type": "string", "description": "ID of configured Static IP Pool. If specified allocate IP for Endpoints from Pool. Else assume IP will be assigned for Endpoints from DHCP. This field is deprecated, use ip_assignment_spec field instead.", "x-deprecated": true, "title": "ID of already configured Static IP Pool." }, "host_switch_profile_ids": { "items": { "$ref": "#/definitions/HostSwitchProfileTypeIdEntry" }, "type": "array", "description": "HostSwitch profiles bound to this HostSwitch. If a profile ID is not provided for any HostSwitchProfileType that is supported by the Transport Node, the corresponding default profile will be bound to the HostSwitch.", "title": "Id's of HostSwitch profiles to be associated with this HostSwitch." } }, "title": "Host Switch specification" }, "ControllerClusterRoleConfig": { "x-vmw-nsx-module": "ClusterManagement", "allOf": [ { "$ref": "#/definitions/ClusterRoleConfig" }, { "x-vmw-nsx-module": "ClusterManagement", "type": "object", "properties": { "mpa_msg_client_info": { "$ref": "#/definitions/MsgClientInfo" }, "host_msg_client_info": { "$ref": "#/definitions/MsgClientInfo" }, "control_plane_listen_addr": { "readOnly": true, "title": "The IP and port for the control plane service on this node", "description": "The IP and port for the control plane service on this node", "$ref": "#/definitions/ServiceEndpoint" }, "control_cluster_listen_addr": { "readOnly": true, "title": "The IP and port for the control cluster service on this node", "description": "The IP and port for the control cluster service on this node", "$ref": "#/definitions/ServiceEndpoint" } } } ] }, "TunnelStatusCount": { "x-vmw-nsx-module": "Heatmap", "allOf": [ { "$ref": "#/definitions/StatusCount" }, { "x-vmw-nsx-module": "Heatmap", "type": "object", "properties": { "bfd_diagnostic": { "title": "BFD Diagnostic", "description": "BFD Diagnostic", "$ref": "#/definitions/BFDDiagnosticCount" }, "bfd_status": { "title": "BFD Status", "description": "BFD Status", "$ref": "#/definitions/BFDStatusCount" } } } ] }, "LogicalRouterPortListResult": { "x-vmw-nsx-module": "LogicalRouterPorts", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "LogicalRouterPorts", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/LogicalRouterPort" }, "type": "array", "description": "Logical router port list results", "title": "Logical router port list results" } } } ] }, "Csr": { "x-vmw-nsx-module": "CertificateManager", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "CertificateManager", "required": [ "key_size", "algorithm", "subject" ], "type": "object", "properties": { "key_size": { "readOnly": false, "type": "integer", "description": "size measured in bits of the public key used in a cryptographic algorithm", "format": "int64" }, "pem_encoded": { "readOnly": true, "type": "string", "description": "pem encoded certificate data" }, "algorithm": { "readOnly": false, "enum": [ "RSA", "DSA" ], "type": "string", "description": "Cryptographic algorithm(asymmetric ) used by the public key for data encryption" }, "subject": { "readOnly": false, "description": "the certificate owner's information (CN, O, OU, C, ST, L)", "$ref": "#/definitions/Principal" } } } ] }, "LBRuleCondition": { "description": "Match conditions are used to match application traffic passing through\nload balancers. Multiple match conditions can be specified in one load\nbalancer rule, each match condition defines a criterion for application\ntraffic.\nIf more than one match condition is specified, match strategy determines\nif all conditions should match or any one condition should match for the\nload balancer rule to be considered a match.\n", "title": "Match condition of load balancer rule", "required": [ "type" ], "discriminator": "type", "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "type": { "description": "Type of load balancer rule condition", "enum": [ "LBHttpRequestUriCondition", "LBHttpRequestHeaderCondition" ], "type": "string" } } }, "Tier0InterfaceListResult": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/Tier0Interface" }, "type": "array", "description": "Tier-0 Interface list results", "title": "Tier-0 Interface list results" } } } ], "description": "Paged collection of Tier-0 Interfaces", "title": "Paged collection of Tier-0 Interfaces" }, "MsgClientInfo": { "x-vmw-nsx-module": "Common", "type": "object", "description": "Information about a messaging client", "properties": { "software_version": { "readOnly": true, "type": "string", "description": "Software version of the node." }, "account_name": { "readOnly": false, "type": "string", "description": "Account name for the messaging client. Identifies the client on the management plane message bus." }, "certificate": { "readOnly": false, "type": "string", "description": "Messaging client's certificate. Used to authenticate to the control plane messaging endpoint." }, "shared_secret": { "readOnly": false, "type": "string", "description": "Messaging client's secret. Used to authenticate to the management plane messaging broker." } }, "title": "Information about a messaging client" }, "VniPoolListResult": { "x-vmw-nsx-module": "Vnim", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "Vnim", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/VniPool" }, "type": "array", "description": "VNI pool list results", "title": "VNI pool list results" } } } ] }, "LbService": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "access_log_enabled": { "default": false, "type": "boolean", "description": "whether access log is enabled", "x-deprecated": true, "title": "whether access log is enabled" }, "attachment": { "title": "The target which is used to instantiate Lb service.", "description": "LBS could be instantiated (or created) on the Logical router, etc.\nTypically, it could be applied to Tier1 LogicalRouter. It can be\nattached to Tier0 LogicalRouter either in non-multi-tenant environments\nor to provide load balancing for infrastructure services offered by\nthe provider.\n", "$ref": "#/definitions/ResourceReference" }, "error_log_level": { "description": "Load balancer engine writes information about encountered issues of\ndifferent severity levels to the error log. This setting is used to\ndefine the severity level of the error log.\n", "default": "INFO", "enum": [ "DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL", "ALERT", "EMERGENCY" ], "type": "string" }, "enabled": { "default": true, "type": "boolean", "description": "whether the load balancer service is enabled", "title": "whether the load balancer service is enabled" }, "virtual_server_ids": { "items": { "type": "string" }, "type": "array", "description": "virtual servers can be associated to LbService(which is\nsimilar to physical/virtual load balancer), Lb virtual servers,\npools and other entities could be defined independently, the virtual\nserver identifier list here would be used to maintain the relationship of\nLbService and other Lb entities.\n", "title": "virtual server identifier list" }, "size": { "description": "the size of load balancer service", "default": "SMALL", "enum": [ "SMALL", "MEDIUM", "LARGE" ], "type": "string" } } } ] }, "EffectiveIPAddressMemberListResult": { "x-vmw-nsx-module": "NSGroup", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "NSGroup", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "description": "IPElement can be a single IP address, IP address range or a Subnet. Its\ntype can be of IPv4 or IPv6. Supported list of formats are \"192.168.1.1\",\n\"192.168.1.1-192.168.1.100\", \"192.168.0.0/24\",\n\"fe80::250:56ff:fe83:318c\",\n\"fe80::250:56ff:fe83:3181-fe80::250:56ff:fe83:318c\",\n\"fe80::250:56ff:fe83:318c/64\"\n", "format": "address-or-block-or-range", "type": "string" }, "type": "array", "description": "Paged Collection of effective ip addresses for the given NSGroup", "title": "Paged Collection of effective ip addresses for the given NSGroup" } } } ] }, "L3VpnSession": { "description": "Contains information about L3Vpn session.\n", "title": "L3Vpn Session", "required": [ "resource_type" ], "discriminator": "resource_type", "x-vmw-nsx-module": "PolicyL3Vpn", "type": "object", "properties": { "resource_type": { "description": "- A Policy Based L3Vpn is a configuration in which protect rules to match local\nand remote subnet needs to be defined. Tunnel is established for each pair of\nlocal and remote subnet defined in protect rules.\n- A Route Based L3Vpn is more flexible, more powerful and recommended over policy\nbased. IP Tunnel subnet is created and all traffic routed through tunnel subnet\n(commonly known as VTI) is sent over tunnel. Routes can be learned through BGP.\nA route based L3Vpn is required when using redundant L3Vpn.\n", "enum": [ "PolicyBasedL3VpnSession", "RouteBasedL3VpnSession" ], "type": "string" } } }, "StaticIpMacListSpec": { "x-vmw-nsx-module": "TransportNode", "allOf": [ { "$ref": "#/definitions/IpAssignmentSpec" }, { "required": [ "subnet_mask", "ip_mac_list", "default_gateway" ], "x-vmw-nsx-module": "TransportNode", "type": "object", "properties": { "subnet_mask": { "description": "Subnet mask", "format": "ip", "readOnly": false, "type": "string" }, "ip_mac_list": { "description": "List of IPs and MACs for transport node host switch virtual tunnel endpoints", "title": "List of IPs and MACs for transport node host switch virtual tunnel endpoints", "items": { "$ref": "#/definitions/IpMacPair" }, "readOnly": false, "maxItems": 32, "type": "array" }, "default_gateway": { "description": "Gateway IP", "format": "ip", "readOnly": false, "type": "string" } } } ], "description": "IP and MAC assignment specification for Static IP List.", "title": "IP and MAC assignment specification for Static IP List." }, "SavedSearchListResult": { "x-vmw-nsx-module": "Search", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "Search", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/SavedSearch" }, "type": "array", "description": "The list of all saved searches by the user.", "title": "Saved search list results" } } } ], "description": "The results array will contain all the saved or recent search objects.", "title": "List of all Saved or recent searches" }, "LbVirtualServerStatusListResult": { "x-vmw-nsx-module": "AggSvcLb", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "AggSvcLb", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/LbVirtualServerStatus" }, "type": "array", "description": "paginated status list of virtual servers", "title": "paginated status list of virtual servers" } } } ] }, "ChildPolicyDnsForwarder": { "x-vmw-nsx-module": "PolicyDnsForwarder", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "PolicyDnsForwarder" ], "x-vmw-nsx-module": "PolicyDnsForwarder", "type": "object", "properties": { "PolicyDnsForwarder": { "title": "PolicyDnsForwarder", "description": "Contains the actual PolicyDnsForwarder object\n", "$ref": "#/definitions/PolicyDnsForwarder" } } } ], "description": "Child wrapper object for PolicyDnsForwarder, used in hierarchical API", "title": "Wrapper object for PolicyDnsForwarder" }, "GatewayPolicyListResult": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/SecurityPolicyListResult" }, { "x-vmw-nsx-module": "Policy", "type": "object" } ], "description": "Paged Collection of gateway policies", "title": "Paged Collection of gateway policies" }, "DeploymentSpec": { "description": "Deployment spec is a specific version of fabric module", "title": "Deployment spec is a specific version of fabric module", "required": [ "versioned_deployment_specs", "fabric_module_version" ], "x-vmw-nsx-module": "HostPrepServiceFabric", "type": "object", "properties": { "versioned_deployment_specs": { "items": { "$ref": "#/definitions/VersionedDeploymentSpec" }, "type": "array", "description": "List of Versioned deployment specs", "title": "List of Versioned deployment specs" }, "fabric_module_version": { "type": "string", "description": "version of fabric module", "title": "version of fabric module" } } }, "QosSwitchingProfile": { "x-vmw-nsx-module": "QosSwitchingProfile", "allOf": [ { "$ref": "#/definitions/BaseSwitchingProfile" }, { "x-vmw-nsx-module": "QosSwitchingProfile", "type": "object", "properties": { "shaper_configuration": { "minItems": 0, "items": { "$ref": "#/definitions/QosBaseRateShaper" }, "type": "array", "maxItems": 3 }, "class_of_service": { "description": "Class of service", "title": "Class of service", "default": 0, "format": "int32", "maximum": 7, "minimum": 0, "type": "integer" }, "dscp": { "$ref": "#/definitions/Dscp" } } } ] }, "IPInfo": { "x-vmw-nsx-module": "ServiceInsertionCommonTypes", "required": [ "ip_addresses", "prefix_length" ], "type": "object", "properties": { "ip_addresses": { "description": "IPv4 Addresses", "title": "IPv4 Addresses", "minItems": 1, "items": { "description": "IPv4 address", "format": "ipv4", "type": "string" }, "maxItems": 1, "type": "array" }, "prefix_length": { "description": "Subnet Prefix Length", "format": "int64", "title": "Subnet Prefix Length", "maximum": 32, "minimum": 1, "type": "integer" } } }, "ServiceIP": { "x-vmw-nsx-module": "L3", "type": "object", "properties": { "is_arp_proxy_enabled": { "default": false, "readOnly": true, "type": "boolean", "description": "Flag to denote status of ARP Proxy for service IP.", "title": "Flag to denote status of ARP Proxy for service IP" }, "ip_address": { "description": "Service IP address registerd by the service.", "format": "ipv4", "readOnly": true, "type": "string" }, "is_loopback_enabled": { "default": false, "readOnly": true, "type": "boolean", "description": "Flag to denote loopback status for service IP.", "title": "Flag to denote loopback status for service IP" }, "service": { "readOnly": true, "title": "Service which registered the ip", "description": "Service which registered the ip.", "$ref": "#/definitions/ResourceReference" }, "is_advertised": { "default": false, "readOnly": true, "type": "boolean", "description": "Flag to denote advertisement status of service IP to TIER0 LR.", "title": "Flag to denote advertisement status of service IP" } } }, "GroupListResult": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/Group" }, "type": "array", "description": "Group list results", "title": "Group list results" } } } ], "description": "Paged Collection of Groups", "title": "Paged Collection of Groups" }, "BgpNeighborRoutesListResult": { "x-vmw-nsx-module": "PolicyStatistics", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "PolicyStatistics", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/BgpNeighborRoutes" }, "type": "array", "description": "Paged Collection of Bgp neighbor routes.", "title": "Paged Collection of Bgp neighbor routes" } } } ] }, "L2Vpn": { "x-vmw-nsx-module": "PolicyL2Vpn", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "required": [ "transport_tunnels" ], "x-vmw-nsx-module": "PolicyL2Vpn", "type": "object", "properties": { "transport_tunnels": { "description": "List of paths referencing transport tunnels.\n", "title": "List of paths referencing transport tunnels", "minItems": 1, "items": { "type": "string" }, "maxItems": 1, "type": "array" }, "enabled": { "default": true, "type": "boolean", "description": "Enable to extend all the associated segments.\n", "title": "Enable L2Vpn" } } } ], "description": "Contains information necessary to configure L2Vpn.\n", "title": "L2 Virtual Private Network Configuration" }, "ComputeCollectionListResult": { "x-vmw-nsx-module": "InventoryCmObj", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "InventoryCmObj", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/ComputeCollection" }, "type": "array", "description": "Compute Collection list results", "title": "Compute Collection list results" } } } ], "description": "Compute Collection list result", "title": "Compute Collection list result" }, "NormalizedResourceListResult": { "x-vmw-nsx-module": "Normalization", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "Normalization", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/ResourceReference" }, "type": "array", "description": "Normalized resource list results", "title": "Normalized resource list results" } } } ], "description": "Paged Collection of normalized resources", "title": "Paged Collection of normalized resources" }, "VniPool": { "x-vmw-nsx-module": "Vnim", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "Vnim", "required": [ "ranges" ], "type": "object", "properties": { "ranges": { "items": { "$ref": "#/definitions/VniRange" }, "type": "array", "description": "VNI range list results", "title": "VNI range list results" } } } ] }, "EtherTypeServiceEntry": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/ServiceEntry" }, { "required": [ "ether_type" ], "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "ether_type": { "format": "int64", "type": "integer", "description": "Type of the encapsulated protocol", "title": "Type of the encapsulated protocol" } } } ], "description": "A ServiceEntry that represents an ethertype protocol", "title": "A ServiceEntry that represents an ethertype protocol" }, "BgpNeighborListResult": { "x-vmw-nsx-module": "Routing", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "Routing", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/BgpNeighbor" }, "type": "array", "description": "Paginated list of bgp neighbors", "title": "Paginated list of bgp neighbors" } } } ] }, "RouteAggregationEntry": { "description": "List of routes to be aggregated", "title": "List of routes to be aggregated", "required": [ "prefix" ], "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "summary_only": { "default": true, "type": "boolean", "description": "Send only summarized route.\nSummarization reduces number of routes advertised by representing\nmultiple related routes with prefix property.\n", "title": "Send only summarized route" }, "prefix": { "format": "ip-cidr-block", "type": "string", "description": "CIDR of aggregate address", "title": "CIDR of aggregate address" } } }, "ValueConstraintExpression": { "x-vmw-nsx-module": "PolicyConstraints", "allOf": [ { "$ref": "#/definitions/ConstraintExpression" }, { "required": [ "operator", "values" ], "x-vmw-nsx-module": "PolicyConstraints", "type": "object", "properties": { "operator": { "enum": [ "INCLUDES", "EXCLUDES", "EQUALS" ], "type": "string", "description": "Operation to check for value list for resource attribute of constraint.", "title": "Operation to check for value list for resource attribute of constraint." }, "values": { "items": { "type": "string" }, "type": "array", "description": "List of values.", "title": "Array of values to perform operation." } } } ], "description": "Represents the leaf level value constraint to constrain specified attribute\nvalue to the set of values to be allowed/not-allowed.\nExample - sourceGroups allowed to have only with list of groups.\n {\n \"operator\":\"INCLUDES\",\n \"values\":[\"/infra/services/HTTP\", \"/infra/services/HTTPS\"]\n }\n", "title": "Represents the leaf level value constraint." }, "IPSecVpnTunnelTrafficStatistics": { "x-vmw-nsx-module": "PolicyStatistics", "type": "object", "description": "IPSec VPN tunnel traffic statistics.", "properties": { "packets_sent_other_error": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of packets dropped while sending for any reason.\n", "title": "Packets sent other error" }, "packets_out": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of outgoing packets on outbound Security association.\n", "title": "Packets out" }, "dropped_packets_out": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of outgoing packets dropped on outbound security association.\n", "title": "Dropped outgoing packets" }, "integrity_failures": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of packets dropped due to integrity failures.\n", "title": "Integrity failures" }, "nomatching_policy_errors": { "readOnly": true, "format": "int64", "type": "integer", "description": "Number of packets dropped because of no matching policy is available.\n", "title": "Nomatching Policy errors" }, "sa_mismatch_errors_in": { "readOnly": true, "format": "int64", "type": "integer", "description": "Totoal number of security association mismatch errors on incoming packets.\n", "title": "Security association mismatch errors on incoming packets." }, "packets_received_other_error": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of incoming packets dropped on inbound Security association.\n", "title": "Packets received other error" }, "replay_errors": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of packets dropped due to replay check on that Security association.\n", "title": "Replay errors" }, "bytes_out": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of outgoing bytes on outbound Security association.\n", "title": "Bytes out" }, "local_subnet": { "readOnly": true, "type": "string", "description": "Local subnet to which a tunnel belongs.\n", "title": "Local subnet" }, "dropped_packets_in": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of incoming packets dropped on inbound security association.\n", "title": "Dropped incoming packets" }, "encryption_failures": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of packets dropped because of failure in encryption.\n", "title": "Encryption failures" }, "sa_mismatch_errors_out": { "readOnly": true, "format": "int64", "type": "integer", "description": "Totoal number of security association mismatch errors on outgoing packets.\n", "title": "Security association mismatch errors on outgoing packets" }, "tunnel_down_reason": { "readOnly": true, "type": "string", "description": "Gives the detailed reason about the tunnel when it is down. If tunnel\nis UP tunnel down reason will be empty.\n", "title": "Tunnel down reason" }, "bytes_in": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of incoming bytes on inbound Security association.\n", "title": "Bytes in" }, "decryption_failures": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of packets dropped due to decryption failures.\n", "title": "Decryption failures" }, "seq_number_overflow_error": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of packets dropped while sending due to overflow in sequence number.\n", "title": "Sequence number overflow error" }, "remote_subnet": { "readOnly": true, "type": "string", "description": "Peer subnet to which a tunnel belongs.\n", "title": "Peer subnet" }, "packets_in": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of incoming packets on inbound Security association.\n", "title": "Packets in" }, "tunnel_status": { "readOnly": true, "enum": [ "UP", "DOWN" ], "type": "string", "description": "Specifies the status of tunnel, if it is UP/DOWN.\n", "title": "Tunnel Status" } }, "title": "IPSec VPN tunnel traffic statistics" }, "LbRuleCondition": { "description": "Match conditions are used to match application traffic passing through\nload balancers. Multiple match conditions can be specified in one load\nbalancer rule, each match condition defines a criterion for application\ntraffic.\nIf inverse field is set to true, the match result of the condition is\ninverted.\nIf more than one match condition is specified, match strategy determines\nif all conditions should match or any one condition should match for the\nload balancer rule to be considered a match.\nCurrently only HTTP messages are supported by load balancer rules.\nEach load balancer rule is used at a specific phase of load balancer\nprocessing. Currently three phases are supported, HTTP_REQUEST_REWRITE,\nHTTP_FORWARDING and HTTP_RESPONSE_REWRITE.\nEach phase supports certain types of match conditions, supported match\nconditions in HTTP_REQUEST_REWRITE phase are:\nLbHttpRequestMethodCondition\nLbHttpRequestUriCondition\nLbHttpRequestUriArgumentsCondition\nLbHttpRequestVersionCondition\nLbHttpRequestHeaderCondition\nLbHttpRequestCookieCondition\nLbHttpRequestBodyCondition\nLbTcpHeaderCondition\nLbIpHeaderCondition\nLbVariableCondition\nLbHttpSslCondition\nSupported match conditions in HTTP_FORWARDING phase are:\nLbHttpRequestMethodCondition\nLbHttpRequestUriCondition\nLbHttpRequestVersionCondition\nLbHttpRequestHeaderCondition\nLbHttpRequestCookieCondition\nLbHttpRequestBodyCondition\nLbTcpHeaderCondition\nLbIpHeaderCondition\nLbVariableCondition\nLbHttpSslCondition\nSupported match condition in HTTP_RESPONSE_REWRITE phase is:\nLbHttpResponseHeaderCondition\nLbHttpRequestMethodCondition\nLbHttpRequestUriCondition\nLbHttpRequestUriArgumentsCondition\nLbHttpRequestVersionCondition\nLbHttpRequestHeaderCondition\nLbHttpRequestCookieCondition\nLbTcpHeaderCondition\nLbIpHeaderCondition\nLbVariableCondition\nLbHttpSslCondition\n", "title": "Match condition of load balancer rule", "required": [ "type" ], "discriminator": "type", "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "inverse": { "default": false, "type": "boolean", "description": "A flag to indicate whether reverse the match result of this condition", "title": "A flag to indicate whether reverse the match result of this condition" }, "type": { "description": "Type of load balancer rule condition", "enum": [ "LbHttpRequestMethodCondition", "LbHttpRequestUriCondition", "LbHttpRequestUriArgumentsCondition", "LbHttpRequestVersionCondition", "LbHttpRequestHeaderCondition", "LbHttpRequestCookieCondition", "LbHttpRequestBodyCondition", "LbHttpResponseHeaderCondition", "LbTcpHeaderCondition", "LbIpHeaderCondition", "LbVariableCondition", "LbHttpSslCondition" ], "type": "string" } } }, "HostProfileNetworkMigrationSpec": { "x-vmw-nsx-module": "TransportNode", "allOf": [ { "$ref": "#/definitions/NetworkMigrationSpec" }, { "x-vmw-nsx-module": "TransportNode", "type": "object", "properties": { "network_mappings": { "description": "Based on provided mappings, VMkernal adapters will be migrated to mentioned\nlogical switch. Without mappings specification doesn't make any sense, hence\nminium one mapping should be specified. Assuming some sane value of 10 maximum\nmigrations which will be supported by any single specification.\n", "title": "List of VMkernal adapters to logical switch mappings.", "minItems": 1, "items": { "$ref": "#/definitions/VmkToLogicalSwitchMapping" }, "maxItems": 10, "type": "array" } } } ], "description": "This specification should be used to define which VMK adapters need to be\nmigrated to NSX logical switches from VC network switches. Migrations specified\nhere should match with those from associated Host Profiles from VC.\nMismatch will result in migration failures.\nThis specification only supports migration vmkernal adapters to NSX logical switches.\n", "title": "Specification for network migrations related with Host Profiles." }, "DeploymentZoneListResult": { "x-vmw-nsx-module": "PolicyEnforcementPointManagement", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "PolicyEnforcementPointManagement", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/DeploymentZone" }, "type": "array", "description": "Deployment Zones", "title": "Deployment Zones" } } } ], "description": "Paged Collection of Deployment Zones", "title": "Paged Collection of Deployment Zones" }, "DhcpRelayService": { "x-vmw-nsx-module": "DhcpRelay", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "DhcpRelay", "required": [ "dhcp_relay_profile_id" ], "type": "object", "properties": { "dhcp_relay_profile_id": { "type": "string", "description": "dhcp relay profile referenced by the dhcp relay service", "title": "dhcp relay profile referenced by the dhcp relay service" } } } ] }, "PolicyNatRuleListResult": { "x-vmw-nsx-module": "PolicyNAT", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "PolicyNAT", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/PolicyNatRule" }, "type": "array", "description": "NAT Rules list results", "title": "NAT Rules list results" } } } ], "description": "Paged Collection of NAT Rules", "title": "Paged Collection of NAT Rules" }, "VirtualNetworkInterfaceElement": { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "allOf": [ { "$ref": "#/definitions/Element" }, { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "type": "object", "properties": { "device_key": { "readOnly": true, "type": "string", "description": "Device key of virtual network interface", "title": "Device key of virtual network interface" }, "ip_addresses": { "items": { "type": "string" }, "readOnly": true, "type": "array", "description": "IP Addresses of virtual network interface", "title": "IP Addresses of virtual network interface" }, "device_name": { "readOnly": true, "type": "string", "description": "Device name of virtual network interface", "title": "Device name of virtual network interface" }, "mac_address": { "readOnly": true, "type": "string", "description": "MAC address of virtual network interface", "title": "MAC address of virtual network interface" } } } ], "description": "Virtual Network Interface extends from Element class. This class\ncontains vnic information of a VM.\n", "title": "Virtual Network Interface element" }, "VtepLabelPool": { "x-vmw-nsx-module": "VtepLabel", "description": "A collection of ranges of virtual tunnel endpoint labels", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "VtepLabel", "required": [ "ranges" ], "type": "object", "properties": { "ranges": { "items": { "$ref": "#/definitions/VtepLabelRange" }, "type": "array", "description": "Array of ranges for virtual tunnel endpoint labels", "title": "Array of ranges for virtual tunnel endpoint labels" }, "pool_usage": { "readOnly": true, "title": "Pool usage statistics", "description": "Pool usage statistics", "$ref": "#/definitions/VtepLabelPoolUsage" } } } ] }, "LbPersistenceProfileListResult": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "LoadBalancer", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/LbPersistenceProfile" }, "type": "array", "description": "paginated list of load balancer persistence profiles", "title": "paginated list of load balancer persistence profiles" } } } ] }, "IngressRateShaper": { "x-vmw-nsx-module": "QosSwitchingProfile", "allOf": [ { "$ref": "#/definitions/QosBaseRateShaper" }, { "x-vmw-nsx-module": "QosSwitchingProfile", "type": "object", "properties": { "average_bandwidth_mbps": { "description": "Average bandwidth in Mb/s", "format": "int32", "default": 0, "title": "Average bandwidth in Mb/s", "minimum": 0, "type": "integer" }, "peak_bandwidth_mbps": { "description": "Peak bandwidth in Mb/s", "format": "int32", "default": 0, "title": "Peak bandwidth in Mb/s", "minimum": 0, "type": "integer" }, "burst_size_bytes": { "description": "Burst size in bytes", "format": "int32", "default": 0, "title": "Burst size in bytes", "minimum": 0, "type": "integer" } } } ], "description": "A shaper that specifies ingress rate properties in Mb/s", "title": "A shaper that specifies ingress rate properties in Mb/s" }, "IPSecVPNTunnelProfile": { "x-vmw-nsx-module": "IPSecVPN", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "IPSecVPN", "type": "object", "properties": { "encapsulation_mode": { "description": "Encapsulation Mode to be used for encryption of packet. Tunnel mode protects internal routing information by encrypting IP header of original packet.", "title": "Encapsulation Mode", "default": "TUNNEL_MODE", "enum": [ "TUNNEL_MODE" ], "readOnly": true, "type": "string" }, "transform_protocol": { "description": "IPSec transform specifies IPSec security protocol.", "title": "Tunnel protocol", "default": "ESP", "enum": [ "ESP" ], "readOnly": true, "type": "string" }, "digest_algorithms": { "items": { "description": "The TunnelDigestAlgorithms are used to verify message\nintegrity during IPSec VPN tunnel establishment.\nSHA1 produces 160 bits hash and SHA2_XXX produces\nXXX bit hash.\n", "enum": [ "SHA1", "SHA2_256", "SHA2_384", "SHA2_512" ], "type": "string" }, "type": "array", "description": "Algorithm to be used for message digest. Default digest algorithm is implicitly covered by default encryption algorithm \"AES_GCM_128\".", "title": "Algorithm for message hash" }, "encryption_algorithms": { "items": { "description": "TunnelEncryption algorithms are used to ensure confidentiality\nof the messages exchanged during Tunnel negotiations. AES\nstands for Advanced Encryption Standards. AES_128 uses 128-bit\nkeys whereas AES_256 uses 256-bit keys for encryption and\ndecryption. AES_GCM stands for Advanced Encryption Standard(AES)\nin Galois/Counter Mode (GCM) and is used to provide both\nconfidentiality and data origin authentication.\nNO_ENCRYPTION_AUTH_AES_GMAC_* enables authentication on input\ndata without encyption. Digest algorithm should be empty for this\noption.\n", "enum": [ "AES_128", "AES_256", "AES_GCM_128", "AES_GCM_192", "AES_GCM_256", "NO_ENCRYPTION_AUTH_AES_GMAC_128", "NO_ENCRYPTION_AUTH_AES_GMAC_192", "NO_ENCRYPTION_AUTH_AES_GMAC_256", "NO_ENCRYPTION" ], "type": "string" }, "type": "array", "description": "Encryption algorithm to encrypt/decrypt the messages exchanged between IPSec VPN initiator and responder during tunnel negotiation. Default is AES_GCM_128.", "title": "Encryption algorithm to use in tunnel establishement" }, "enable_perfect_forward_secrecy": { "default": true, "type": "boolean", "description": "If true, perfect forward secrecy (PFS) is enabled.", "title": "Enable perfect forward secrecy" }, "dh_groups": { "items": { "description": "Diffie-Hellman groups represent algorithm used to derive shared\nkeys between IPSec VPN initiator and responder over an\nunsecured network.\nGROUP2 uses 1024-bit Modular Exponentiation (MODP) group.\nGROUP5 uses 1536-bit MODP group.\nGROUP14 uses 2048-bit MODP group.\nGROUP15 uses 3072-bit MODP group.\nGROUP16 uses 4096-bit MODP group.\n", "enum": [ "GROUP2", "GROUP5", "GROUP14", "GROUP15", "GROUP16" ], "type": "string" }, "type": "array", "description": "Diffie-Hellman group to be used if PFS is enabled. Default is GROUP14.", "title": "DH group" }, "df_policy": { "default": "COPY", "enum": [ "COPY", "CLEAR" ], "type": "string", "description": "Defragmentation policy helps to handle defragmentation bit present in the inner packet. COPY copies the defragmentation bit from the inner IP packet into the outer packet. CLEAR ignores the defragmentation bit present in the inner packet.", "title": "Policy for handling defragmentation bit" }, "sa_life_time": { "description": "SA life time specifies the expiry time of security\nassociation. Default is 3600 seconds.\n", "title": "Security association (SA) life time", "default": 3600, "format": "int64", "maximum": 31536000, "minimum": 900, "type": "integer" } } } ], "description": "IPSec VPN tunnel profile is a reusable profile that captures phase two negotiation parameters and tunnel properties. Any changes affects all IPSec VPN sessions consuming this profile.", "title": "IPSec VPN tunnel profile" }, "RouteBasedIPSecVPNSession": { "x-vmw-nsx-module": "IPSecVPN", "allOf": [ { "$ref": "#/definitions/IPSecVPNSession" }, { "required": [ "tunnel_ports" ], "x-vmw-nsx-module": "IPSecVPN", "type": "object", "properties": { "tunnel_ports": { "description": "IP Tunnel ports.", "title": "IP Tunnel ports", "minItems": 1, "items": { "$ref": "#/definitions/TunnelPortConfig" }, "maxItems": 1, "type": "array" } } } ], "description": "A Route Based VPN is more flexible, more powerful and recommended over policy based VPN. IP Tunnel port is created and all traffic routed via tunnel port is protected. Routes can be configured statically or can be learned through BGP. A route based VPN is must for establishing redundant VPN session to remote site.", "title": "Route based VPN session" }, "WidgetItem": { "description": "Represents a reference to a widget that is held by a container or a multi-widget or a View.", "title": "Widget held by MultiWidgetConfiguration or Container or a View", "required": [ "widget_id" ], "x-vmw-nsx-module": "NsxDashboard", "type": "object", "properties": { "widget_id": { "maxLength": 255, "type": "string", "description": "Id of the widget configuration that is held by a multi-widget or a container or a view.", "title": "Id of the widget configuration" }, "weight": { "default": 10000, "format": "int32", "type": "integer", "description": "Determines placement of widget or container relative to other widgets and containers. The lower the weight, the higher it is in the placement order.", "title": "Weightage or placement of the widget or container" }, "label": { "title": "Label of the the report", "description": "Applicable for 'DonutConfiguration' and 'StatsConfiguration' reports only. If label is not specified, then it defaults to the label of the donut or stats report.", "$ref": "#/definitions/Label" } } }, "LogicalDhcpServerListResult": { "x-vmw-nsx-module": "Dhcp", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "Dhcp", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/LogicalDhcpServer" }, "type": "array", "description": "paginated list of dhcp servers", "title": "paginated list of dhcp servers" } } } ] }, "IPv4DhcpServer": { "x-vmw-nsx-module": "Dhcp", "required": [ "dhcp_server_ip" ], "type": "object", "properties": { "dhcp_server_ip": { "description": "dhcp server ip in cidr format", "format": "ipv4-cidr-block", "type": "string" }, "options": { "title": "dhcp options", "description": "Defines the default options for all ip-pools and static-bindings of this server.\nThese options will be ignored if options are defined for ip-pools or static-bindings.\n", "$ref": "#/definitions/DhcpOptions" }, "dns_nameservers": { "description": "dns ips", "title": "dns ips", "minItems": 0, "items": { "description": "IPv4 address", "format": "ipv4", "type": "string" }, "maxItems": 2, "type": "array" }, "domain_name": { "format": "hostname", "type": "string", "description": "domain name", "title": "domain name" }, "gateway_ip": { "description": "gateway ip", "format": "ipv4", "type": "string" } } }, "PrincipalIdentityList": { "x-vmw-nsx-module": "CertificateManager", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "CertificateManager", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/PrincipalIdentity" }, "readOnly": false, "type": "array", "description": "PrincipalIdentity list" } } } ], "description": "PrincipalIdentity query result", "title": "PrincipalIdentity query result" }, "RealizedVirtualMachineListResult": { "x-vmw-nsx-module": "PolicyStatistics", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "PolicyStatistics", "type": "object", "properties": { "results": { "items": { "title": "Virtual machine list result", "$ref": "#/definitions/RealizedVirtualMachine" }, "type": "array", "description": "Paged Collection of VMs", "title": "Paged Collection of VMs" } } } ] }, "IPSecVPNDPDProfile": { "x-vmw-nsx-module": "IPSecVPN", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "IPSecVPN", "type": "object", "properties": { "enabled": { "default": true, "type": "boolean", "description": "If true, enable dead peer detection.", "title": "Enable dead peer detection (DPD)" }, "dpd_probe_interval": { "description": "DPD probe interval defines a periodic interval for DPD probes.", "title": "DPD probe interval in seconds", "default": 60, "format": "int64", "maximum": 360, "minimum": 3, "type": "integer" } } } ], "description": "Dead peer detection (DPD) is a method that allows detection of unreachable internet key excahnge (IKE) peers. Any changes affects all IPSec VPN sessions consuming this profile.", "title": "Dead peer detection (DPD) profile" }, "CertificateList": { "x-vmw-nsx-module": "CertificateManager", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "CertificateManager", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/Certificate" }, "readOnly": true, "type": "array", "description": "Certificate list" } } } ], "description": "Certificate queries result", "title": "Certificate queries result" }, "RevisionedResource": { "x-vmw-nsx-module": "Common", "allOf": [ { "$ref": "#/definitions/Resource" }, { "x-vmw-nsx-module": "Common", "type": "object", "properties": { "_revision": { "format": "int32", "type": "integer", "description": "The _revision property describes the current revision of the resource. To prevent clients from overwriting each other's changes, PUT operations must include the current _revision of the resource, which clients should obtain by issuing a GET operation. If the _revision provided in a PUT request is missing or stale, the operation will be rejected.", "title": "Generation of this resource config" } } } ], "description": "A base class for types that track revisions", "title": "A base class for types that track revisions" }, "CpuCoreConfigForEnhancedNetworkingStackSwitch": { "description": "Non Uniform Memory Access (NUMA) nodes and Logical cpu cores (Lcores) per NUMA node configuration for Enhanced Networking Stack enabled HostSwitch.", "title": "Enhanced Networking Stack CPU configuration", "required": [ "num_lcores", "numa_node_index" ], "x-vmw-nsx-module": "TransportNode", "type": "object", "properties": { "num_lcores": { "description": "Number of Logical cpu cores (Lcores) to be placed on a specified NUMA node", "format": "int32", "title": "Number of Logical cpu cores (Lcores) to be placed on a specified NUMA node", "readOnly": false, "minimum": 1, "type": "integer" }, "numa_node_index": { "description": "Unique index of the Non Uniform Memory Access (NUMA) node", "format": "int32", "title": "Unique index of the Non Uniform Memory Access (NUMA) node", "readOnly": false, "minimum": 0, "type": "integer" } } }, "LbHttpRequestHeaderRewriteAction": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbRuleAction" }, { "required": [ "header_value", "header_name" ], "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "header_value": { "type": "string", "description": "Value of HTTP request header", "title": "Value of HTTP request header" }, "header_name": { "type": "string", "description": "Name of HTTP request header", "title": "Name of HTTP request header" } } } ], "description": "This action is used to rewrite header fields of matched HTTP request\nmessages to specified new values. One action can be used to rewrite one\nheader field. To rewrite multiple header fields, multiple actions must be\ndefined.\nCaptured variables and built-in variables can be used in the header_value\nfield, header_name field does not support variables.\n", "title": "Action to rewrite header fields of HTTP request messages." }, "PrefixEntry": { "description": "Network prefix entry", "title": "Network prefix entry", "required": [ "action", "network" ], "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "action": { "default": "PERMIT", "enum": [ "PERMIT", "DENY" ], "type": "string", "description": "Action for the prefix list.\n", "title": "Action for the prefix list" }, "network": { "type": "string", "description": "Network prefix in CIDR format. \"ANY\" matches all networks.\n", "title": "Network prefix in CIDR format" } } }, "StandardHostSwitchSpec": { "x-vmw-nsx-module": "TransportNode", "allOf": [ { "$ref": "#/definitions/HostSwitchSpec" }, { "required": [ "host_switches" ], "x-vmw-nsx-module": "TransportNode", "type": "object", "properties": { "host_switches": { "description": "Transport Node host switches", "title": "Transport Node host switches", "minItems": 0, "items": { "$ref": "#/definitions/StandardHostSwitch" }, "maxItems": 5, "type": "array" } } } ], "description": "Standard host switch specification is used for NSX configured transport node.", "title": "Specification of transport node standard host switch" }, "LBSnatDisabled": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/LBSnatTranslation" }, { "x-vmw-nsx-module": "ManagerNode", "type": "object" } ] }, "ListResult": { "x-vmw-nsx-module": "Common", "allOf": [ { "$ref": "#/definitions/Resource" }, { "x-vmw-nsx-module": "Common", "type": "object", "properties": { "cursor": { "readOnly": true, "type": "string", "description": "Opaque cursor to be used for getting next page of records (supplied by current result page)", "title": "Opaque cursor to be used for getting next page of records (supplied by current result page)" }, "sort_ascending": { "readOnly": true, "type": "boolean", "description": "If true, results are sorted in ascending order", "title": "If true, results are sorted in ascending order" }, "sort_by": { "readOnly": true, "type": "string", "description": "Field by which records are sorted", "title": "Field by which records are sorted" }, "result_count": { "readOnly": true, "format": "int64", "type": "integer", "description": "Count of results found (across all pages), set only on first page", "title": "Count of results found (across all pages), set only on first page" } } } ], "description": "Base class for list results from collections", "title": "Base class for list results from collections" }, "LBServiceListResult": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/LBService" }, "type": "array", "description": "LBService list results", "title": "LBService list results" } } } ], "description": "Paged Collection of LBServices", "title": "Paged Collection of LBServices" }, "FirewallStatusListResult": { "x-vmw-nsx-module": "FirewallStatus", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "FirewallStatus", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/FirewallStatus" }, "readOnly": true, "type": "array" } } } ], "description": "List of firewall statuses for a context or all context", "title": "Firewall Statuses" }, "SecurityPolicyListResult": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/SecurityPolicy" }, "type": "array", "description": "SecurityPolicy list results", "title": "SecurityPolicy list results" } } } ], "description": "Paged Collection of security policies", "title": "Paged Collection of security policies" }, "NSGroupListResult": { "x-vmw-nsx-module": "NSGroup", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "NSGroup", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/NSGroup" }, "type": "array", "description": "NSGroup list results", "title": "NSGroup list results" } } } ], "description": "Paged Collection of NSGroups", "title": "Paged Collection of NSGroups" }, "PolicyNatRule": { "x-vmw-nsx-module": "PolicyNAT", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "required": [ "action" ], "x-vmw-nsx-module": "PolicyNAT", "type": "object", "properties": { "translated_network": { "description": "IP Address | Comma separeted list of IP addresses | CIDR.\nFor SNAT, DNAT and REFLEXIVE rules, this ia a mandatory field, which\nrepresents the translated network address.\nFor NO_SNAT and NO_DNAT this should be empty.\n", "format": "list-of-address-or-block-or-range", "type": "string" }, "logging": { "default": false, "type": "boolean", "description": "The flag, which suggests whether the logging of NAT rule is enabled or\ndisabled. The default is False.\n", "title": "Policy NAT Rule logging flag" }, "service": { "type": "string", "description": "It represents the path of Service on which the NAT rule will be applied.\nIf not provided or if it is blank then Policy manager will consider it\nas ANY.\n", "title": "Represents the service on which the NAT rule will be applied" }, "source_network": { "description": "IP Address | Comma separeted list of IP addresses | CIDR.\nFor SNAT, NO_SNAT and REFLEXIVE rules, this is a mandatory field and\nrepresents the source network of the packets leaving the network.\nFor DNAT and NO_DNAT rules, optionally it can contain source network\nof incoming packets.\nNULL value for this field represents ANY network.\n", "format": "list-of-address-or-block-or-range", "type": "string" }, "enabled": { "default": true, "type": "boolean", "description": "The flag, which suggests whether the NAT rule is enabled or\ndisabled. The default is True.\n", "title": "Policy NAT Rule enabled flag" }, "translated_ports": { "description": "Port number or port range", "format": "port-or-range", "type": "string" }, "action": { "enum": [ "SNAT", "DNAT", "REFLEXIVE", "NO_SNAT", "NO_DNAT" ], "type": "string", "description": "Source NAT(SNAT) - translates a source IP address in an outbound packet so that\nthe packet appears to originate from a different network. SNAT is only supported\nwhen the logical router is running in active-standby mode.\nDestination NAT(DNAT) - translates the destination IP address of inbound packets\nso that packets are delivered to a target address into another network. DNAT is\nonly supported when the logical router is running in active-standby mode.\nReflexive NAT(REFLEXIVE) - IP-Range and CIDR are supported to define the \"n\".\nThe number of original networks should be exactly the same as that of\ntranslated networks. The address translation is deterministic. Reflexive is\nsupported on both Active/Standby and Active/Active LR.\nNO_SNAT and NO_DNAT - These do not have support for translated_fields, only\nsource_network and destination_network fields are supported.\n", "title": "Represents action of NAT Rule SNAT, DNAT, REFLEXIVE" }, "scope": { "items": { "type": "string" }, "type": "array", "description": "Represents the array of policy paths of labels of type ProviderInterface\non which the NAT rule should get enforced. The tier-0 interfaces\nmust belong to the same tier-0 router for which the NAT Rule is created.\n", "title": "Array of policy paths of labels" }, "firewall_match": { "enum": [ "MATCH_EXTERNAL_ADDRESS", "MATCH_INTERNAL_ADDRESS", "BYPASS" ], "type": "string", "description": "It indicates how the firewall matches the address after NATing if firewall\nstage is not skipped.\n\nMATCH_EXTERNAL_ADDRESS indicates the firewall will be applied to external address\nof a NAT rule. For SNAT, the external address is the translated source address\nafter NAT is done. For DNAT, the external address is the original destination\naddress before NAT is done. For REFLEXIVE, to egress traffic, the firewall\nwill be applied to the translated source address after NAT is done; To ingress\ntraffic, the firewall will be applied to the original destination address\nbefore NAT is done.\n\nMATCH_INTERNAL_ADDRESS indicates the firewall will be applied to internal\naddress of a NAT rule. For SNAT, the internal address is the original source\naddress before NAT is done. For DNAT, the internal address is the translated\ndestination address after NAT is done. For REFLEXIVE, to egress traffic, the\nfirewall will be applied to the original source address before NAT is done;\nTo ingress traffic, the firewall will be applied to the translated destination\naddress after NAT is done.\n\nBYPASS indicates the firewall stage will be skipped.\n\nFor NO_SNAT or NO_DNAT, it must be BYPASS or leave it unassigned\n", "title": "Represents the firewall match flag" }, "destination_network": { "description": "IP Address | Comma separeted list of IP addresses | CIDR.\nFor DNAT and NO_DNAT rules, this is a mandatory field, and represents\nthe destination network for the incoming packets.\nFor other type of rules, optionally it can contain destination network\nof outgoing packets.\nNULL value for this field represents ANY network.\n", "format": "list-of-address-or-block-or-range", "type": "string" }, "sequence_number": { "default": 0, "format": "int32", "type": "integer", "description": "The sequence_number decides the rule_priority of a NAT rule.\nSequence_number and rule_priority have 1:1 mapping.For each NAT section,\nthere will be reserved rule_priority numbers.The valid range of\nrule_priority number is from 0 to 2147483647(MAX_INT).\n1. INTERNAL section\n rule_priority reserved from 0 - 1023 (1024 rules)\n valid sequence_number range 0 - 1023\n2. USER section\n rule_priority reserved from 1024 - 2147482623 (2147481600 rules)\n valid sequence_number range 0 - 2147481599\n3. DEFAULT section\n rule_priority reserved from 2147482624 - 2147483647 (1024 rules)\n valid sequence_number range 0 - 1023\n", "title": "Sequence number of the Nat Rule" } } } ], "description": "Represents a NAT rule between source and destination at T0/T1 router.", "title": "Represents a NAT rule between source and destination at T0/T1 router" }, "LicensesListResult": { "x-vmw-nsx-module": "License", "description": "Licenses queries result", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "License", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/License" }, "readOnly": true, "type": "array", "description": "Licenses Results", "title": "Licenses Results" } } } ] }, "InstanceEndpoint": { "x-vmw-nsx-module": "ServiceInsertionCommonTypes", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "required": [ "target_ips" ], "x-vmw-nsx-module": "ServiceInsertionCommonTypes", "type": "object", "properties": { "service_attachments": { "description": "Id(s) of the Service Attachment where this enndpoint is connected to. Service Attachment is mandatory for LOGICAL Instance Endpoint.", "title": "Service Attachment list", "minItems": 1, "items": { "$ref": "#/definitions/ResourceReference" }, "readOnly": false, "maxItems": 1, "type": "array" }, "target_ips": { "description": "Target IPs on an interface of the Service Instance.", "title": "Target IPs", "minItems": 1, "items": { "$ref": "#/definitions/IPInfo" }, "maxItems": 1, "type": "array" }, "endpoint_type": { "description": "LOGICAL - It must be created with a ServiceAttachment and identifies a destination connected to the Service Port of the ServiceAttachment, through the ServiceAttachment's Logical Switch. VIRTUAL - It represents a L3 destination the router can route to but does not provide any further information about its location in the network. Virtual InstanceEndpoints are used for redirection targets that are not connected to Service Ports, such as the next-hop routers on the Edge uplinks.", "title": "Instance Endpoint Type", "default": "LOGICAL", "enum": [ "LOGICAL", "VIRTUAL" ], "readOnly": false, "type": "string" }, "link_ids": { "description": "Link Ids are mandatory for VIRTUAL Instance Endpoint. Even though VIRTUAL, the Instance Endpoint should be connected/accessible through an NSX object. The link id is this NSX object id. Example - For North-South Service Insertion, this is the LogicalRouter Id through which the targetIp/L3 destination accessible.", "title": "Link Id list", "minItems": 1, "items": { "$ref": "#/definitions/ResourceReference" }, "readOnly": false, "maxItems": 1, "type": "array" } } } ], "description": "An InstanceEndpoint belongs to one ServiceInstance and represents a redirection target for a Rule. For Example - It can be an L3 Destination. Service Attachments is required for a InstanceEndpoint of type LOGICAL, and deployed_to if its a VIRTUAL InstanceEndpoint.", "title": "EndPoint of an Instance" }, "ComputeCollectionTransportNodeTemplateState": { "x-vmw-nsx-module": "TransportNode", "type": "object", "description": "Transport node state per compute collection", "properties": { "compute_collection_id": { "readOnly": true, "type": "string", "description": "Associated compute collection id", "title": "Associated compute collection id" }, "template_states": { "items": { "$ref": "#/definitions/TransportNodeTemplateState" }, "readOnly": true, "type": "array", "description": "Transport node template states in compute collection", "title": "Transport node template states in compute collection" } }, "title": "Transport node state per compute collection" }, "IPFIXDFWCollectorProfile": { "x-vmw-nsx-module": "PolicyIPFIXDFW", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "required": [ "ipfix_dfw_collectors" ], "x-vmw-nsx-module": "PolicyIPFIXDFW", "type": "object", "properties": { "ipfix_dfw_collectors": { "minItems": 1, "items": { "$ref": "#/definitions/IPFIXDFWCollector" }, "type": "array", "description": "It accepts Multiple Collectors.", "title": "IPFIX DFW Collectors." } } } ], "description": "IPFIX data for the NSX distributed firewall will be sent to the specified\nIPFIX collectors.\n", "title": "IPFIX DFW Collector Profile" }, "VIPSubnet": { "x-vmw-nsx-module": "LogicalRouter", "required": [ "prefix_length", "active_vip_addresses" ], "type": "object", "properties": { "prefix_length": { "description": "Subnet Prefix Length", "format": "int64", "title": "Subnet Prefix Length", "maximum": 31, "minimum": 1, "type": "integer" }, "active_vip_addresses": { "description": "Array of IP address subnets which will be used as floating IP addresses. | These IPs will move and will be owned by Active node.", "title": "IPv4 Addresses which will be owned by uplink on active node.", "minItems": 1, "items": { "description": "IPv4 address", "format": "ipv4", "type": "string" }, "maxItems": 1, "type": "array" } } }, "TransportZoneStatusListResult": { "x-vmw-nsx-module": "TransportZone", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "TransportZone", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/TransportZoneStatus" }, "type": "array", "description": "Transport Zone Runtime Status Info Results", "title": "Transport Zone Runtime Status Info Results" } } } ], "description": "Transport zone runtime status queries result", "title": "Transport zone runtime status queries result" }, "View": { "x-vmw-nsx-module": "NsxDashboard", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "required": [ "widgets", "display_name" ], "x-vmw-nsx-module": "NsxDashboard", "type": "object", "properties": { "include_roles": { "maxLength": 1024, "type": "string", "description": "Comma separated list of roles to which the shared view is visible. Allows user to specify the visibility of a shared view to the specified roles. User defined roles can also be specified in the list. The roles can be obtained via GET /api/v1/aaa/roles. Please visit API documentation for details about roles.", "title": "Roles to which the shared view is visible" }, "display_name": { "maxLength": 255, "type": "string", "description": "Title of the widget.", "title": "Widget Title" }, "exclude_roles": { "maxLength": 1024, "type": "string", "description": "Comma separated list of roles to which the shared view is not visible. Allows user to prevent the visibility of a shared view to the specified roles. User defined roles can also be specified in the list. The roles can be obtained via GET /api/v1/aaa/roles. Please visit API documentation for details about roles. If include_roles is specified then exclude_roles cannot be specified.", "title": "Roles to which the shared view is not visible" }, "weight": { "default": 10000, "format": "int32", "type": "integer", "description": "Determines placement of view relative to other views. The lower the weight, the higher it is in the placement order.", "title": "Weightage or placement of the view" }, "widgets": { "minItems": 0, "items": { "$ref": "#/definitions/WidgetItem" }, "type": "array", "description": "Array of widgets that are part of the view.", "title": "Widgets" }, "shared": { "default": false, "type": "boolean", "description": "Defaults to false. Set to true to publish the view to other users. The widgets of a shared view are visible to other users.", "title": "Share the view with other users" } } } ], "description": "Describes the configuration of a view to be displayed on the dashboard.", "title": "Dashboard View" }, "AllocationIpAddress": { "x-vmw-nsx-module": "Ipam", "description": "Allocation parameters for the IP address (e.g. specific IP address) can be specified. Tags, display_name and description attributes are not supported in this release.", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "Ipam", "type": "object", "properties": { "allocation_id": { "description": "Address that is allocated from pool", "format": "ip", "readOnly": true, "type": "string" } } } ] }, "LBMonitorProfileListResult": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/LBMonitorProfile" }, "type": "array", "description": "LBMonitorProfile list results", "title": "LBMonitorProfile list results" } } } ], "description": "Paged Collection of LBMonitorProfiles", "title": "Paged Collection of LBMonitorProfiles" }, "LogicalT0RouterElement": { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "allOf": [ { "$ref": "#/definitions/Element" }, { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "type": "object", "properties": { "linking_outside": { "readOnly": true, "type": "boolean", "description": "If router is linked to outside network", "title": "If router is linked to outside network" } } } ], "description": "Logical T0 router element extends from Element class. This class contains the\ninformation related to logical T0 router.\n", "title": "Logical T0 router element" }, "TelemetryAgreement": { "x-vmw-nsx-module": "TelemetryConfig", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "TelemetryConfig", "required": [ "telemetry_agreement_displayed" ], "type": "object", "properties": { "telemetry_agreement_displayed": { "type": "boolean", "description": "Determine if telemetry agreement has been displayed. If false,\nthe agreement text will be displayed at login time.\n", "title": "Flag to indicate if telemetry agreement has been displayed" } } } ] }, "ChildLBService": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "LBService" ], "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "LBService": { "title": "LBService", "description": "Contains the actual LBService object\n", "$ref": "#/definitions/LBService" } } } ], "description": "Child wrapper for LBService, used in hierarchical API\n", "title": "Wrapper object for LBService" }, "IpfixDfwTemplateParameters": { "x-vmw-nsx-module": "Ipfix", "type": "object", "description": "This entity represents the flow parameters which are exported.\n", "properties": { "source_icmp_type": { "default": true, "readOnly": true, "type": "boolean", "description": "Type of the IPv4 ICMP message.\n" }, "icmp_code": { "default": true, "readOnly": true, "type": "boolean", "description": "Code of the IPv4 ICMP message.\n" }, "destination_transport_port": { "default": true, "readOnly": true, "type": "boolean", "description": "The destination transport port of a monitored network flow.\n" }, "octet_delta_count": { "default": true, "readOnly": true, "type": "boolean", "description": "The number of octets since the previous report (if any) in incoming\npackets for this flow at the observation point. The number of octets\ninclude IP header(s) and payload.\n" }, "vif_uuid": { "default": true, "readOnly": true, "type": "boolean", "description": "VIF UUID - enterprise specific Information Element that uniquely identifies VIF.\n" }, "protocol_identifier": { "default": true, "readOnly": true, "type": "boolean", "description": "The value of the protocol number in the IP packet header.\n" }, "firewall_event": { "default": true, "readOnly": true, "type": "boolean", "description": "Five valid values are allowed: 1. Flow Created. 2. Flow Deleted.\n3. Flow Denied. 4. Flow Alert (not used in DropKick implementation).\n5. Flow Update.\n" }, "flow_direction": { "default": true, "readOnly": true, "type": "boolean", "description": "Two valid values are allowed: 1. 0x00: igress flow to VM. 2. 0x01:\negress flow from VM.\n" }, "flow_end": { "default": true, "readOnly": true, "type": "boolean", "description": "The absolute timestamp (seconds) of the last packet of this flow.\n" }, "source_transport_port": { "default": true, "readOnly": true, "type": "boolean", "description": "The source transport port of a monitored network flow.\n" }, "packet_delta_count": { "default": true, "readOnly": true, "type": "boolean", "description": "The number of incoming packets since the previous report (if any)\nfor this flow at the observation point.\n" }, "destination_address": { "default": true, "readOnly": true, "type": "boolean", "description": "The destination IP address of a monitored network flow.\n" }, "source_address": { "default": true, "readOnly": true, "type": "boolean", "description": "The source IP address of a monitored network flow.\n" }, "rule_id": { "default": true, "readOnly": true, "type": "boolean", "description": "Firewall rule Id - enterprise specific Information Element that uniquely identifies\nfirewall rule.\n" }, "flow_start": { "default": true, "readOnly": true, "type": "boolean", "description": "The absolute timestamp (seconds) of the first packet of this flow.\n" } }, "title": "IPFIX DFW Template Parameters" }, "VirtualNetworkInterfaceListResult": { "x-vmw-nsx-module": "Inventory", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "Inventory", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/VirtualNetworkInterface" }, "type": "array", "description": "VirtualNetworkInterface list results", "title": "VirtualNetworkInterface list results" } } } ] }, "ALGTypeNSService": { "x-vmw-nsx-module": "Types", "allOf": [ { "$ref": "#/definitions/NSServiceElement" }, { "required": [ "alg" ], "x-vmw-nsx-module": "Types", "type": "object", "properties": { "alg": { "enum": [ "ORACLE_TNS", "FTP", "SUN_RPC_TCP", "SUN_RPC_UDP", "MS_RPC_TCP", "MS_RPC_UDP", "NBNS_BROADCAST", "NBDG_BROADCAST", "TFTP" ], "type": "string", "description": "The Application Layer Gateway (ALG) protocol", "title": "The Application Layer Gateway (ALG) protocol" }, "destination_ports": { "items": { "description": "Examples- Single port \"8080\", Range of ports \"8090-8095\"\n", "format": "port-or-range", "type": "string" }, "type": "array", "description": "The destination_port cannot be empty and must be a single value.", "maxItems": 15, "title": "The destination_port cannot be empty and must be a single value." }, "source_ports": { "items": { "description": "Examples- Single port \"8080\", Range of ports \"8090-8095\"\n", "format": "port-or-range", "type": "string" }, "type": "array", "description": "Source ports", "maxItems": 15, "title": "Source ports" } } } ], "description": "An NSService element that represents an ALG protocol", "title": "An NSService element that represents an ALG protocol" }, "RuleListResult": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/Rule" }, "type": "array", "description": "Rule list results", "title": "Rule list results" } } } ], "description": "Paged Collection of Rules", "title": "Paged Collection of Rules" }, "TraceflowObservationDropped": { "x-vmw-nsx-module": "Traceflow", "allOf": [ { "$ref": "#/definitions/TraceflowObservation" }, { "x-vmw-nsx-module": "Traceflow", "type": "object", "properties": { "reason": { "readOnly": true, "enum": [ "ARP_FAIL", "BFD", "DHCP", "FW_RULE", "GENEVE", "GRE", "IFACE", "IP", "IP_REASS", "IPSEC", "IPSEC_VTI", "L2VPN", "L4PORT", "LB", "LROUTER", "LSERVICE", "LSWITCH", "MD_PROXY", "NAT", "NEIGH", "NO_ROUTE", "SERVICE_INSERT", "TTL_ZERO", "TUNNEL", "VXLAN", "VXSTT", "UNKNOWN" ], "type": "string", "description": "The reason traceflow packet was dropped", "title": "The reason traceflow packet was dropped" }, "lport_name": { "readOnly": true, "type": "string", "description": "The name of the logical port at which the traceflow packet was dropped", "title": "The name of the logical port at which the traceflow packet was dropped" }, "acl_rule_id": { "readOnly": true, "format": "int64", "type": "integer", "description": "The id of the acl rule that was applied to drop the traceflow packet", "title": "The id of the acl rule that was applied to drop the traceflow packet" }, "lport_id": { "readOnly": true, "type": "string", "description": "The id of the logical port at which the traceflow packet was dropped", "title": "The id of the logical port at which the traceflow packet was dropped" } } } ] }, "LbSnatAutoMap": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbSnatTranslation" }, { "x-vmw-nsx-module": "LoadBalancer", "type": "object" } ] }, "IpAddressInfo": { "x-vmw-nsx-module": "Inventory", "type": "object", "description": "Ipaddress information of the fabric node.", "properties": { "source": { "readOnly": true, "enum": [ "VM_TOOLS" ], "type": "string", "description": "Source of the ipaddress information.", "title": "Source of the ipaddress information." }, "ip_addresses": { "items": { "description": "IPv4 or IPv6 address", "format": "ip", "type": "string" }, "readOnly": true, "type": "array", "description": "IP Addresses of the the virtual network interface, as discovered in the source.", "title": "IP Addresses of the the virtual network interface, as discovered in the source." } }, "title": "Ipaddress information of the fabric node." }, "TraceflowObservationDroppedLogical": { "x-vmw-nsx-module": "Traceflow", "allOf": [ { "$ref": "#/definitions/TraceflowObservationDropped" }, { "x-vmw-nsx-module": "Traceflow", "type": "object", "properties": { "component_id": { "readOnly": true, "type": "string", "description": "The id of the component that dropped the traceflow packet.", "title": "The id of the component that dropped the traceflow packet." } } } ] }, "RealizedEnforcementPointListResult": { "x-vmw-nsx-module": "PolicyRealizedState", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "PolicyRealizedState", "type": "object", "properties": { "results": { "items": { "title": "Enforcement point list result", "$ref": "#/definitions/RealizedEnforcementPoint" }, "type": "array", "description": "Paged Collection of Enforcement Point's", "title": "Paged Collection of Enforcement Point's" } } } ] }, "ChildConstraint": { "x-vmw-nsx-module": "PolicyConstraints", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "Constraint" ], "x-vmw-nsx-module": "PolicyConstraints", "type": "object", "properties": { "Constraint": { "title": "Constraint", "description": "Contains the actual Constraint object\n", "$ref": "#/definitions/Constraint" } } } ], "description": "Child wrapper object for Constraint, used in hierarchical API", "title": "Wrapper object for Constraint" }, "LbHttpRejectAction": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbRuleAction" }, { "required": [ "reply_status" ], "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "reply_status": { "type": "string", "description": "HTTP response status code", "title": "HTTP response status code" }, "reply_message": { "type": "string", "description": "Response message", "title": "Response message" } } } ], "description": "This action is used to reject HTTP request messages. The specified\nreply_status value is used as the status code for the corresponding HTTP\nresponse message which is sent back to client (Normally a browser)\nindicating the reason it was rejected. Reference official HTTP status code\nlist for your specific HTTP version to set the reply_status properly.\nLbHttpRejectAction does not support variables.\n", "title": "Action to reject HTTP request messages" }, "PreconfiguredEndpoint": { "description": "Tunnel endpoint configuration of preconfigured host switch", "title": "Tunnel endpoint configuration of preconfigured host switch", "required": [ "device_name" ], "x-vmw-nsx-module": "TransportNode", "type": "object", "properties": { "device_name": { "readOnly": false, "type": "string", "description": "Name of the virtual tunnel endpoint", "title": "Name of the virtual tunnel endpoint" } } }, "ChildL2Vpn": { "x-vmw-nsx-module": "PolicyL2Vpn", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "L2Vpn" ], "x-vmw-nsx-module": "PolicyL2Vpn", "type": "object", "properties": { "L2Vpn": { "title": "L2Vpn", "description": "Contains the actual L2Vpn object.\n", "$ref": "#/definitions/L2Vpn" } } } ], "description": "Child wrapper object for L2Vpn, used in hierarchical API.", "title": "Wrapper object for L2Vpn" }, "IPSetDeleteRequestParameters": { "x-vmw-nsx-module": "IPSet", "allOf": [ { "$ref": "#/definitions/DeleteRequestParameters" }, { "x-vmw-nsx-module": "IPSet", "type": "object" } ], "description": "IPSet delete request parameters", "title": "IPSet delete request parameters" }, "LbVirtualServerListResult": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "LoadBalancer", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/LbVirtualServer" }, "type": "array", "description": "paginated list of virtual servers", "title": "paginated list of virtual servers" } } } ] }, "ClusterProfileListResult": { "x-vmw-nsx-module": "ClusterProfile", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "ClusterProfile", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/ClusterProfile" }, "readOnly": true, "type": "array", "description": "Cluster Profile Results", "title": "Cluster Profile Results" } } } ], "description": "Cluster Profile queries result", "title": "Cluster Profile queries result" }, "UsernamePasswordLoginCredential": { "x-vmw-nsx-module": "Types", "allOf": [ { "$ref": "#/definitions/LoginCredential" }, { "x-vmw-nsx-module": "Types", "type": "object", "properties": { "username": { "type": "string", "description": "The username for login", "title": "The username for login" }, "password": { "type": "string", "description": "The authentication password for login", "title": "The authentication password for login" }, "thumbprint": { "type": "string", "description": "Thumbprint of the login server", "title": "Thumbprint of the login server" } } } ], "description": "A login credential specifying a username and password", "title": "A login credential specifying a username and password" }, "NetworkMigrationSpecTypeIdEntry": { "x-vmw-nsx-module": "TransportNode", "required": [ "value" ], "type": "object", "properties": { "value": { "readOnly": false, "type": "string", "description": "the id of the NetworkMigrationSpec" }, "key": { "description": "the type of the NetworkMigrationSpec", "enum": [ "HostProfileNetworkMigrationSpec" ], "readOnly": true, "type": "string" } } }, "RealizedFirewallSectionListResult": { "x-vmw-nsx-module": "PolicyRealizedState", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "PolicyRealizedState", "type": "object", "properties": { "results": { "items": { "title": "Firewall list results", "$ref": "#/definitions/RealizedFirewallSection" }, "readOnly": true, "type": "array", "description": "Paged Collection of firewall sections", "title": "Paged Collection of firewall sections" } } } ] }, "ObjectRolePermissionGroup": { "x-vmw-nsx-module": "PolicyAuthz", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "required": [ "role_name", "path_prefix" ], "x-vmw-nsx-module": "PolicyAuthz", "type": "object", "properties": { "operation": { "enum": [ "crud", "read", "execute", "none" ], "type": "string", "description": "Allowed operation", "title": "Allowed operation" }, "role_name": { "type": "string", "description": "Role name", "title": "Role name" }, "rule_disabled": { "default": false, "type": "boolean", "description": "Is rule disabled or not", "title": "Is rule disabled or not" }, "path_prefix": { "type": "string", "description": "Path prefix", "title": "Path prefix" } } } ], "description": "RBAC Objects qualifier", "title": "RBAC Objects qualifier" }, "DirectoryLdapServerListResults": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/DirectoryLdapServer" }, "type": "array", "description": "List of Directory Domain Ldap Servers", "maxItems": 50, "title": "List of Directory Domain Ldap Servers" } } } ], "description": "List of Directory Domain LDAP servers", "title": "List of Directory Domain LDAP servers" }, "StatusCount": { "x-vmw-nsx-module": "Heatmap", "type": "object", "properties": { "status": { "enum": [ "UP", "DOWN", "DEGRADED", "UNKNOWN" ], "type": "string", "description": "Roll-up status", "title": "Roll-up status" }, "degraded_count": { "format": "int32", "type": "integer", "description": "Degraded count", "title": "Degraded count" }, "down_count": { "format": "int32", "type": "integer", "description": "Down count", "title": "Down count" }, "up_count": { "format": "int32", "type": "integer", "description": "Up count", "title": "Up count" } } }, "SwitchSecuritySwitchingProfile": { "x-vmw-nsx-module": "SwitchSecuritySwitchingProfile", "allOf": [ { "$ref": "#/definitions/BaseSwitchingProfile" }, { "x-vmw-nsx-module": "SwitchSecuritySwitchingProfile", "type": "object", "properties": { "rate_limits": { "readOnly": false, "title": "Allows configuration of rate limits for broadcast and multicast traffic", "description": "Rate limiting is disabled by default", "$ref": "#/definitions/RateLimits" }, "bpdu_filter": { "readOnly": false, "title": "Enables or disables BPDU filtering", "description": "BPDU filtering is enabled by default. A pre-defined list of MAC addresses\nare automatically excluded from BPDU filtering.\n", "$ref": "#/definitions/BpduFilter" }, "dhcp_filter": { "readOnly": false, "title": "Filters DHCP server and/or client traffic.", "description": "DHCP server blocking is enabled and client blocking is disabled by default", "$ref": "#/definitions/DhcpFilter" }, "block_non_ip_traffic": { "default": false, "readOnly": false, "type": "boolean", "description": "A flag to block all traffic except IP/(G)ARP/BPDU", "title": "A flag to block all traffic except IP/(G)ARP/BPDU" } } } ] }, "LbServerSslProfile": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbSslProfile" }, { "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "session_cache_enabled": { "default": true, "type": "boolean", "description": "SSL session caching allows SSL client and server to reuse previously\nnegotiated security parameters avoiding the expensive public key\noperation during handshake.\n", "title": "session cache enable/disable falg" }, "is_fips": { "readOnly": true, "type": "boolean", "description": "This flag is set to true when all the ciphers and protocols are FIPS\ncompliant.\nIt is set to false when one of the ciphers or protocols are not\nFIPS compliant.\n", "title": "FIPS compliance of ciphers and protocols" }, "cipher_group_label": { "description": "It is a label of cipher group which is mostly consumed by GUI.\n", "enum": [ "BALANCED", "HIGH_SECURITY", "HIGH_COMPATIBILITY", "CUSTOM" ], "type": "string" }, "is_secure": { "readOnly": true, "type": "boolean", "description": "This flag is set to true when all the ciphers and protocols are secure.\nIt is set to false when one of the ciphers or protocols is insecure.\n", "title": "Secure/Insecure SSL profile flag" }, "ciphers": { "items": { "description": "SSL cipher", "enum": [ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA", "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA", "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA", "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA", "TLS_RSA_WITH_AES_256_CBC_SHA", "TLS_RSA_WITH_AES_128_CBC_SHA", "TLS_RSA_WITH_3DES_EDE_CBC_SHA", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384", "TLS_RSA_WITH_AES_128_CBC_SHA256", "TLS_RSA_WITH_AES_128_GCM_SHA256", "TLS_RSA_WITH_AES_256_CBC_SHA256", "TLS_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384", "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA", "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256", "TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384", "TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384", "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA", "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256", "TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384", "TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384" ], "type": "string" }, "type": "array", "description": "supported SSL cipher list to client side", "title": "supported SSL cipher list to client side" }, "protocols": { "items": { "description": "SSL protocol", "enum": [ "SSL_V2", "SSL_V3", "TLS_V1", "TLS_V1_1", "TLS_V1_2" ], "type": "string" }, "type": "array", "description": "SSL versions TLS1.1 and TLS1.2 are supported and enabled by default.\nSSLv2, SSLv3, and TLS1.0 are supported, but disabled by default.\n", "title": "supported SSL protocol list to client side" } } } ] }, "IPFIXSwitchCollectionInstanceListResult": { "x-vmw-nsx-module": "PolicyOperations", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "PolicyOperations", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/IPFIXSwitchCollectionInstance" }, "type": "array", "description": "IPFIX Switch Collection Instances list results", "title": "IPFIX Switch Collection Instances list results" } } } ], "description": "Paged Collection of IPFIX Switch Collection Instances", "title": "Paged Collection of IPFIX Switch Collection Instances" }, "IPSecVPNIKEProfileListResult": { "x-vmw-nsx-module": "IPSecVPN", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "IPSecVPN", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/IPSecVPNIKEProfile" }, "type": "array", "description": "IKE Profile list results", "title": "IKE Profile list results" } } } ], "description": "List all the IKE profiles.", "title": "List IKE profiles" }, "PolicyAssociationsListResult": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/PolicyResource" }, "type": "array", "description": "Associations list results", "title": "Associations list results" } } } ], "description": "Paged Collection for Associations", "title": "Paged Collection for Associations" }, "PolicyDnsForwarderZone": { "x-vmw-nsx-module": "PolicyDnsForwarder", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "required": [ "upstream_servers" ], "x-vmw-nsx-module": "PolicyDnsForwarder", "type": "object", "properties": { "dns_domain_names": { "items": { "type": "string" }, "type": "array", "description": "List of domain names on which conditional forwarding is based. This\nfield is required if the DNS Zone is being used for a conditional\nforwarder. This field will also be used for conditional reverse lookup.\nExample 1, if for one of the zones, one of the entries in the fqdn is\nexample.com, all the DNS requests under the domain example.com will\nbe served by the corresponding upstream DNS server.\nExample 2, if for one of the zones, one of the entries in the fqdn\nlist is \"13.12.30.in-addr.arpa\", reverse lookup for 30.12.13.0/24 will\ngo to the corresponding DNS server.\n", "title": "List of domain names" }, "upstream_servers": { "items": { "description": "IPv4 address", "format": "ipv4", "type": "string" }, "type": "array", "description": "Max of 3 DNS servers can be configured", "maxItems": 3, "title": "DNS servers to which the DNS request needs to be forwarded" } } } ], "description": "Used to configure zones on DNS Forwarder", "title": "DNS Forwarder Zone" }, "Lag": { "description": "LACP group", "title": "LACP group", "required": [ "load_balance_algorithm", "mode", "name", "number_of_uplinks" ], "x-vmw-nsx-module": "UplinkHostSwitchProfile", "type": "object", "properties": { "uplinks": { "description": "uplink names", "title": "uplink names", "items": { "$ref": "#/definitions/Uplink" }, "readOnly": true, "maxItems": 32, "type": "array" }, "name": { "type": "string", "description": "Lag name", "title": "Lag name" }, "number_of_uplinks": { "description": "number of uplinks", "format": "int32", "title": "number of uplinks", "maximum": 32, "minimum": 2, "type": "integer" }, "timeout_type": { "default": "SLOW", "enum": [ "SLOW", "FAST" ], "type": "string", "description": "LACP timeout type", "title": "LACP timeout type" }, "load_balance_algorithm": { "enum": [ "SRCMAC", "DESTMAC", "SRCDESTMAC", "SRCDESTIPVLAN", "SRCDESTMACIPPORT" ], "type": "string", "description": "LACP load balance Algorithm", "title": "LACP load balance Algorithm" }, "id": { "readOnly": true, "type": "string", "description": "unique id", "title": "unique id" }, "mode": { "enum": [ "ACTIVE", "PASSIVE" ], "type": "string", "description": "LACP group mode", "title": "LACP group mode" } } }, "LbSnatTranslation": { "discriminator": "type", "x-vmw-nsx-module": "LoadBalancer", "required": [ "type" ], "type": "object", "properties": { "type": { "description": "Load balancers may need to perform SNAT to ensure reverse traffic from\nthe server can be received and processed by them.\nThere are two modes:\nLbSnatAutoMap uses the load balancer interface IP and an\nephemeral port as the source IP and port of the server side connection.\nLbSnatIpPool allows user to specify one or more IP addresses\nalong with their subnet masks that should be used for SNAT while\nconnecting to any of the servers in the pool.\n", "enum": [ "LbSnatAutoMap", "LbSnatIpPool" ], "type": "string" }, "port_overload": { "description": "Both SNAT automap and SNAT IP list modes support port overloading\nwhich allows the same SNAT IP and port to be used for multiple\nbackend connections as long as the tuple (source IP, source port,\ndestination IP, destination port, IP protocol) after SNAT is\nperformed is unique.\nThe valid number is 1, 2, 4, 8, 16, 32.\n", "title": "port overloading with same SNAT IP and port", "default": 32, "format": "int64", "maximum": 32, "minimum": 1, "type": "integer" } } }, "TelemetryProxy": { "x-vmw-nsx-module": "TelemetryConfig", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "TelemetryConfig", "required": [ "scheme", "hostname", "port" ], "type": "object", "properties": { "username": { "type": "string", "description": "Specify the user name used to authenticate with the proxy server, if required.\n", "title": "User name" }, "password": { "type": "string", "description": "Specify the password used to authenticate with the proxy server, if required.\nA GET call on /telemetry/config returns a non-meaningful password to maintain\nsecurity. To change the password to a new value, issue a PUT call after updating\nthis field. To remove the password, issue a PUT call after emptying this field.\nTo retain a previously set password, issue a PUT call keeping the non-meaningful\nvalue obtained from the GET call.\n", "title": "Password" }, "scheme": { "enum": [ "HTTP", "HTTPS" ], "type": "string", "description": "The scheme accepted by the proxy server. Specify one of HTTP and HTTPS.\n", "title": "The scheme accepted by the proxy server" }, "hostname": { "format": "hostname-or-ip", "type": "string", "description": "Specify the fully qualified domain name, or ip address, of the proxy server.\n", "title": "FQDN or IP address of the proxy server" }, "port": { "format": "int32", "type": "integer", "description": "Specify the port of the proxy server.", "title": "Configured port for proxy" } } } ] }, "PolicyDnsForwarderZoneListResult": { "x-vmw-nsx-module": "PolicyDnsForwarder", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "PolicyDnsForwarder", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/PolicyDnsForwarderZone" }, "type": "array", "description": "Dns Forwarder Zone list results", "title": "Dns Forwarder Zone list results" } } } ], "description": "Paged Collection of DNS Forwarder Zones", "title": "Paged Collection of DNS Forwarder Zones" }, "MetadataProxyListResult": { "x-vmw-nsx-module": "MetadataProxy", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "MetadataProxy", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/MetadataProxy" }, "type": "array", "description": "paginated list of metadata proxies", "title": "paginated list of metadata proxies" } } } ] }, "SwitchingProfilesListResult": { "x-vmw-nsx-module": "BaseSwitchingProfile", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "BaseSwitchingProfile", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/BaseSwitchingProfile" }, "readOnly": true, "type": "array", "description": "Switching Profile Results", "title": "Switching Profile Results" } } } ], "description": "Switching Profile queries result", "title": "Switching Profile queries result" }, "ChildPrefixList": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "PrefixList" ], "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "PrefixList": { "title": "PrefixList", "description": "Contains the actual PrefixList object.\n", "$ref": "#/definitions/PrefixList" } } } ], "description": "Child wrapper object for PrefixList, used in hierarchical API.", "title": "Wrapper object for PrefixList" }, "RealizedFirewallRule": { "x-vmw-nsx-module": "PolicyRealizedState", "allOf": [ { "$ref": "#/definitions/PolicyRealizedResource" }, { "x-vmw-nsx-module": "PolicyRealizedState", "type": "object", "properties": { "disabled": { "readOnly": true, "type": "boolean", "description": "Flag to disable rule. Disabled will only be persisted but never provisioned/realized.", "title": "Rule enable/disable flag" }, "sources": { "description": "List of sources. Null will be treated as any.", "title": "Source List", "items": { "$ref": "#/definitions/ResourceReference" }, "readOnly": true, "maxItems": 128, "type": "array" }, "direction": { "description": "Rule direction in case of stateless firewall rules. This will only considered if section level parameter is set to stateless. Default to IN_OUT if not specified.", "title": "Rule direction", "default": "IN_OUT", "enum": [ "IN", "OUT", "IN_OUT" ], "readOnly": true, "type": "string" }, "services": { "description": "List of the services. Null will be treated as any.", "title": "Service List", "items": { "$ref": "#/definitions/ResourceReference" }, "readOnly": true, "maxItems": 128, "type": "array" }, "action": { "readOnly": true, "enum": [ "ALLOW", "DROP", "REJECT" ], "type": "string", "description": "Action enforced on the packets which matches the firewall rule.", "title": "Action" }, "destinations": { "description": "List of the destinations. Null will be treated as any.", "title": "Destination List", "items": { "$ref": "#/definitions/ResourceReference" }, "readOnly": true, "maxItems": 128, "type": "array" } } } ], "description": "Realized Firewall Rule", "title": "Realized Firewall Rule" }, "LbVariableAssignmentAction": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbRuleAction" }, { "required": [ "variable_value", "variable_name" ], "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "variable_value": { "type": "string", "description": "Value of variable", "title": "Value of variable" }, "variable_name": { "type": "string", "description": "Name of the variable to be assigned", "title": "Name of the variable to be assigned" } } } ], "description": "This action is used to create a new variable and assign value to it.\nOne action can be used to create one variable. To create multiple\nvariables, multiple actions must be defined.\nThe variables can be used by LbVariableCondition, etc.\n", "title": "Action to create variable and assign value to it." }, "PolicyAlarmResource": { "x-vmw-nsx-module": "PolicyRealizedState", "allOf": [ { "$ref": "#/definitions/PolicyResource" }, { "x-vmw-nsx-module": "PolicyRealizedState", "type": "object", "properties": { "path": { "type": "string", "description": "path of the alarm object", "title": "path of the alarm object" }, "message": { "type": "string", "description": "error message to describe the issue", "title": "error message to describe the issue" }, "error_details": { "title": "Detailed information about errors from an API call made to the\nenforcement point, if any.\n", "description": "Detailed information about errors from an API call made to the\nenforcement point, if any.\n", "$ref": "#/definitions/PolicyApiError" }, "id": { "type": "string", "description": "error id for the alarm", "title": "error id for the alarm" } } } ], "description": "Alarm base class of realized policy object", "title": "Alarm base class of realized policy object" }, "LbPoolStatusListResult": { "x-vmw-nsx-module": "AggSvcLb", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "AggSvcLb", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/LbPoolStatus" }, "type": "array", "description": "paginated status list of pools", "title": "paginated status list of pools" } } } ] }, "ChildTier0": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "Tier0" ], "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "Tier0": { "title": "Tier-0", "description": "Contains the actual Tier-0 object.\n", "$ref": "#/definitions/Tier0" } } } ], "description": "Child wrapper object for Tier-0, used in hierarchical API.", "title": "Wrapper object for Tier-0" }, "ChildTier1": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "Tier1" ], "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "Tier1": { "title": "Tier-1", "description": "Contains the actual Tier-1 object.\n", "$ref": "#/definitions/Tier1" } } } ], "description": "Child wrapper object for Tier-1 , used in hierarchical API.", "title": "Wrapper object for Tier-1" }, "DhcpProfileListResult": { "x-vmw-nsx-module": "Dhcp", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "Dhcp", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/DhcpProfile" }, "type": "array", "description": "paginated list of dhcp profiles", "title": "paginated list of dhcp profiles" } } } ] }, "HostNodeLoginCredential": { "x-vmw-nsx-module": "FabricNode", "type": "object", "description": "The credentials to login into the host node", "properties": { "username": { "type": "string", "description": "The username of the account on the host node", "title": "The username of the account on the host node" }, "password": { "type": "string", "description": "The authentication password of the host node", "title": "The authentication password of the host node" }, "thumbprint": { "type": "string", "description": "For ESXi hosts, the thumbprint of the ESXi management service.\nFor KVM hosts, the SSH key fingerprint.\n", "title": "ESXi thumbprint or SSH key fingerprint of the host node" } }, "title": "The credentials to login into the host node" }, "LBServiceElement": { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "allOf": [ { "$ref": "#/definitions/ServiceElement" }, { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "type": "object", "properties": { "active_edge_tns": { "items": { "type": "string" }, "readOnly": true, "type": "array", "description": "Active Edge TransportNode IDs", "title": "Active Edge TransportNode IDs" }, "attached_router_id": { "readOnly": true, "type": "string", "description": "The logical router to which this loadbalancer service is attached.\n", "title": "Attached router id" }, "elements": { "items": { "$ref": "#/definitions/LBVirtualServerElement" }, "readOnly": true, "type": "array", "description": "Array of elements", "title": "Array of elements" }, "standby_edge_tns": { "items": { "type": "string" }, "readOnly": true, "type": "array", "description": "Standby Edge TransportNode IDs", "title": "Standby Edge TransportNode IDs" }, "size": { "readOnly": true, "enum": [ "SMALL", "MEDIUM", "LARGE" ], "type": "string", "description": "LoadBalancer size when deployed on the edge node\n", "title": "Loadbalancer service size" }, "runtime_status": { "readOnly": true, "enum": [ "UP", "DOWN", "ERROR", "NO_STANDBY", "DETACHED", "DISABLED", "UNKNOWN" ], "type": "string", "description": "LoadBalancer runtime status\n", "title": "Loabalancer status" } } } ], "description": "Load Balancer service element, contains information about LoadBalancer\nService on an edge.\n", "title": "Load Balancer service element" }, "IpPoolListResult": { "x-vmw-nsx-module": "Ipam", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "Ipam", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/IpPool" }, "type": "array", "description": "IP pool list results", "title": "IP pool list results" } } } ] }, "TraceflowObservationForwarded": { "x-vmw-nsx-module": "Traceflow", "allOf": [ { "$ref": "#/definitions/TraceflowObservation" }, { "x-vmw-nsx-module": "Traceflow", "type": "object", "properties": { "uplink_name": { "type": "string", "description": "The name of the uplink the traceflow packet is forwarded on", "title": "The name of the uplink the traceflow packet is forwarded on" }, "vtep_label": { "format": "int64", "type": "integer", "description": "The virtual tunnel endpoint label", "title": "The virtual tunnel endpoint label" }, "remote_ip_address": { "description": "IP address of the destination end of the tunnel", "format": "ip", "type": "string" }, "context": { "format": "int64", "type": "integer", "description": "The 64bit tunnel context carried on the wire.", "title": "The 64bit tunnel context carried on the wire." }, "local_ip_address": { "description": "IP address of the source end of the tunnel", "format": "ip", "type": "string" }, "dst_transport_node_id": { "readOnly": true, "type": "string", "description": "This field will not be always available. Use remote_ip_address when this field is not set.", "title": "The id of the transport node to which the traceflow packet is forwarded" }, "dst_transport_node_name": { "readOnly": true, "type": "string", "description": "The name of the transport node to which the traceflow packet is forwarded", "title": "The name of the transport node to which the traceflow packet is forwarded" } } } ] }, "LogicalRouterDownLinkPort": { "x-vmw-nsx-module": "LogicalRouterPorts", "allOf": [ { "$ref": "#/definitions/LogicalRouterPort" }, { "x-vmw-nsx-module": "LogicalRouterPorts", "required": [ "subnets" ], "type": "object", "properties": { "subnets": { "description": "Logical router port subnets", "title": "Logical router port subnets", "minItems": 1, "items": { "$ref": "#/definitions/IPSubnet" }, "maxItems": 1, "type": "array" }, "urpf_mode": { "description": "Unicast Reverse Path Forwarding mode", "default": "STRICT", "enum": [ "NONE", "STRICT" ], "type": "string" }, "mac_address": { "readOnly": true, "type": "string", "description": "MAC address", "title": "MAC address" }, "linked_logical_switch_port_id": { "title": "Reference to the logical switch port to connect to", "description": "Reference to the logical switch port to connect to", "$ref": "#/definitions/ResourceReference" } } } ] }, "Tooltip": { "description": "Tooltip to be shown while hovering over the dashboard UI element.", "title": "Tooltip", "required": [ "text" ], "x-vmw-nsx-module": "NsxDashboard", "type": "object", "properties": { "text": { "maxLength": 1024, "type": "string", "description": "Text to be shown on tooltip while hovering over UI element. The text would be wrapped if it exceeds 80 chars.", "title": "Textbox shown at tooltip" }, "condition": { "maxLength": 1024, "type": "string", "description": "If the condition is met then the tooltip will be applied. If no condition is provided, then the tooltip will be applied unconditionally. Examples of expression syntax are provided under 'example_request' section of 'CreateWidgetConfiguration' API.", "title": "Expression for evaluating condition" } } }, "LogicalT1RouterElement": { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "allOf": [ { "$ref": "#/definitions/Element" }, { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "type": "object" } ], "description": "Logical T1 router element extends from Element class. This class contains the\ninformation related to logical T1 router.\n", "title": "Logical T1 router element" }, "IPAddressExpression": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/Expression" }, { "required": [ "ip_addresses" ], "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "ip_addresses": { "items": { "description": "IPElement can be a single IP address, IP address range or a Subnet. Its\ntype can be of IPv4 or IPv6. Supported list of formats are \"192.168.1.1\",\n\"192.168.1.1-192.168.1.100\", \"192.168.0.0/24\",\n\"fe80::250:56ff:fe83:318c\",\n\"fe80::250:56ff:fe83:3181-fe80::250:56ff:fe83:318c\",\n\"fe80::250:56ff:fe83:318c/64\"\n", "format": "address-or-block-or-range", "type": "string" }, "type": "array", "description": "This array can consist of a single IP address, IP address range or a subnet. Its type can be of either IPv4 or IPv6. Both IPv4 and IPv6 addresses within one expression is not allowed. Supported list of formats are, \"192.168.1.1\", \"192.168.1.1-192.168.1.100\", \"192.168.0.0/24\", \"fe80::250:56ff:fe83:318c\", \"fe80::250:56ff:fe83:3181-fe80::250:56ff:fe83:318c\", \"fe80::250:56ff:fe83:318c/64\".", "maxItems": 4000, "title": "Array of IP addresses" } } } ], "description": "Represents IP address expressions in the form of an array, to support addition of IP addresses in a group.", "title": "IP address expression node" }, "IPFIXCollectorProfile": { "x-vmw-nsx-module": "PolicyOperations", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "required": [ "ipaddress", "port" ], "x-vmw-nsx-module": "PolicyOperations", "type": "object", "properties": { "ipaddress": { "description": "IP address for the IPFIX collector.", "format": "ip", "type": "string" }, "port": { "description": "Port for the IPFIX collector.", "title": "Port", "default": 4739, "format": "int32", "maximum": 65535, "minimum": 0, "type": "integer" } } } ], "description": "IPFIX data will be collected on collector\nHost ip and port address should be provided for collector.\n", "title": "IPFIX Collector Instance" }, "FeatureUsage": { "x-vmw-nsx-module": "License", "description": "feature usage result item", "allOf": [ { "$ref": "#/definitions/Resource" }, { "x-vmw-nsx-module": "License", "type": "object", "properties": { "capacity_usage": { "items": { "$ref": "#/definitions/CapacityUsage" }, "readOnly": true, "type": "array", "description": "Capacity Usage List", "title": "Capacity Usage List" }, "feature": { "readOnly": true, "type": "string", "description": "name of the feature", "title": "name of the feature" } } } ] }, "LogicalSwitchElement": { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "allOf": [ { "$ref": "#/definitions/Element" }, { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "type": "object" } ], "description": "Logical switch element extends from Element class. This class contains the\ninformation related to the logical switch.\n", "title": "Logical switch element" }, "RelatedAttributeConditionalExpression": { "x-vmw-nsx-module": "PolicyConstraints", "allOf": [ { "$ref": "#/definitions/ConstraintExpression" }, { "required": [ "related_attribute", "condition" ], "x-vmw-nsx-module": "PolicyConstraints", "type": "object", "properties": { "related_attribute": { "title": "Related attribute.", "description": "Related attribute.", "$ref": "#/definitions/RelatedAttribute" }, "condition": { "title": "Conditiona value constraint expression.", "description": "Conditional value expression for target based on realted attribute value.\n", "$ref": "#/definitions/ConditionalValueConstraintExpression" } } } ], "description": "Represents the leaf level type expression to express constraint as\nvalue of realted attribute to the target.\nExample - Constraint traget attribute 'X' (example in Constraint),\n if destinationGroups contains 'vCeneter' then allow only values\n \"HTTPS\", \"HTTP\" for attribute X.\n {\n \"target\":{\n \"target_resource_type\":\"CommunicationEntry\",\n \"attribute\":\"services\",\n \"path_prefix\": \"/infra/domains/{{DOMAIN}}/edge-communication-maps/default/communication-entries/\"\n },\n \"constraint_expression\": {\n \"resource_type\": \"RelatedAttributeConditionalExpression\",\n \"related_attribute\":{\n \"attribute\":\"destinationGroups\"\n },\n \"condition\" : {\n \"operator\":\"INCLUDES\",\n \"rhs_value\": [\"/infra/domains/mgw/groups/VCENTER\"],\n \"value_constraint\": {\n \"resource_type\": \"ValueConstraintExpression\",\n \"operator\":\"INCLUDES\",\n \"values\":[\"/infra/services/HTTP\", \"/infra/services/HTTPS\"]\n }\n }\n }\n }\n", "title": "Represents the leaf level type expression to express constraint as\nvalue of realted attribute to the target. Uses\nConditionalValueConstraintExpression to constrain the target value\nbased on the related attribute value on the same resource.\n" }, "NodeAggregateInfo": { "x-vmw-nsx-module": "NsxQuery", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "NsxQuery", "type": "object", "properties": { "node": { "readOnly": true, "description": "Node attributes", "$ref": "#/definitions/Node" }, "status": { "readOnly": true, "description": "Node status", "$ref": "#/definitions/NodeStatus" } } } ], "description": "Aggregation of desired and runtime status of fabric node", "title": "Aggregation of desired and runtime status of fabric node" }, "SwitchingProfileTypeIdEntry": { "x-vmw-nsx-module": "BaseSwitchingProfile", "required": [ "value" ], "type": "object", "properties": { "value": { "readOnly": false, "type": "string", "description": "key value" }, "key": { "description": "Supported switching profiles.", "enum": [ "QosSwitchingProfile", "PortMirroringSwitchingProfile", "IpDiscoverySwitchingProfile", "SpoofGuardSwitchingProfile", "SwitchSecuritySwitchingProfile", "MacManagementSwitchingProfile" ], "type": "string" } } }, "DnsForwarder": { "x-vmw-nsx-module": "DnsForwarder", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "DnsForwarder", "required": [ "default_forwarder", "logical_router_id", "listener_ip" ], "type": "object", "properties": { "conditional_forwarders": { "items": { "$ref": "#/definitions/ConditionalForwarderZone" }, "type": "array", "description": "The conditional zone forwarders. During matching a zone forwarder,\nthe dns forwarder will use the conditional fowarder with the longest\ndomain name that matches the query.\n", "maxItems": 5, "title": "Conditional zone forwarders" }, "log_level": { "default": "INFO", "enum": [ "DEBUG", "INFO", "WARNING", "ERROR", "FATAL" ], "type": "string", "description": "Log level of the dns forwarder", "title": "Log level of the dns forwarder" }, "logical_router_id": { "type": "string", "description": "Specify the LogicalRouter where the DnsForwarder runs. The HA mode\nof the hosting LogicalRouter must be Active/Standby.\n", "title": "Logical router id" }, "cache_size": { "description": "One dns answer cache entry will consume ~120 bytes. Hence 1 KB cache\nsize can cache ~8 dns answer entries, and the default 1024 KB cache\nsize can hold ~8k dns answer entries.\n", "title": "Cache size in KB", "default": 1024, "format": "int32", "maximum": 16777216, "minimum": 1, "type": "integer" }, "default_forwarder": { "title": "Default zone forwarder", "description": "The default zone forwarder that catches all other domain names except\nthose matched by conditional forwarder zone.\n", "$ref": "#/definitions/ForwarderZone" }, "listener_ip": { "description": "The ip address the dns forwarder listens on. It can be an ip address\nalready owned by the logical-router uplink port or router-link, or a\nloopback port ip address. But it can not be a downlink port address.\nUser needs to ensure the address is reachable via router or NAT from\nboth client VMs and upstream servers. User will need to create Firewall\nrules if needed to allow such traffic on a Tier-1 or Tier-0.\n", "format": "ipv4", "type": "string" } } } ] }, "LbHttpRequestHeaderDeleteAction": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbRuleAction" }, { "required": [ "header_name" ], "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "header_name": { "type": "string", "description": "Name of a header field of HTTP request message", "title": "Name of a header field of HTTP request message" } } } ], "description": "This action is used to delete header fields of HTTP request messages at\nHTTP_REQUEST_REWRITE phase. One action can be used to delete all headers\nwith same header name. To delete headers with different header names,\nmultiple actions must be defined.\n", "title": "Action to delete HTTP request header fields" }, "NodeElement": { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "allOf": [ { "$ref": "#/definitions/Element" }, { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "type": "object", "properties": { "ip_addresses": { "items": { "type": "string" }, "readOnly": true, "type": "array", "description": "IP Addresses of the host", "title": "IP Addresses of the host" }, "os": { "readOnly": true, "type": "string", "description": "Operating system type and version of the node", "title": "Operating system type and version of the node" }, "fqdn": { "readOnly": true, "type": "string", "description": "Fully qualified domain name of the node", "title": "Fully qualified domain name of the node" } } } ], "description": "Host node element extends from Element class. NodeElement can\nbe 'HostNode' or 'EdgeNode'\n", "title": "Node element" }, "IpfixObsPointsListResult": { "x-vmw-nsx-module": "Ipfix", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "Ipfix", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/IpfixObsPointConfig" }, "type": "array", "description": "IPFIX observation points", "title": "IPFIX observation points" } } } ], "description": "This is deprecated. Please use UpmProfileListResult instead.\n", "title": "List of logical IPFIX observation points" }, "HostInfraTrafficType": { "x-vmw-nsx-module": "NiocProfile", "type": "object", "description": "The traffic_name specifies the infrastructure traffic type and it\nmust be one of the following system-defined types:\nFAULT_TOLERANCE is traffic for failover and recovery.\nHBR is traffic for Host based replication.\nISCSI is traffic for Internet Small Computer System Interface.\nMANAGEMENT is traffic for host management.\nNFS is traffic related to file transfer in network file system.\nVDP is traffic for vSphere data protection.\nVIRTUAL_MACHINE is traffic generated by virtual machines.\nVMOTION is traffic for computing resource migration.\nVSAN is traffic generated by virtual storage area network.\nThe dynamic_res_pool_name provides a name for the resource pool.\nIt can be any arbitrary string.\nEither traffic_name or dynamic_res_pool_name must be set.\nIf both are specified or omitted, an error will be returned.\n", "properties": { "dynamic_res_pool_name": { "type": "string", "description": "Dynamic resource pool traffic name", "title": "Dynamic resource pool traffic name" }, "traffic_name": { "enum": [ "FAULT_TOLERANCE", "HBR", "ISCSI", "MANAGEMENT", "NFS", "VDP", "VIRTUAL_MACHINE", "VMOTION", "VSAN" ], "type": "string", "description": "Traffic types", "title": "Traffic types" } }, "title": "Enumerate all types of traffic" }, "NSGroupTagExpression": { "x-vmw-nsx-module": "NSGroup", "allOf": [ { "$ref": "#/definitions/NSGroupExpression" }, { "required": [ "target_type" ], "x-vmw-nsx-module": "NSGroup", "type": "object", "properties": { "tag_op": { "default": "EQUALS", "enum": [ "EQUALS" ], "type": "string", "description": "Operator of the tag expression eg- tag.tag = \"Production\"", "title": "Operator of the tag expression eg- tag.tag = \"Production\"" }, "scope": { "maxLength": 128, "type": "string", "description": "The tag.scope attribute of the object", "title": "The tag.scope attribute of the object" }, "scope_op": { "default": "EQUALS", "enum": [ "EQUALS" ], "type": "string", "description": "Operator of the scope expression eg- tag.scope = \"S1\".", "title": "Operator of the scope expression eg- tag.scope = \"S1\"." }, "tag": { "maxLength": 256, "type": "string", "description": "The tag.tag attribute of the object", "title": "The tag.tag attribute of the object" }, "target_type": { "enum": [ "LogicalSwitch", "LogicalPort", "VirtualMachine" ], "type": "string", "description": "Type of the resource on which this expression is evaluated", "title": "Type of the resource on which this expression is evaluated" } } } ], "description": "Includes both scope and tag attribute of Tag. The scope and tag expressions\nare logically 'AND' with each other.\neg- tag.scope = \"S1\" AND tag.tag = 'T1'\n", "title": "TAG expressions to represent NSGroup membership" }, "GenericPolicyRealizedResource": { "x-vmw-nsx-module": "PolicyRealizedState", "allOf": [ { "$ref": "#/definitions/PolicyRealizedResource" }, { "x-vmw-nsx-module": "PolicyRealizedState", "type": "object", "properties": { "extended_attributes": { "items": { "$ref": "#/definitions/AttributeVal" }, "readOnly": true, "type": "array", "description": "Collection of type specific properties", "title": "Collection of type specific properties" }, "entity_type": { "readOnly": true, "type": "string", "description": "Type of realized entity", "title": "Type of realized entity" } } } ], "description": "Represents realized entity", "title": "Generic realized entity" }, "HaVipConfig": { "x-vmw-nsx-module": "LogicalRouter", "required": [ "ha_vip_subnets", "redundant_uplink_port_ids" ], "type": "object", "properties": { "ha_vip_subnets": { "description": "Array of IP address subnets which will be used as floating IP addresses. | Note - this configuration is applicable only for Active-Standby LogicalRouter. | For Active-Active LogicalRouter this configuration will be rejected.", "title": "Floating IP address subnets", "minItems": 1, "items": { "$ref": "#/definitions/VIPSubnet" }, "maxItems": 1, "type": "array" }, "redundant_uplink_port_ids": { "items": { "type": "string" }, "type": "array", "description": "Identifiers of logical router uplink ports which are to be paired to provide | redundancy. Floating IP will be owned by one of these uplink ports (depending upon | which node is Active).", "title": "Identifiers of uplink ports for providing redundancy" }, "enabled": { "default": true, "type": "boolean", "description": "Flag to enable this ha vip config.", "title": "Flag to enable this ha vip config." } } }, "TransportZoneStatus": { "x-vmw-nsx-module": "TransportZone", "type": "object", "description": "Transport zone runtime status information", "properties": { "num_logical_ports": { "readOnly": true, "format": "int32", "type": "integer", "description": "Count of logical ports in the transport zone", "title": "Count of logical ports in the transport zone" }, "transport_zone_id": { "readOnly": true, "type": "string", "description": "Unique ID identifying the transport zone", "title": "Unique ID identifying the transport zone" }, "num_logical_switches": { "readOnly": true, "format": "int32", "type": "integer", "description": "Count of logical switches in the transport zone", "title": "Count of logical switches in the transport zone" }, "num_transport_nodes": { "readOnly": true, "format": "int32", "type": "integer", "description": "Count of transport nodes in the transport zone", "title": "Count of transport nodes in the transport zone" } }, "title": "Transport zone runtime status information" }, "LbCookiePersistenceProfile": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbPersistenceProfile" }, { "x-vmw-nsx-module": "LoadBalancer", "required": [ "cookie_name" ], "type": "object", "properties": { "cookie_garble": { "default": true, "type": "boolean", "description": "If garble is set to true, cookie value (server IP and port) would be\nencrypted.\nIf garble is set to false, cookie value would be plain text.\n", "title": "cookie persistence garble" }, "cookie_fallback": { "default": true, "type": "boolean", "description": "If fallback is true, once the cookie points to a server that is down\n(i.e. admin state DISABLED or healthcheck state is DOWN), then a new\nserver is selected by default to handle that request.\nIf fallback is false, it will cause the request to be rejected if\ncookie points to a server\n", "title": "cookie persistence fallback" }, "cookie_mode": { "description": "cookie persistence mode", "default": "INSERT", "enum": [ "INSERT", "PREFIX", "REWRITE" ], "type": "string" }, "cookie_domain": { "type": "string", "description": "HTTP cookie domain could be configured, only available for insert mode.\n", "title": "cookie domain" }, "cookie_name": { "type": "string", "description": "cookie name", "title": "cookie name" }, "cookie_time": { "title": "cookie time setting", "description": "Both session cookie and persistence cookie are supported, if not\nspecified, it's a session cookie. It expires when the browser is\nclosed.\n", "$ref": "#/definitions/LbCookieTime" }, "cookie_path": { "type": "string", "description": "HTTP cookie path could be set, only available for insert mode.\n", "title": "cookie path" } } } ] }, "DomainListResult": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/Domain" }, "type": "array", "description": "Domain list results", "title": "Domain list results" } } } ], "description": "Paged Collection of Domains", "title": "Paged Collection of Domains" }, "L2VpnAttachmentContext": { "x-vmw-nsx-module": "LogicalPort", "allOf": [ { "$ref": "#/definitions/AttachmentContext" }, { "x-vmw-nsx-module": "LogicalPort", "required": [ "tunnel_id" ], "type": "object", "properties": { "tunnel_id": { "format": "int32", "type": "integer", "description": "Tunnel Id to uniquely identify the extension.", "title": "Tunnel Id to uniquely identify the extension." } } } ] }, "AcceptableComponentVersion": { "x-vmw-nsx-module": "VersionWhitelist", "allOf": [ { "$ref": "#/definitions/VersionList" }, { "x-vmw-nsx-module": "VersionWhitelist", "required": [ "component_type" ], "type": "object", "properties": { "component_type": { "enum": [ "HOST", "EDGE", "CCP", "MP" ], "type": "string", "description": "Node type", "title": "Node type" } } } ] }, "ChildPolicyNat": { "x-vmw-nsx-module": "PolicyNAT", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "PolicyNat" ], "x-vmw-nsx-module": "PolicyNAT", "type": "object", "properties": { "PolicyNat": { "title": "PolicyNat", "description": "Contains the actual PolicyNAT object\n", "$ref": "#/definitions/PolicyNat" } } } ], "description": "Child wrapper object for PolicyNat, used in hierarchical API", "title": "Wrapper object for PolicyNat" }, "BFDProperties": { "x-vmw-nsx-module": "Tunnel", "type": "object", "description": "BFD information", "properties": { "active": { "readOnly": true, "type": "boolean", "description": "True if tunnel is active in a gateway HA setup", "title": "True if tunnel is active in a gateway HA setup" }, "state": { "readOnly": true, "enum": [ "UNKNOWN_STATE", "ADMIN_DOWN", "DOWN", "INIT", "UP" ], "type": "string", "description": "State of the BFD session", "title": "State of the BFD session" }, "remote_state": { "readOnly": true, "enum": [ "UNKNOWN_STATE", "ADMIN_DOWN", "DOWN", "INIT", "UP" ], "type": "string", "description": "State of the remote interface's BFD session", "title": "State of the remote interface's BFD session" }, "remote_diagnostic": { "readOnly": true, "type": "string", "description": "A short message indicating what the remote interface's BFD session thinks is wrong in case of a problem", "title": "Diagnostic message of a problem" }, "forwarding": { "readOnly": true, "type": "boolean", "description": "True if the BFD session believes this interface may be used to forward traffic", "title": "True if the BFD session believes this interface may be used to forward traffic" }, "diagnostic": { "readOnly": true, "type": "string", "description": "A short message indicating what the BFD session thinks is wrong in case of a problem", "title": "Diagnostic message of a problem" } }, "title": "BFD information" }, "InterfaceNeighborPropertyListResult": { "x-vmw-nsx-module": "Lldp", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "Lldp", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/InterfaceNeighborProperties" }, "type": "array", "description": "Interface neighbor property results", "title": "Interface neighbor property results" } } } ], "description": "Interface neighbor property query results", "title": "Interface neighbor property query results" }, "IPSecVPNPeerEndpointListResult": { "x-vmw-nsx-module": "IPSecVPN", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "IPSecVPN", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/IPSecVPNPeerEndpoint" }, "type": "array", "description": "IPSec Peer endpoint list results", "title": "IPSec Peer endpoint list results" } } } ], "description": "List all the peer endpoints.", "title": "List peer endpoints" }, "MonthlyTelemetrySchedule": { "x-vmw-nsx-module": "TelemetryConfig", "allOf": [ { "$ref": "#/definitions/TelemetrySchedule" }, { "x-vmw-nsx-module": "TelemetryConfig", "required": [ "day_of_month", "hour_of_day" ], "type": "object", "properties": { "minutes": { "description": "Minute at which data will be collected. Specify a value between 0 through 59.\n", "title": "Minute at which data will be collected", "default": 0, "format": "int64", "maximum": 59, "minimum": 0, "type": "integer" }, "day_of_month": { "description": "Day of month on which data will be collected. Specify a value between 1 through 31.\n", "format": "int64", "title": "Day of month on which data will be collected", "maximum": 31, "minimum": 1, "type": "integer" }, "hour_of_day": { "description": "Hour at which data will be collected. Specify a value between 0 through 23.\n", "format": "int64", "title": "Hour at which data will be collected", "maximum": 23, "minimum": 0, "type": "integer" } } } ] }, "NodeUserSettings": { "x-vmw-nsx-module": "FabricNode", "type": "object", "properties": { "cli_username": { "default": "admin", "type": "string", "description": "To configure username, you must provide this property together with\ncli_password.\n", "title": "CLI \"admin\" username" }, "audit_username": { "type": "string", "description": "The default username is \"audit\". To configure username, you must provide\nthis property together with audit_password.\n", "title": "CLI \"audit\" username" }, "root_password": { "type": "string", "description": "Password for the node root user. For deployment,\nthis property is required. After deployment, this property is ignored, and\nthe node cli must be used to change the password.\nThe password specified must be at least 8 characters in length and must\ncontain at least one lowercase, one uppercase, one numeric character and one\nspecial character (except quotes).\n", "title": "Node root user password" }, "cli_password": { "type": "string", "description": "Password for the node cli user. For deployment,\nthis property is required. After deployment, this property is ignored, and\nthe node cli must be used to change the password.\nThe password specified must be at least 8 characters in length and must\ncontain at least one lowercase, one uppercase, one numeric character and one\nspecial character (except quotes).\n", "title": "Node cli password" }, "audit_password": { "type": "string", "description": "Password for the node audit user. For deployment,\nthis property is required. After deployment, this property is ignored, and\nthe node cli must be used to change the password.\nThe password specified must be at least 8 characters in length and must\ncontain at least one lowercase, one uppercase, one numeric character and one\nspecial character (except quotes).\n", "title": "Node audit user password" } } }, "IpfixCollectorConfig": { "x-vmw-nsx-module": "Ipfix", "description": "This managed entity contains a set of IPFIX collectors.\n", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "Ipfix", "required": [ "collectors" ], "type": "object", "properties": { "collectors": { "description": "IPFIX Collectors", "title": "IPFIX Collectors", "minItems": 1, "items": { "$ref": "#/definitions/IpfixCollector" }, "maxItems": 4, "type": "array" } } } ] }, "TraceflowObservationReceivedLogical": { "x-vmw-nsx-module": "Traceflow", "allOf": [ { "$ref": "#/definitions/TraceflowObservation" }, { "x-vmw-nsx-module": "Traceflow", "type": "object", "properties": { "src_component_id": { "readOnly": true, "type": "string", "description": "The id of the source component from which the traceflow packet was received.", "title": "The id of the source component from which the traceflow packet was received." }, "component_id": { "readOnly": true, "type": "string", "description": "The id of the component that received the traceflow packet.", "title": "The id of the component that received the traceflow packet." }, "lport_id": { "readOnly": true, "type": "string", "description": "The id of the logical port at which the traceflow packet was received", "title": "The id of the logical port at which the traceflow packet was received" }, "src_component_type": { "description": "The type of the source component from which the traceflow packet was received.", "enum": [ "PHYSICAL", "LR", "LS", "DFW", "BRIDGE", "EDGE_TUNNEL", "EDGE_HOSTSWITCH", "UNKNOWN" ], "readOnly": true, "type": "string" }, "lport_name": { "readOnly": true, "type": "string", "description": "The name of the logical port at which the traceflow packet was received", "title": "The name of the logical port at which the traceflow packet was received" }, "src_component_name": { "readOnly": true, "type": "string", "description": "The name of source component from which the traceflow packet was received.", "title": "The name of source component from which the traceflow packet was received." }, "vni": { "readOnly": true, "format": "int32", "type": "integer", "description": "VNI for the logical network on which the traceflow packet was received.", "title": "VNI for the logical network on which the traceflow packet was received." } } } ] }, "NSServiceGroupListResult": { "x-vmw-nsx-module": "NSServiceGroup", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "NSServiceGroup", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/NSServiceGroup" }, "type": "array", "description": "Paged collection of NSServiceGroups", "title": "Paged collection of NSServiceGroups" } } } ], "description": "List result of NSServiceGroups", "title": "List result of NSServiceGroups" }, "PolicyTemplatePlaceholder": { "description": "Policy template placeholdder", "title": "Policy template placeholdder", "required": [ "placeholder_message", "placeholder_id" ], "x-vmw-nsx-module": "PolicyTemplate", "type": "object", "properties": { "placeholder_message": { "type": "string", "description": "Placeholder message", "title": "Placeholder message" }, "placeholder_id": { "type": "string", "description": "Placeholder id", "title": "Placeholder id" } } }, "BgpNeighborConfig": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "required": [ "remote_as_num", "neighbor_address" ], "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "in_route_filters": { "items": { "type": "string" }, "type": "array", "description": "Specify paths of prefix-lists to filter routes for IN direction.\n", "title": "Prefix-lists for IN direction" }, "password": { "minLength": 0, "maxLength": 20, "type": "string", "description": "Specify password for BGP neighbor authentication.\nEmpty string (\"\") clears existing password.\n", "title": "Password" }, "out_route_filters": { "items": { "type": "string" }, "type": "array", "description": "Specify paths of prefix-lists to filter routes for OUT direction.\nA built-in prefix-list named 'prefixlist-out-default' is automatically\napplied as first entry.\n", "title": "Prefix-lists for OUT direction" }, "remote_as_num": { "type": "string", "description": "4 Byte ASN of the neighbor in ASPLAIN Format", "title": "4 Byte ASN of the neighbor in ASPLAIN Format" }, "neighbor_address": { "description": "Neighbor IP Address", "format": "ip", "type": "string" } } } ], "description": "Contains information necessary to configure a BGP neighbor.\n", "title": "BGP neighbor config" }, "Principal": { "x-vmw-nsx-module": "CertificateManager", "required": [ "attributes" ], "type": "object", "properties": { "attributes": { "items": { "$ref": "#/definitions/KeyValue" }, "readOnly": false, "type": "array", "description": "Certificate list" } } }, "LbVariableCondition": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbRuleCondition" }, { "required": [ "variable_value", "variable_name" ], "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "variable_value": { "type": "string", "description": "Value of variable to be matched", "title": "Value of variable to be matched" }, "case_sensitive": { "default": true, "type": "boolean", "description": "If true, case is significant when comparing variable value.\n", "title": "A case sensitive flag for variable value comparing" }, "match_type": { "description": "Match type of variable value", "default": "REGEX", "enum": [ "STARTS_WITH", "ENDS_WITH", "EQUALS", "CONTAINS", "REGEX" ], "type": "string" }, "variable_name": { "type": "string", "description": "Name of the variable to be matched", "title": "Name of the variable to be matched" } } } ], "description": "This condition is used to match variable's name and value at all\nphases. The variables could be captured from REGEX or assigned by\nLbVariableAssignmentAction or system embedded variable. Varialbe_name\nand variable_value should be matched at the same time.\n", "title": "Condition to match IP header fields" }, "RouteDetails": { "x-vmw-nsx-module": "AggSvcLogicalRouter", "type": "object", "description": "BGP route details.", "properties": { "med": { "readOnly": true, "format": "int64", "type": "integer", "description": "BGP Multi Exit Discriminator attribute.", "title": "Multi Exit Discriminator" }, "next_hop": { "description": "Next hop IP address.", "format": "ipv4", "readOnly": true, "type": "string" }, "network": { "description": "CIDR network address.", "format": "ipv4-cidr-block", "readOnly": true, "type": "string" }, "weight": { "readOnly": true, "format": "int64", "type": "integer", "description": "BGP Weight attribute.", "title": "Weight" }, "local_pref": { "readOnly": true, "format": "int64", "type": "integer", "description": "BGP Local Preference attribute.", "title": "Local preference" }, "as_path": { "additionalProperties": false, "readOnly": true, "type": "string", "description": "BGP AS path attribute.", "title": "AS path" } }, "title": "BGP route details" }, "ChildLBPool": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "LBPool" ], "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "LBPool": { "title": "LBPool", "description": "Contains the actual LBPool object\n", "$ref": "#/definitions/LBPool" } } } ], "description": "Child wrapper for LBPool, used in hierarchical API", "title": "Wrapper object for LBPool" }, "TraceflowObservation": { "x-vmw-nsx-module": "Traceflow", "required": [ "resource_type" ], "type": "object", "properties": { "timestamp_micro": { "readOnly": true, "format": "int64", "type": "integer", "description": "Timestamp when the observation was created by the transport node (microseconds epoch)", "title": "Timestamp when the observation was created by the transport node" }, "component_sub_type": { "description": "The sub type of the component that issued the observation.", "enum": [ "LR_TIER0", "LR_TIER1", "LR_VRF_TIER0", "LS_TRANSIT", "UNKNOWN" ], "readOnly": true, "type": "string" }, "resource_type": { "default": "TraceflowObservationReceived", "enum": [ "TraceflowObservationForwarded", "TraceflowObservationDropped", "TraceflowObservationDelivered", "TraceflowObservationReceived", "TraceflowObservationForwardedLogical", "TraceflowObservationDroppedLogical", "TraceflowObservationReceivedLogical" ], "type": "string" }, "component_type": { "description": "The type of the component that issued the observation.", "enum": [ "PHYSICAL", "LR", "LS", "DFW", "BRIDGE", "EDGE_TUNNEL", "EDGE_HOSTSWITCH", "UNKNOWN" ], "readOnly": true, "type": "string" }, "transport_node_name": { "readOnly": true, "type": "string", "description": "name of the transport node that observed a traceflow packet", "title": "name of the transport node that observed a traceflow packet" }, "timestamp": { "description": "Timestamp when the observation was created by the transport node (milliseconds epoch)", "format": "int64", "readOnly": true, "type": "integer" }, "transport_node_id": { "readOnly": true, "type": "string", "description": "id of the transport node that observed a traceflow packet", "title": "id of the transport node that observed a traceflow packet" }, "sequence_no": { "readOnly": true, "format": "int64", "type": "integer", "description": "the hop count for observations on the transport node that a traceflow packet is injected in will be 0. The hop count is incremented each time a subsequent transport node receives the traceflow packet. The sequence number of 999 indicates that the hop count could not be determined for the containing observation.", "title": "the sequence number is the traceflow observation hop count" }, "transport_node_type": { "description": "type of the transport node that observed a traceflow packet", "enum": [ "ESX", "RHELKVM", "UBUNTUKVM", "EDGE", "PUBLIC_CLOUD_GATEWAY_NODE", "OTHERS", "HYPERV" ], "readOnly": true, "type": "string" }, "component_name": { "readOnly": true, "type": "string", "description": "The name of the component that issued the observation.", "title": "The name of the component that issued the observation." } } }, "ChildLBMonitorProfile": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "LBMonitorProfile" ], "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "LBMonitorProfile": { "title": "LBMonitorProfile", "description": "Contains the actual LBMonitorProfile object\n", "$ref": "#/definitions/LBMonitorProfile" } } } ], "description": "Child wrapper for LBMonitorProfile, used in hierarchical API\n", "title": "Wrapper object for LBMonitorProfile" }, "ClientTypeCollectionConfiguration": { "description": "HPM client data collection configuration", "title": "HPM client data collection configuration", "required": [ "client_type", "data_type_configurations" ], "x-vmw-nsx-module": "AggSvcDataCollectionConfig", "type": "object", "properties": { "client_type": { "enum": [ "HYPERVISOR", "EDGE", "CONTROL_PLANE", "CONTROL_PLANE_PLATFORM", "MANAGEMENT_PLANE", "MANAGEMENT_PLANE_PLATFORM" ], "type": "string", "description": "The client type for which this data collection frequency setting applies", "title": "Client Type" }, "data_type_configurations": { "items": { "$ref": "#/definitions/DataTypeCollectionConfiguration" }, "type": "array", "description": "The set of data collection type configurations, one for each data collection type", "title": "Data type configurations" } } }, "L2VpnContext": { "x-vmw-nsx-module": "PolicyL2Vpn", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "x-vmw-nsx-module": "PolicyL2Vpn", "type": "object", "properties": { "enable_hub": { "default": false, "type": "boolean", "description": "If enabled, the tier-0 acts as a Hub and replicates traffic received from\npeer to all other peers. If disabled, the tier-0 acts as a Spoke and\nreplicates only the local.\n", "title": "Enable to act as hub" } } } ], "description": "L2Vpn Context provides meta-data information about the parent Tier-0.\n", "title": "L2Vpn Context" }, "MacAddressListResult": { "x-vmw-nsx-module": "AggSvcLogicalSwitch", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "AggSvcLogicalSwitch", "type": "object", "properties": { "last_update_timestamp": { "description": "Timestamp when the data was last updated; unset if data source has never updated the data.", "format": "int64", "readOnly": true, "type": "integer" }, "logical_switch_id": { "readOnly": true, "type": "string", "description": "The id of the logical Switch", "title": "The id of the logical Switch" }, "results": { "items": { "$ref": "#/definitions/MacTableEntry" }, "type": "array" }, "transport_node_id": { "readOnly": true, "type": "string", "description": "Transport node identifier", "title": "Transport node identifier" } } } ] }, "DomainDeploymentMap": { "x-vmw-nsx-module": "PolicyEnforcementPointManagement", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "required": [ "enforcement_point_path" ], "x-vmw-nsx-module": "PolicyEnforcementPointManagement", "type": "object", "properties": { "enforcement_point_path": { "type": "string", "description": "Path of enforcement point on which domain will be deployed", "title": "Absolute path of enforcement point" } } } ], "description": "Binding of domains to the enforcement point.", "title": "Domain deployment map" }, "Role": { "description": "Role", "title": "Role", "required": [ "role" ], "x-vmw-nsx-module": "AAA", "type": "object", "properties": { "role": { "type": "string", "description": "Role name", "title": "Role name" } } }, "RealizedGroup": { "x-vmw-nsx-module": "PolicyRealizedState", "allOf": [ { "$ref": "#/definitions/PolicyRealizedResource" }, { "required": [ "resource_type" ], "discriminator": "resource_type", "x-vmw-nsx-module": "PolicyRealizedState", "type": "object", "properties": { "resource_type": { "enum": [ "RealizedNSGroup", "RealizedSecurityGroup" ], "type": "string" } } } ], "description": "Realized group", "title": "Realized group" }, "LocaleServices": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "x-vmw-nsx-module": "PolicyConnectivity", "type": "object" } ], "description": "Site specific configuration of Tier0 in multi-site scenario", "title": "Locale-services configuration" }, "RealizedLogicalSwitch": { "x-vmw-nsx-module": "PolicyRealizedState", "allOf": [ { "$ref": "#/definitions/PolicyRealizedResource" }, { "x-vmw-nsx-module": "PolicyRealizedState", "type": "object", "properties": { "transport_zone_id": { "readOnly": true, "type": "string", "description": "Transport zone identifier", "title": "Transport zone identifier" }, "logical_switch_id": { "readOnly": true, "type": "string", "description": "Id of the logical switch", "title": "Id of the logical switch" } } } ], "description": "Realized Logical Switch", "title": "Realized Logical Switch" }, "ActionableResource": { "x-vmw-nsx-module": "ClusterRestore", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "ClusterRestore", "type": "object", "properties": { "ip_address": { "description": "A resource reference on which actions can be performed", "format": "ip", "type": "string" } } } ], "description": "Resources managed during restore process", "title": "Resources managed during restore process" }, "LBActiveMonitor": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/LBMonitorProfile" }, { "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "monitor_port": { "description": "Typically, monitors perform healthchecks to Group members using the\nmember IP address and pool_port.\nHowever, in some cases, customers prefer to run healthchecks against a\ndifferent port than the pool member port which handles actual\napplication traffic. In such cases, the port to run healthchecks\nagainst can be specified in the monitor_port value.\n", "format": "int32", "title": "Monitor port for active healthchecks", "maximum": 65535, "minimum": 0, "type": "integer" }, "fall_count": { "default": 3, "format": "int64", "type": "integer", "description": "Only if a healthcheck fails consecutively for a specified number of\ntimes, given with fall_count, to a member will the member status be\nmarked DOWN.\n", "title": "Monitor fall count for active healthchecks" }, "interval": { "default": 5, "format": "int64", "type": "integer", "description": "Active healthchecks are initiated periodically, at a configurable\ninterval (in seconds), to each member of the Group.\n", "title": "Monitor interval in seconds for active healthchecks" }, "rise_count": { "default": 3, "format": "int64", "type": "integer", "description": "Once a member is DOWN, a specified number of consecutive successful\nhealthchecks specified by rise_count will bring the member back to UP\nstate.\n", "title": "Monitor rise count for active healthchecks" }, "timeout": { "default": 15, "format": "int64", "type": "integer", "description": "Timeout specified in seconds. After a healthcheck is initiated, if it\ndoes not complete within a certain period, then also the healthcheck\nis considered to be unsuccessful. Completing a healthcheck within\ntimeout means establishing a connection (TCP or SSL), if applicable,\nsending the request and receiving the response, all within the\nconfigured timeout.\n", "title": "Monitor timeout in seconds for active healthchecks" } } } ], "description": "All the active types of LBMonitorProfile extend from this abstract class.\nThis is present for extensibility.\n", "title": "Base class for each type of active LBMonitorProfile" }, "RedistributionConfig": { "x-vmw-nsx-module": "Routing", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "Routing", "type": "object", "properties": { "logical_router_id": { "readOnly": true, "type": "string", "description": "Logical router id", "title": "Logical router id" }, "bgp_enabled": { "default": false, "type": "boolean", "description": "Flag to enable redistribution for BGP as destinationProtocol", "title": "Flag to enable redistribution for BGP as destinationProtocol" } } } ] }, "IPSubnet": { "x-vmw-nsx-module": "LogicalRouterPorts", "required": [ "ip_addresses", "prefix_length" ], "type": "object", "properties": { "ip_addresses": { "description": "IPv4 Addresses", "title": "IPv4 Addresses", "minItems": 1, "items": { "description": "IPv4 address", "format": "ipv4", "type": "string" }, "maxItems": 1, "type": "array" }, "prefix_length": { "description": "Subnet Prefix Length", "format": "int64", "title": "Subnet Prefix Length", "maximum": 32, "minimum": 1, "type": "integer" } } }, "BridgeEndpointProfile": { "x-vmw-nsx-module": "BridgeEndpointProfile", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "required": [ "edge_cluster_id" ], "x-vmw-nsx-module": "BridgeEndpointProfile", "type": "object", "properties": { "failover_mode": { "default": "PREEMPTIVE", "enum": [ "PREEMPTIVE", "NON_PREEMPTIVE" ], "type": "string", "description": "Faileover mode can be preemmptive or non-preemptive", "title": "Failover mode for the edge bridge cluster" }, "edge_cluster_member_indexes": { "items": { "type": "integer", "format": "int32" }, "type": "array", "description": "First index will be used as the preferred member", "title": "Indexes of the member hosts of the edge bridge cluster" }, "high_availability_mode": { "default": "ACTIVE_STANDBY", "enum": [ "ACTIVE_STANDBY" ], "type": "string", "description": "High avaialability mode can be active-active or active-standby", "title": "High availability mode for the edge bridge cluster" }, "edge_cluster_id": { "maxLength": 36, "type": "string", "description": "UUID of the edge cluster for this bridge endpoint", "title": "UUID of the edge cluster for this bridge endpoint" } } } ], "description": "Bridge Endpoint Profile", "title": "Bridge Endpoint Profile" }, "AttributeVal": { "x-vmw-nsx-module": "PolicyRealizedState", "type": "object", "description": "Contains type specific properties of generic realized entity", "properties": { "values": { "items": { "type": "string" }, "readOnly": true, "type": "array", "description": "List of attribute values", "title": "List of values for the attribute" }, "multivalue": { "readOnly": true, "type": "boolean", "description": "If attribute has a single value or collection of values", "title": "multivalue flag" }, "key": { "type": "string", "description": "Attribute key", "title": "Key for the attribute value" }, "data_type": { "readOnly": true, "enum": [ "STRING", "DATE", "INTEGER", "BOOLEAN" ], "type": "string", "description": "Datatype of the property", "title": "Datatype of property represented by this attribute" } }, "title": "Attribute values of realized type" }, "FeaturePermissionListResult": { "x-vmw-nsx-module": "AAA", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "AAA", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/FeaturePermission" }, "type": "array", "description": "List results", "title": "List results" } } } ] }, "TargetResourceStatus": { "x-vmw-nsx-module": "FirewallStatus", "required": [ "target_status" ], "type": "object", "description": "Holds status of target resource in firewall context.", "properties": { "target_status": { "description": "Firewall status on a target logical resource.", "enum": [ "DISABLED", "ENABLED" ], "readOnly": false, "type": "string" }, "target_id": { "readOnly": false, "maxLength": 64, "type": "string", "description": "Identifier of the NSX resource.", "title": "Target ID" } } }, "NSService": { "x-vmw-nsx-module": "NSService", "description": "A Networking and Security Service allows users to specify characteristics to use\nfor matching network traffic. For example the user can specify port and protocol\npair.\n", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "NSService", "required": [ "nsservice_element" ], "type": "object", "properties": { "default_service": { "readOnly": true, "type": "boolean", "description": "The default NSServices are created in the system by default. These NSServices\ncan't be modified/deleted\n", "title": "NSServices created in the system by default" }, "nsservice_element": { "title": "An NSService Element that describes traffic corresponding to this NSService", "description": "An NSService Element that describes traffic corresponding to this NSService", "$ref": "#/definitions/NSServiceElement" } } } ] }, "VersionList": { "x-vmw-nsx-module": "VersionWhitelist", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "VersionWhitelist", "required": [ "acceptable_versions" ], "type": "object", "properties": { "acceptable_versions": { "items": { "type": "string" }, "type": "array", "description": "List of component versions", "title": "List of component versions" } } } ] }, "IPSecVpnIkeTrafficStatistics": { "x-vmw-nsx-module": "PolicyStatistics", "type": "object", "description": "Traffic statistics for IPSec VPN Ike session.\nNote - Not supported in this release.\n", "properties": { "packets_out": { "readOnly": true, "format": "int64", "type": "integer", "description": "Number of packets out.", "title": "Packets out" }, "fail_count": { "readOnly": true, "format": "int64", "type": "integer", "description": "Fail count.", "title": "Fail count" }, "packets_in": { "readOnly": true, "format": "int64", "type": "integer", "description": "Number of packets in.", "title": "Packets in" }, "bytes_out": { "readOnly": true, "format": "int64", "type": "integer", "description": "Number of bytes out.", "title": "Bytes out" }, "bytes_in": { "readOnly": true, "format": "int64", "type": "integer", "description": "Number of bytes in.", "title": "Bytes in" } }, "title": "IPSec VPN Ike traffic statistics" }, "PublicCloudGatewayNode": { "x-vmw-nsx-module": "FabricNode", "allOf": [ { "$ref": "#/definitions/EdgeNode" }, { "x-vmw-nsx-module": "FabricNode", "type": "object" } ] }, "LoginCredential": { "description": "Base type for various login credential types", "title": "Base type for various login credential types", "required": [ "credential_type" ], "discriminator": "credential_type", "x-vmw-nsx-module": "Types", "type": "object", "properties": { "credential_type": { "type": "string", "description": "Possible values are 'UsernamePasswordLoginCredential', 'VerifiableAsymmetricLoginCredential'.", "title": "Login credential, for example username-password-thumbprint or certificate based, etc" } } }, "LbFastTcpProfile": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbAppProfile" }, { "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "close_timeout": { "description": "It is used to specify how long a closing TCP connection (both FINs\nreceived or a RST is received) should be kept for this application\nbefore cleaning up the connection.\n", "title": "TCP connection idle timeout in seconds", "default": 8, "format": "int64", "maximum": 60, "minimum": 1, "type": "integer" }, "idle_timeout": { "description": "It is used to configure how long an idle TCP connection in ESTABLISHED\nstate should be kept for this application before cleaning up.\n", "title": "TCP connection idle timeout in seconds", "default": 1800, "format": "int64", "maximum": 2147483647, "minimum": 1, "type": "integer" }, "ha_flow_mirroring_enabled": { "default": false, "type": "boolean", "description": "If flow mirroring is enabled, all the flows to the bounded virtual\nserver are mirrored to the standby node.\n", "title": "flow mirroring enabled flag" } } } ] }, "L4PortSetServiceEntry": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/ServiceEntry" }, { "required": [ "l4_protocol" ], "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "destination_ports": { "items": { "description": "Examples- Single port \"8080\", Range of ports \"8090-8095\"\n", "format": "port-or-range", "type": "string" }, "type": "array", "maxItems": 15 }, "l4_protocol": { "enum": [ "TCP", "UDP" ], "type": "string" }, "source_ports": { "items": { "description": "Examples- Single port \"8080\", Range of ports \"8090-8095\"\n", "format": "port-or-range", "type": "string" }, "type": "array", "maxItems": 15 } } } ], "description": "L4PortSet can be specified in comma separated notation of parts. Parts of a\nL4PortSet includes single integer or range of port in hyphen notation.\nExample of a PortSet: \"22, 33-70, 44\".\n", "title": "An ServiceEntry that represents TCP or UDP protocol" }, "DirectoryDomain": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "required": [ "name", "resource_type" ], "discriminator": "resource_type", "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "name": { "type": "string", "description": "Directory domain name which best describes the domain. It could be unique fqdn name or it could also be descriptive. There is no unique contraint for domain name among different domains.", "title": "Directory domain name" }, "resource_type": { "type": "string", "description": "Domain resource type comes from multiple sub-classes extending this base class. For example, DirectoryAdDomain is one accepted resource_type. If there are more sub-classes defined, they will also be accepted resource_type.", "title": "Directory domain resource type" } } } ], "description": "Directory Domain", "title": "Directory Domain" }, "LogicalPortMacTableEntry": { "x-vmw-nsx-module": "AggSvcLogicalPort", "required": [ "mac_type", "mac_address" ], "type": "object", "properties": { "mac_type": { "description": "The type of the MAC address", "enum": [ "STATIC", "LEARNED" ], "type": "string" }, "mac_address": { "type": "string", "description": "The MAC address", "title": "The MAC address" } } }, "LbSourceIpPersistenceProfile": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbPersistenceProfile" }, { "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "purge": { "description": "persistence purge setting", "default": "FULL", "enum": [ "NO_PURGE", "FULL" ], "type": "string" }, "ha_persistence_mirroring_enabled": { "default": false, "type": "boolean", "description": "Persistence entries are not synchronized to the HA peer by default.\n", "title": "mirroring enabled flag to synchronize persistence entries" }, "timeout": { "description": "When all connections complete (reference count reaches 0), persistence\nentry timer is started with the expiration time.\n", "title": "persistence entry expiration time in seconds", "default": 300, "format": "int64", "maximum": 2147483647, "minimum": 1, "type": "integer" } } } ] }, "DhcpRelayConfig": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "required": [ "server_addresses" ], "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "server_addresses": { "items": { "description": "IPv4 or IPv6 address", "format": "ip", "type": "string" }, "type": "array", "description": "DHCP server IP addresses for DHCP relay configuration.\n", "title": "DHCP relay addresses" } } } ], "description": "DHCP relay configuration\n", "title": "DHCP relay configuration" }, "LbRule": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "required": [ "phase", "actions", "match_strategy" ], "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "phase": { "enum": [ "HTTP_REQUEST_REWRITE", "HTTP_FORWARDING", "HTTP_RESPONSE_REWRITE" ], "type": "string", "description": "Each load balancer rule is used at a specific phase of load balancer\nprocessing. Currently three phases are supported, HTTP_REQUEST_REWRITE,\nHTTP_FORWARDING and HTTP_RESPONSE_REWRITE.\nWhen an HTTP request message is received by load balancer, all\nHTTP_REQUEST_REWRITE rules, if present are executed in the order they\nare applied to virtual server. And then if HTTP_FORWARDING rules\npresent, only first matching rule's action is executed, remaining rules\nare not checked. HTTP_FORWARDING rules can have only one action. If the\nrequest is forwarded to a backend server and the response goes back to\nload balancer, all HTTP_RESPONSE_REWRITE rules, if present, are executed\nin the order they are applied to the virtual server.\n", "title": "Load balancer processing phase" }, "match_conditions": { "items": { "$ref": "#/definitions/LbRuleCondition" }, "type": "array", "description": "A list of match conditions used to match application traffic. Multiple\nmatch conditions can be specified in one load balancer rule, each match\ncondition defines a criterion to match application traffic.\nIf no match conditions are specified, then the load balancer rule will\nalways match and it is used typically to define default rules. If more\nthan one match condition is specified, then match strategy determines\nif all conditions should match or any one condition should match for the\nload balancer rule to considered a match.\n", "maxItems": 60, "title": "Conditions to match application traffic" }, "actions": { "items": { "$ref": "#/definitions/LbRuleAction" }, "type": "array", "description": "A list of actions to be executed at specified phase when load balancer\nrule matches. The actions are used to manipulate application traffic,\nsuch as rewrite URI of HTTP messages, redirect HTTP messages, etc.\n", "maxItems": 60, "title": "Actions to be executed" }, "match_strategy": { "enum": [ "ALL", "ANY" ], "type": "string", "description": "Strategy to define how load balancer rule is considered a match when\nmultiple match conditions are specified in one rule. If match_stragety\nis set to ALL, then load balancer rule is considered a match only if all\nthe conditions match. If match_strategy is set to ANY, then load\nbalancer rule is considered a match if any one of the conditions match.\n", "title": "Strategy to match multiple conditions" } } } ], "description": "Load balancer rules allow customization of load balancing behavior using\nmatch/action rules. Currently, load balancer rules are supported for only\nlayer 7 virtual servers with application profile LbHttpProfile.\nEach application rule consists of one or more match conditions and one or\nmore actions.\nLoad balancer rules could be used by different load balancer services.\n", "title": "Load balancer rules" }, "ChildPolicyLabel": { "x-vmw-nsx-module": "PolicyLabel", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "PolicyLabel" ], "x-vmw-nsx-module": "PolicyLabel", "type": "object", "properties": { "PolicyLabel": { "title": "PolicyLabel", "description": "Contains the actual PolicyLabel object\n", "$ref": "#/definitions/PolicyLabel" } } } ], "description": "Child wrapper object for PolicyLabel, used in hierarchical API", "title": "Wrapper object for PolicyLabel" }, "ChildService": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "Service" ], "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "Service": { "title": "Service", "description": "Contains the actual Service object\n", "$ref": "#/definitions/Service" } } } ], "description": "Child wrapper object for Service, used in hierarchical API", "title": "Wrapper object for Service" }, "IpfixUpmProfileListResult": { "x-vmw-nsx-module": "UpmIpfix", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "UpmIpfix", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/IpfixUpmProfile" }, "readOnly": true, "type": "array", "description": "IPFIX Profile List", "title": "IPFIX Profile List" } } } ], "description": "IPFIX profile list result for query with list parameters", "title": "List of IPFIX Profiles" }, "DeploymentConfig": { "discriminator": "placement_type", "x-vmw-nsx-module": "FabricNode", "required": [ "placement_type" ], "type": "object", "properties": { "placement_type": { "enum": [ "VsphereDeploymentConfig" ], "type": "string" } } }, "EdgeCommunicationMapListResult": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/CommunicationMapListResult" }, { "x-vmw-nsx-module": "Policy", "type": "object" } ], "description": "Paged Collection of Edge Communication map", "title": "Paged Collection of Edge Communication map" }, "ClientSslProfileBinding": { "x-vmw-nsx-module": "LoadBalancer", "required": [ "default_certificate_id" ], "type": "object", "properties": { "client_auth": { "description": "client authentication mode", "default": "IGNORE", "enum": [ "REQUIRED", "IGNORE" ], "type": "string" }, "ssl_profile_id": { "type": "string", "description": "Client SSL profile defines reusable, application-independent client side\nSSL properties.\n", "title": "client SSL profile identifier" }, "certificate_chain_depth": { "description": "authentication depth is used to set the verification depth in the client\ncertificates chain.\n", "title": "the maximum traversal depth of client certificate chain", "default": 3, "format": "int64", "maximum": 2147483647, "minimum": 1, "type": "integer" }, "client_auth_ca_ids": { "items": { "type": "string" }, "type": "array", "description": "If client auth type is REQUIRED, client certificate must be signed by\none of the trusted Certificate Authorities (CAs), also referred to as\nroot CAs, whose self signed certificates are specified.\n", "title": "CA identifier list to verify client certificate" }, "default_certificate_id": { "type": "string", "description": "A default certificate should be specified which will be used if the\nserver does not host multiple hostnames on the same IP address or if\nthe client does not support SNI extension.\n", "title": "default service certificate identifier" }, "sni_certificate_ids": { "items": { "type": "string" }, "type": "array", "description": "Client-side SSL profile binding allows multiple certificates, for\ndifferent hostnames, to be bound to the same virtual server.\n", "title": "SNI certificate identifier list" }, "client_auth_crl_ids": { "items": { "type": "string" }, "type": "array", "description": "A Certificate Revocation List (CRL) can be specified in the client-side\nSSL profile binding to disallow compromised client certificates.\n", "title": "CRL identifier list to verify client certificate" } } }, "ClusterNodeConfig": { "x-vmw-nsx-module": "ClusterManagement", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "ClusterManagement", "type": "object", "properties": { "manager_role": { "$ref": "#/definitions/ManagementClusterRoleConfig" }, "controller_role": { "$ref": "#/definitions/ControllerClusterRoleConfig" }, "external_id": { "readOnly": true, "type": "string", "description": "Internal identifier provided by the node", "title": "Internal identifier provided by the node" }, "appliance_mgmt_listen_addr": { "readOnly": true, "type": "string", "description": "The IP and port for the appliance management API service on this node", "title": "The IP and port for the appliance management API service on this node" } } } ] }, "ServiceAttachment": { "x-vmw-nsx-module": "ServiceInsertionCommonTypes", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "required": [ "deployed_to", "local_ips" ], "x-vmw-nsx-module": "ServiceInsertionCommonTypes", "type": "object", "properties": { "attachment_status": { "description": "UP - A Service Attachment will have its Service Port - UP and with a configured IP address. DOWN - An Inactive ServiceAttachment has its Service Port - DOWN. It can be used to connect set of appliances that do not need to exchange traffic to/from/through the Edge node.", "title": "Attachment Status", "default": "UP", "enum": [ "UP", "DOWN" ], "readOnly": false, "type": "string" }, "service_port": { "readOnly": true, "title": "Service Port (Logical Router Centralized Service Port)", "description": "Service Port gets created as a part of Service Attachment creation. It is a Logical Router Port of type CentralizedServicePort. It does not participate in distributed routing. Stateless Policy Based Routing service can be applied on this port.", "$ref": "#/definitions/ResourceReference" }, "deployed_to": { "readOnly": false, "title": "Deployed-to object", "description": "NSX Resource where we want to create Service Attachment Point. Ex. T0 LR Edge in case of HCX-ServiceInsertion.", "$ref": "#/definitions/ResourceReference" }, "logical_switch": { "readOnly": true, "title": "Logical Switch", "description": "Logical Switch gets created as a part of Service Attachment creation. If a Logical Switch is provided, then that needs to be used - instead of creating new one.", "$ref": "#/definitions/ResourceReference" }, "local_ips": { "description": "Local IPs associated with this Service Attachment.", "title": "Local IPs", "minItems": 1, "items": { "$ref": "#/definitions/IPInfo" }, "maxItems": 1, "type": "array" } } } ], "description": "A ServiceAttachment represents a point on NSX entity (Example - Edge Router) to which ServiceInstance can be connected through an InstanceEndpoint. Example - In VMWare Hybric Cloud Extention (HCX) use case, HCX appliances connect to this Service Attachment Point. We do not handle the lifecycle of these appliance/s.", "title": "Logical Attachment Point for a 3rd Party Service" }, "TransportNodeStateListResult": { "x-vmw-nsx-module": "TransportNode", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "TransportNode", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/TransportNodeState" }, "readOnly": true, "type": "array", "description": "Transport Node State Results", "title": "Transport Node State Results" } } } ], "description": "Transport node state queries result", "title": "Transport node state queries result" }, "AttachmentContext": { "discriminator": "resource_type", "x-vmw-nsx-module": "LogicalPort", "required": [ "resource_type" ], "type": "object", "properties": { "allocate_addresses": { "enum": [ "IpPool", "MacPool", "Both", "None" ], "type": "string", "description": "A flag to indicate whether to allocate addresses from allocation\n pools bound to the parent logical switch.\n", "title": "A flag to indicate whether to allocate addresses from allocation\n pools bound to the parent logical switch.\n" }, "resource_type": { "type": "string", "description": "Used to identify which concrete class it is", "title": "Used to identify which concrete class it is" } } }, "RealizedService": { "x-vmw-nsx-module": "PolicyRealizedState", "allOf": [ { "$ref": "#/definitions/PolicyRealizedResource" }, { "required": [ "resource_type" ], "discriminator": "resource_type", "x-vmw-nsx-module": "PolicyRealizedState", "type": "object", "properties": { "resource_type": { "enum": [ "RealizedNSService" ], "type": "string", "description": "Realized services", "title": "Realized services" } } } ], "description": "Realized Service", "title": "Realized Service" }, "AggregateL3VpnStatistics": { "description": "Aggregate of L3Vpn Statistics across Enforcement Points.\n", "title": "Aggregate of L3Vpn Statistics", "required": [ "intent_path" ], "x-vmw-nsx-module": "PolicyStatistics", "type": "object", "properties": { "l3vpn_statistics_per_enforcement_point": { "items": { "$ref": "#/definitions/L3VpnStatisticsPerEnforcementPoint" }, "readOnly": true, "type": "array", "description": "List of L3Vpn Statistics per Enforcement Point.\n", "title": "List of L3Vpn Statistics per Enforcement Point" }, "intent_path": { "type": "string", "description": "Intent path of object, forward slashes must be escaped using %2F.\n", "title": "String Path of the intent object" } } }, "ServerSslProfileBinding": { "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "server_auth_crl_ids": { "items": { "type": "string" }, "type": "array", "description": "A Certificate Revocation List (CRL) can be specified in the server-side\nSSL profile binding to disallow compromised server certificates.\n", "title": "CRL identifier list to verify server certificate" }, "server_auth": { "description": "server authentication mode", "default": "IGNORE", "enum": [ "REQUIRED", "IGNORE" ], "type": "string" }, "certificate_chain_depth": { "description": "authentication depth is used to set the verification depth in the server\ncertificates chain.\n", "title": "the maximum traversal depth of server certificate chain", "default": 3, "format": "int64", "maximum": 2147483647, "minimum": 1, "type": "integer" }, "client_certificate_id": { "type": "string", "description": "To support client authentication (load balancer acting as a client\nauthenticating to the backend server), client certificate can be\nspecified in the server-side SSL profile binding\n", "title": "client certificate identifier" }, "server_auth_ca_ids": { "items": { "type": "string" }, "type": "array", "description": "If server auth type is REQUIRED, server certificate must be signed by\none of the trusted Certificate Authorities (CAs), also referred to as\nroot CAs, whose self signed certificates are specified.\n", "title": "CA identifier list to verify server certificate" }, "ssl_profile_id": { "type": "string", "description": "Server SSL profile defines reusable, application-independent server side\nSSL properties.\n", "title": "server SSL profile identifier" } } }, "ServiceInterface": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/BaseTier0Interface" }, { "x-vmw-nsx-module": "PolicyConnectivity", "type": "object" } ], "description": "Service interface configuration for internal connectivity.", "title": "Service interface configuration" }, "Attribute": { "x-vmw-nsx-module": "ServiceInsertionCommonTypes", "type": "object", "description": "Attribute specific to a partner. There attributes are passed on to the partner appliance and is opaque to the NSX Manager. The Attributes used by the partner applicance.", "properties": { "attribute_type": { "readOnly": false, "enum": [ "IP_ADDRESS", "PORT", "PASSWORD", "STRING", "LONG" ], "type": "string", "description": "Attribute Type can be of any of the allowed enum type.", "title": "Attributetype." }, "display_name": { "readOnly": false, "type": "string", "description": "Attribute display name string value.", "title": "Display name" }, "value": { "readOnly": false, "type": "string", "description": "Attribute value string value.", "title": "value" }, "key": { "readOnly": false, "type": "string", "description": "Attribute key string value.", "title": "key" } }, "title": "Attributes" }, "ChildSegment": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "Segment" ], "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "Segment": { "title": "Segment", "description": "Contains the actual Segment object.\n", "$ref": "#/definitions/Segment" } } } ], "description": "Child wrapper object for Segment, used in hierarchical API.", "title": "Wrapper object for Segment" }, "FeatureStackCollectionConfigurationList": { "x-vmw-nsx-module": "AggSvcDataCollectionConfig", "type": "object", "description": "Feature stack collection configuration list result", "properties": { "results": { "items": { "$ref": "#/definitions/FeatureStackCollectionConfiguration" }, "readOnly": true, "type": "array", "description": "The complete set of feature stack data collection configurations", "title": "Feature stack configurations" } }, "title": "Feature stack collection configuration list result" }, "LBRuleAction": { "description": "Load balancer rule actions are used to manipulate application traffic.\nSupported actions are LBSelectPoolAction\n", "title": "Load balancer rule action", "required": [ "type" ], "discriminator": "type", "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "type": { "description": "Type of load balancer rule action", "enum": [ "LBSelectPoolAction" ], "type": "string" } } }, "LbActiveMonitor": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbMonitor" }, { "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "monitor_port": { "description": "If the monitor port is specified, it would override pool member port\nsetting for healthcheck. A port range is not supported.\n", "format": "port-or-range", "type": "string" }, "fall_count": { "description": "num of consecutive checks must fail before marking it down", "title": "num of consecutive checks must fail before marking it down", "default": 3, "format": "int64", "maximum": 2147483647, "minimum": 1, "type": "integer" }, "interval": { "description": "the frequency at which the system issues the monitor check (in second)", "title": "the frequency at which the system issues the monitor check (in second)", "default": 5, "format": "int64", "maximum": 2147483647, "minimum": 1, "type": "integer" }, "rise_count": { "description": "num of consecutive checks must pass before marking it up", "title": "num of consecutive checks must pass before marking it up", "default": 3, "format": "int64", "maximum": 2147483647, "minimum": 1, "type": "integer" }, "timeout": { "description": "the number of seconds the target has in which to respond to the monitor\nrequest\n", "title": "the number of seconds the target has in which to respond to the monitor\nrequest\n", "default": 15, "format": "int64", "maximum": 2147483647, "minimum": 1, "type": "integer" } } } ] }, "ServiceInstanceListResult": { "x-vmw-nsx-module": "ServiceInsertion", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "ServiceInsertion", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/BaseServiceInstance" }, "readOnly": true, "type": "array", "description": "List of the Service-Insertion ServicesInstances. The list has to be homogenous.", "title": "Service-Instance list" } } } ], "description": "Service Instance List", "title": "Service Instance List" }, "LbPool": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "member_group": { "title": "Load balancer member setting with grouping object", "description": "Load balancer pool support grouping object as dynamic pool members.\nWhen member group is defined, members setting should not be specified.\n", "$ref": "#/definitions/PoolMemberGroup" }, "snat_translation": { "title": "snat translation configuration", "description": "Depending on the topology, Source NAT (SNAT) may be required to ensure\ntraffic from the server destined to the client is received by the load\nbalancer. SNAT can be enabled per pool. If SNAT is not enabled for a\npool, then load balancer uses the client IP and port (spoofing) while\nestablishing connections to the servers. This is referred to as no-SNAT\nor TRANSPARENT mode.\n", "$ref": "#/definitions/LbSnatTranslation" }, "algorithm": { "description": "Load balancing algorithm, configurable per pool controls how the\nincoming connections are distributed among the members.\n", "default": "ROUND_ROBIN", "enum": [ "ROUND_ROBIN", "WEIGHTED_ROUND_ROBIN", "LEAST_CONNECTION", "WEIGHTED_LEAST_CONNECTION", "IP_HASH" ], "type": "string" }, "members": { "items": { "$ref": "#/definitions/PoolMember" }, "type": "array", "description": "Server pool consists of one or more pool members. Each pool member\nis identified, typically, by an IP address and a port.\n", "title": "load balancer pool members" }, "passive_monitor_id": { "type": "string", "description": "Passive healthchecks are disabled by default and can be enabled by\nattaching a passive health monitor to a server pool.\nEach time a client connection to a pool member fails, its failed count\nis incremented. For pools bound to L7 virtual servers, a connection is\nconsidered to be failed and failed count is incremented if any TCP\nconnection errors (e.g. TCP RST or failure to send data) or SSL\nhandshake failures occur. For pools bound to L4 virtual servers, if no\nresponse is received to a TCP SYN sent to the pool member or if a TCP\nRST is received in response to a TCP SYN, then the pool member is\nconsidered to have failed and the failed count is incremented.\n", "title": "passive monitor identifier" }, "tcp_multiplexing_number": { "description": "The maximum number of TCP connections per pool that are idly kept alive\nfor sending future client requests.\n", "title": "maximum number of TCP connections for multiplexing", "default": 6, "format": "int64", "maximum": 2147483647, "minimum": 0, "type": "integer" }, "active_monitor_ids": { "items": { "type": "string" }, "type": "array", "description": "In case of active healthchecks, load balancer itself initiates new\nconnections (or sends ICMP ping) to the servers periodically to check\ntheir health, completely independent of any data traffic. Active\nhealthchecks are disabled by default and can be enabled for a server\npool by binding a health monitor to the pool. Currently, only one active\nhealth monitor can be configured per server pool.\n", "title": "active monitor identifier list" }, "tcp_multiplexing_enabled": { "default": false, "type": "boolean", "description": "TCP multiplexing allows the same TCP connection between load balancer\nand the backend server to be used for sending multiple client requests\nfrom different client TCP connections.\n", "title": "TCP multiplexing enable flag" }, "min_active_members": { "description": "A pool is considered active if there are at least certain\nminimum number of members.\n", "title": "minimum number of active pool members to consider pool as active", "default": 1, "format": "int64", "maximum": 2147483647, "minimum": 1, "type": "integer" } } } ] }, "LBService": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "enabled": { "default": true, "type": "boolean", "description": "whether the load balancer service is enabled", "title": "whether the load balancer service is enabled" }, "connectivity_path": { "type": "string", "description": "LBS could be instantiated (or created) on Tier-1, etc.\nFor now, only Tier-1 object is supported.\n", "title": "The connectivity target used to instantiate the LbService" }, "error_log_level": { "description": "Load balancer engine writes information about encountered issues of\ndifferent severity levels to the error log. This setting is used to\ndefine the severity level of the error log.\n", "default": "INFO", "enum": [ "DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL", "ALERT", "EMERGENCY" ], "type": "string" }, "access_log_enabled": { "default": false, "type": "boolean", "description": "whether access log is enabled", "x-deprecated": true, "title": "whether access log is enabled" }, "size": { "description": "the size of load balancer service", "default": "SMALL", "enum": [ "SMALL", "MEDIUM", "LARGE" ], "type": "string" } } } ] }, "StaticHopBfdPeerListResult": { "x-vmw-nsx-module": "Routing", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "Routing", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/StaticHopBfdPeer" }, "readOnly": true, "type": "array", "description": "static hop BFD peer list results", "title": "static hop BFD peer list results" } } } ] }, "PacketCaptureSession": { "description": "Packet capture response information", "title": "Packet capture response information", "required": [ "sessionid", "request", "sessionstatus" ], "x-vmw-nsx-module": "PacketCapture", "type": "object", "properties": { "sessionid": { "type": "string", "description": "Packet capture session id", "title": "Packet capture session id" }, "filelocation": { "type": "string", "description": "Packet capture file location", "title": "Packet capture file location" }, "filesize": { "format": "int32", "type": "integer", "description": "Packet capture file Size in bytes", "title": "Packet capture file Size in bytes" }, "sessionname": { "type": "string", "description": "Packet capture session name", "title": "Packet capture session name" }, "errormsg": { "type": "string", "description": "Error messasge in capture", "title": "Error messasge in capture" }, "endtime": { "type": "integer", "description": "Timestamp when session was stopped in epoch millisecond", "format": "int64" }, "request": { "title": "Packet capture request", "description": "Packet capture request", "$ref": "#/definitions/PacketCaptureRequest" }, "starttime": { "type": "integer", "description": "Timestamp when session was created in epoch millisecond", "format": "int64" }, "sessionstatus": { "enum": [ "CREATED", "STARTED", "STOPPED", "FINISHED", "ERROR" ], "type": "string", "description": "Packet capture session status", "title": "Packet capture session status" } } }, "RealizedFirewallSection": { "x-vmw-nsx-module": "PolicyRealizedState", "allOf": [ { "$ref": "#/definitions/RealizedFirewall" }, { "x-vmw-nsx-module": "PolicyRealizedState", "type": "object", "properties": { "rules": { "items": { "$ref": "#/definitions/RealizedFirewallRule" }, "readOnly": true, "type": "array", "description": "List of firewall rules in the section.", "title": "List of the firewall rules" }, "rule_count": { "readOnly": true, "format": "int64", "type": "integer", "description": "Number of rules in this section.", "title": "Rule count" }, "section_type": { "readOnly": true, "enum": [ "LAYER2", "LAYER3" ], "type": "string", "description": "Type of the rules which a section can contain.", "title": "Section Type" } } } ], "description": "Realized Firewall section", "title": "Realized Firewall section" }, "LogicalRouterCentralizedServicePort": { "x-vmw-nsx-module": "LogicalRouterPorts", "allOf": [ { "$ref": "#/definitions/LogicalRouterPort" }, { "required": [ "subnets" ], "x-vmw-nsx-module": "LogicalRouterPorts", "type": "object", "properties": { "enable_netx": { "default": false, "type": "boolean", "description": "Port is exclusively used for N-S service insertion", "title": "Port is exclusively used for N-S service insertion" }, "linked_logical_switch_port_id": { "title": "Reference to the logical switch port to connect to", "description": "Reference to the logical switch port to connect to", "$ref": "#/definitions/ResourceReference" }, "urpf_mode": { "description": "Unicast Reverse Path Forwarding mode", "default": "STRICT", "enum": [ "NONE", "STRICT" ], "type": "string" }, "subnets": { "description": "Logical router port subnets", "title": "Logical router port subnets", "minItems": 1, "items": { "$ref": "#/definitions/IPSubnet" }, "maxItems": 1, "type": "array" } } } ], "description": "This port can be configured on both TIER0 and TIER1 logical router.\nPort can be connected to VLAN or overlay logical switch.\nUnlike downlink port it does not participate in distributed routing and\nhosted on all edge cluster members associated with logical router.\nStateful services can be applied on this port.\n", "title": "Port to connect VLAN based network or overlay logical switch" }, "EdgeClusterMemberListResult": { "x-vmw-nsx-module": "EdgeClusters", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "EdgeClusters", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/EdgeClusterMember" }, "type": "array", "description": "edge cluster member list results", "title": "edge cluster member list results" } } } ] }, "ChildPolicyDnsForwarderZone": { "x-vmw-nsx-module": "PolicyDnsForwarder", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "PolicyDnsForwarderZone" ], "x-vmw-nsx-module": "PolicyDnsForwarder", "type": "object", "properties": { "PolicyDnsForwarderZone": { "title": "PolicyDnsForwarderZone", "description": "Contains the actual PolicyDnsForwarderZone object\n", "$ref": "#/definitions/PolicyDnsForwarderZone" } } } ], "description": "Child wrapper object for PolicyDnsForwarderZone, used in hierarchical API", "title": "Wrapper object for PolicyDnsForwarderZone" }, "IPFIXDFWCollector": { "x-vmw-nsx-module": "PolicyIPFIXDFW", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "required": [ "collector_ip_address", "collector_port" ], "x-vmw-nsx-module": "PolicyIPFIXDFW", "type": "object", "properties": { "collector_ip_address": { "description": "IP address for the IPFIX DFW collector.", "format": "ip", "type": "string" }, "collector_port": { "format": "int32", "type": "integer", "description": "Port for the IPFIX DFW collector.", "title": "Port" } } } ], "description": "IPFIX DFW data will be collected on collector\nHost IP and Port address should be provided for collector.\n", "title": "IPFIX DFW Collector" }, "EntityInstanceCountConstraintExpression": { "x-vmw-nsx-module": "PolicyConstraints", "allOf": [ { "$ref": "#/definitions/ConstraintExpression" }, { "required": [ "operator", "count" ], "x-vmw-nsx-module": "PolicyConstraints", "type": "object", "properties": { "operator": { "type": "string", "description": "Operations supported '<' and '<='.", "title": "Operations supported '<' and '<='." }, "count": { "format": "int64", "type": "integer", "description": "Instance count.", "title": "Instance count." } } } ], "description": "Represents the leaf level constraint to restrict the number instances of an entity\ntype can be created. This is useful in restricting number of CGWs or MGWs or\nProviders that can created in a system.\n", "title": "Represents the leaf level constraint to restrict the number instances of type." }, "PortMirroringSwitchingProfile": { "x-vmw-nsx-module": "PortMirroringSwitchingProfile", "allOf": [ { "$ref": "#/definitions/BaseSwitchingProfile" }, { "x-vmw-nsx-module": "PortMirroringSwitchingProfile", "type": "object", "properties": { "snap_length": { "description": "If this property not set, original package will not be truncated.", "format": "int64", "title": "Snap length for package truncation", "maximum": 65535, "minimum": 60, "type": "integer" }, "direction": { "description": "port mirroring direction", "enum": [ "INGRESS", "EGRESS", "BIDIRECTIONAL" ], "type": "string" }, "key": { "format": "int64", "type": "integer", "description": "User-configurable 32-bit key", "title": "User-configurable 32-bit key" }, "destinations": { "items": { "description": "IPv4 or IPv6 address", "format": "ip", "type": "string" }, "type": "array", "description": "List of destination addresses", "maxItems": 3, "title": "List of destination addresses" } } } ] }, "L2VpnTransportTunnelPeerCode": { "description": "L2Vpn transport tunnel peer code.\n", "title": "L2Vpn Transport Tunnel Peer Code", "required": [ "peer_code", "transport_tunnel_path" ], "x-vmw-nsx-module": "PolicyL2Vpn", "type": "object", "properties": { "peer_code": { "type": "string", "description": "Copy this code to paste on the remote end of the tunnel.\nThis is a base64 encoded string which has all the configuration for tunnel.\nE.g local/remote ips and protocol, encryption algorithm, etc. Peer code also\ncontains PSK; be careful when sharing or storing it.\n", "title": "Peer code for the transport tunnel" }, "transport_tunnel_path": { "type": "string", "description": "Policy Path referencing the transport tunnel.", "title": "Policy Path of the the transport tunnel" } } }, "GlobalCollectionConfiguration": { "x-vmw-nsx-module": "AggSvcDataCollectionConfig", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "AggSvcDataCollectionConfig", "required": [ "is_data_collection_enabled", "aggregated_data_collection_frequency" ], "type": "object", "properties": { "modified_feature_stack_collection_configurations": { "readOnly": true, "title": "Modified feature stack collection configurations", "description": "The list of the locally modified feature stack data collection frequency settings. If all feature stack data collection configurations are set to their default values, this list will be empty.", "$ref": "#/definitions/FeatureStackCollectionConfigurationList" }, "is_data_collection_enabled": { "type": "boolean", "description": "Indicates whether data collection required by the aggregation service is enabled. If false, no aggregation service data will be collected. Changing this property will not affect the existing data collection frequency settings.", "title": "Is data collection enabled" }, "aggregated_data_collection_frequency": { "description": "The frequency in seconds at which data, which is subject to the aggregation function, is collected.", "format": "int64", "title": "Aggregated Data Collection Frequency In Seconds", "maximum": 86400, "minimum": 60, "type": "integer" } } } ] }, "ProcessElement": { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "allOf": [ { "$ref": "#/definitions/Element" }, { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "type": "object", "properties": { "process_command_line": { "readOnly": false, "type": "string", "description": "Process command line", "title": "Process command line" } } } ], "description": "Process element extends from Element class. This class contains the\ninformation related to the process.\n", "title": "Process information" }, "AggregateL2VpnStatistics": { "description": "Aggregate of L2Vpn Statistics across Enforcement Points.\n", "title": "Aggregate L2Vpn Statistics", "required": [ "intent_path" ], "x-vmw-nsx-module": "PolicyStatistics", "type": "object", "properties": { "l2vpn_statistics_per_enforcement_point": { "items": { "$ref": "#/definitions/L2VpnStatisticsPerEnforcementPoint" }, "readOnly": true, "type": "array", "description": "List of L2Vpn Statistics per Enforcement Point.\n", "title": "List of L2Vpn Statistics per Enforcement Point" }, "intent_path": { "type": "string", "description": "Intent path of object, forward slashes must be escaped using %2F.\n", "title": "String Path of the intent object" } } }, "RealizedState": { "x-vmw-nsx-module": "PolicyRealizedState", "allOf": [ { "$ref": "#/definitions/PolicyRealizedResource" }, { "x-vmw-nsx-module": "PolicyRealizedState", "type": "object", "properties": { "enforcement_points": { "items": { "$ref": "#/definitions/RealizedEnforcementPoint" }, "type": "array", "description": "Enforcement points for realized policy", "title": "Enforcement points for realized policy" } } } ], "description": "Root of realized policy state", "title": "Root of realized policy state" }, "LBPoolMember": { "x-vmw-nsx-module": "ManagerNode", "required": [ "ip_address" ], "type": "object", "properties": { "ip_address": { "description": "pool member IP address", "format": "ip", "type": "string" }, "display_name": { "type": "string", "description": "pool member name", "title": "pool member name" }, "port": { "description": "If port is specified, all connections will be sent to this port. Only\nsingle port is supported.\nIf unset, the same port the client connected to will be used, it could\nbe overrode by default_pool_member_port setting in virtual server.\nThe port should not specified for port range case.\n", "format": "port-or-range", "type": "string" } } }, "LbHttpsMonitor": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbActiveMonitor" }, { "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "response_status_codes": { "items": { "type": "integer", "format": "int32" }, "type": "array", "description": "The HTTP response status code should be a valid HTTP status code.\n", "maxItems": 64, "title": "Array of single HTTP response status codes" }, "server_auth_crl_ids": { "items": { "type": "string" }, "type": "array", "description": "A Certificate Revocation List (CRL) can be specified in the server-side\nSSL profile binding to disallow compromised server certificates.\n", "title": "CRL identifier list to verify server certificate" }, "server_auth_ca_ids": { "items": { "type": "string" }, "type": "array", "description": "If server auth type is REQUIRED, server certificate must be signed by\none of the trusted Certificate Authorities (CAs), also referred to as\nroot CAs, whose self signed certificates are specified.\n", "title": "CA identifier list to verify server certificate" }, "server_auth": { "description": "server authentication mode", "default": "IGNORE", "enum": [ "REQUIRED", "IGNORE" ], "type": "string" }, "request_body": { "type": "string", "description": "String to send as part of HTTP health check request body. Valid only\nfor certain HTTP methods like POST.\n", "title": "String to send as part of HTTP health check request body. Valid only\nfor certain HTTP methods like POST.\n" }, "response_body": { "type": "string", "description": "If HTTP response body match string (regular expressions not supported)\nis specified (using LbHttpMonitor.response_body) then the\nhealthcheck HTTP response body is matched against the specified string\nand server is considered healthy only if there is a match.\nIf the response body string is not specified, HTTP healthcheck is\nconsidered successful if the HTTP response status code is 2xx, but it\ncan be configured to accept other status codes as successful.\n", "title": "response body to match" }, "ciphers": { "items": { "description": "SSL cipher", "enum": [ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA", "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA", "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA", "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA", "TLS_RSA_WITH_AES_256_CBC_SHA", "TLS_RSA_WITH_AES_128_CBC_SHA", "TLS_RSA_WITH_3DES_EDE_CBC_SHA", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384", "TLS_RSA_WITH_AES_128_CBC_SHA256", "TLS_RSA_WITH_AES_128_GCM_SHA256", "TLS_RSA_WITH_AES_256_CBC_SHA256", "TLS_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384", "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA", "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256", "TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384", "TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384", "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA", "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256", "TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384", "TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384" ], "type": "string" }, "type": "array", "description": "supported SSL cipher list to servers", "title": "supported SSL cipher list to servers" }, "request_headers": { "items": { "$ref": "#/definitions/LbHttpRequestHeader" }, "type": "array", "description": "Array of HTTP request headers", "title": "Array of HTTP request headers" }, "client_certificate_id": { "type": "string", "description": "client certificate can be specified to support client authentication.\n", "title": "client certificate identifier" }, "request_method": { "description": "the health check method for HTTP monitor type", "default": "GET", "enum": [ "GET", "OPTIONS", "POST", "HEAD", "PUT" ], "type": "string" }, "is_fips": { "readOnly": true, "type": "boolean", "description": "This flag is set to true when all the ciphers and protocols are FIPS\ncompliant. It is set to false when one of the ciphers or protocols are\nnot FIPS compliant..\n", "title": "FIPS compliance of ciphers and protocols" }, "certificate_chain_depth": { "description": "authentication depth is used to set the verification depth in the server\ncertificates chain.\n", "title": "the maximum traversal depth of server certificate chain", "default": 3, "format": "int64", "maximum": 2147483647, "minimum": 1, "type": "integer" }, "is_secure": { "readOnly": true, "type": "boolean", "description": "This flag is set to true when all the ciphers and protocols are secure.\nIt is set to false when one of the ciphers or protocols is insecure.\n", "title": "Secure/Insecure monitor flag" }, "request_url": { "type": "string", "description": "URL used for HTTP monitor", "title": "URL used for HTTP monitor" }, "cipher_group_label": { "description": "It is a label of cipher group which is mostly consumed by GUI.\n", "enum": [ "BALANCED", "HIGH_SECURITY", "HIGH_COMPATIBILITY", "CUSTOM" ], "type": "string" }, "request_version": { "description": "HTTP request version", "default": "HTTP_VERSION_1_1", "enum": [ "HTTP_VERSION_1_0", "HTTP_VERSION_1_1", "HTTP_VERSION_2_0" ], "type": "string" }, "protocols": { "items": { "description": "SSL protocol", "enum": [ "SSL_V2", "SSL_V3", "TLS_V1", "TLS_V1_1", "TLS_V1_2" ], "type": "string" }, "type": "array", "description": "SSL versions TLS1.1 and TLS1.2 are supported and enabled by default.\nSSLv2, SSLv3, and TLS1.0 are supported, but disabled by default.\n", "title": "supported SSL protocol list to servers" } } } ] }, "TraceflowObservationDelivered": { "x-vmw-nsx-module": "Traceflow", "allOf": [ { "$ref": "#/definitions/TraceflowObservation" }, { "x-vmw-nsx-module": "Traceflow", "type": "object", "properties": { "lport_name": { "readOnly": true, "type": "string", "description": "The name of the logical port into which the traceflow packet was delivered", "title": "The name of the logical port into which the traceflow packet was delivered" }, "vlan_id": { "type": "integer", "description": "VLAN on bridged network", "format": "int64" }, "lport_id": { "readOnly": true, "type": "string", "description": "The id of the logical port into which the traceflow packet was delivered", "title": "The id of the logical port into which the traceflow packet was delivered" } } } ] }, "ALGTypeServiceEntry": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/ServiceEntry" }, { "required": [ "alg" ], "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "alg": { "enum": [ "ORACLE_TNS", "FTP", "SUN_RPC_TCP", "SUN_RPC_UDP", "MS_RPC_TCP", "MS_RPC_UDP", "NBNS_BROADCAST", "NBDG_BROADCAST", "TFTP" ], "type": "string" }, "destination_ports": { "items": { "description": "Examples- Single port \"8080\", Range of ports \"8090-8095\"\n", "format": "port-or-range", "type": "string" }, "type": "array", "description": "The destination_port cannot be empty and must be a single value.", "maxItems": 15, "title": "The destination_port cannot be empty and must be a single value." }, "source_ports": { "items": { "description": "Examples- Single port \"8080\", Range of ports \"8090-8095\"\n", "format": "port-or-range", "type": "string" }, "type": "array", "maxItems": 15 } } } ], "description": "An ServiceEntry that represents an ALG protocol", "title": "An ServiceEntry that represents an ALG protocol" }, "StaticRoutes": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "required": [ "next_hops", "network" ], "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "next_hops": { "items": { "$ref": "#/definitions/RouterNexthop" }, "type": "array", "description": "Specify next hop routes for network.\n", "title": "Next hop routes for network" }, "network": { "description": "Specify network address in CIDR format.\n", "format": "address-or-block-or-range", "type": "string" } } } ], "description": "Static routes configuration on Tier-0 or Tier-1.", "title": "Static routes configuration on Tier-0 or on Tier-1" }, "PolicyGroupIPMembersListResult": { "x-vmw-nsx-module": "PolicyGroupRealization", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "PolicyGroupRealization", "type": "object", "properties": { "results": { "items": { "description": "IPElement can be a single IP address, IP address range or a Subnet. Its\ntype can be of IPv4 or IPv6. Supported list of formats are \"192.168.1.1\",\n\"192.168.1.1-192.168.1.100\", \"192.168.0.0/24\",\n\"fe80::250:56ff:fe83:318c\",\n\"fe80::250:56ff:fe83:3181-fe80::250:56ff:fe83:318c\",\n\"fe80::250:56ff:fe83:318c/64\"\n", "format": "address-or-block-or-range", "type": "string" }, "type": "array", "description": "Paged Collection of IP addresses that belong to the given Group", "title": "Paged Collection of IP addresses that belong to the given Group" } } } ], "description": "Paginated collection of IP members belonging to a Group.\n", "title": "Group IP members list result" }, "UpgradeHistoryList": { "x-vmw-nsx-module": "UpgradeTypes", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "UpgradeTypes", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/UpgradeHistory" }, "readOnly": true, "type": "array", "description": "Upgrade history list", "title": "Upgrade history list" } } } ] }, "BridgeClusterNode": { "description": "Bridge transport node", "title": "Bridge transport node", "required": [ "transport_node_id" ], "x-vmw-nsx-module": "BridgeCluster", "type": "object", "properties": { "ha_mac": { "description": "MAC address used for HA protocol", "pattern": "/^(([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2}))|(([0-9A-Fa-f]{2}[-]){5}([0-9A-Fa-f]{2}))$/", "readOnly": true, "type": "string" }, "transport_node_id": { "maxLength": 36, "type": "string", "description": "UUID of the transport node", "title": "UUID of the transport node" } } }, "TransportNodeTemplateListResult": { "x-vmw-nsx-module": "TransportNode", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "TransportNode", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/ComputeCollectionTransportNodeTemplate" }, "readOnly": true, "type": "array", "description": "Compute collection transport node template results", "title": "Compute collection transport node template results" } } } ], "description": "Compute collection transport node template list result", "title": "Compute collection transport node template list result" }, "ICMPTypeServiceEntry": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/ServiceEntry" }, { "required": [ "protocol" ], "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "icmp_code": { "description": "ICMP message code", "format": "int64", "title": "ICMP message code", "maximum": 255, "minimum": 0, "type": "integer" }, "icmp_type": { "description": "ICMP message type", "format": "int64", "title": "ICMP message type", "maximum": 255, "minimum": 0, "type": "integer" }, "protocol": { "enum": [ "ICMPv4", "ICMPv6" ], "type": "string" } } } ], "description": "A ServiceEntry that represents IPv4 or IPv6 ICMP protocol", "title": "A ServiceEntry that represents IPv4 or IPv6 ICMP protocol" }, "NetworkMigrationSpecListResult": { "x-vmw-nsx-module": "TransportNode", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "TransportNode", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/NetworkMigrationSpec" }, "readOnly": true, "type": "array", "description": "Network migration specification template results", "title": "Network migration specification template results" } } } ], "description": "Network migration specification template list result", "title": "Network migration specification template list result" }, "DhcpStaticBinding": { "x-vmw-nsx-module": "Dhcp", "allOf": [ { "$ref": "#/definitions/IpAllocationBase" }, { "x-vmw-nsx-module": "Dhcp", "required": [ "ip_address", "mac_address" ], "type": "object", "properties": { "ip_address": { "description": "ip addres", "format": "ip", "type": "string" }, "host_name": { "format": "hostname", "type": "string", "description": "host name", "title": "host name" }, "mac_address": { "description": "mac address", "pattern": "/^(([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2}))|(([0-9A-Fa-f]{2}[-]){5}([0-9A-Fa-f]{2}))$/", "type": "string" } } } ] }, "PolicyApiError": { "x-vmw-nsx-module": "PolicyRealizedState", "type": "object", "description": "Detailed information about errors from API call to an enforcement point", "properties": { "error_data": { "type": "object", "description": "Additional data about the error", "title": "Additional data about the error" }, "details": { "type": "string", "description": "Further details about the error", "title": "Further details about the error" }, "related_errors": { "items": { "$ref": "#/definitions/PolicyApiError" }, "type": "array", "description": "Other errors related to this error", "title": "Other errors related to this error" }, "module_name": { "type": "string", "description": "The module name where the error occurred", "title": "The module name where the error occurred" }, "error_message": { "type": "string", "description": "A description of the error", "title": "A description of the error" }, "error_code": { "format": "int64", "type": "integer", "description": "A numeric error code", "title": "A numeric error code" } }, "title": "Detailed information about errors from API call to an enforcement point" }, "RoleBindingListResult": { "x-vmw-nsx-module": "AAA", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "AAA", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/RoleBinding" }, "type": "array", "description": "List results", "title": "List results" } } } ] }, "LbHttpRedirectAction": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbRuleAction" }, { "required": [ "redirect_status", "redirect_url" ], "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "redirect_status": { "type": "string", "description": "HTTP response status code", "title": "HTTP response status code" }, "redirect_url": { "type": "string", "description": "The URL that the HTTP request is redirected to", "title": "The URL that the HTTP request is redirected to" } } } ], "description": "This action is used to redirect HTTP request messages to a new URL. The\nreply_status value specified in this action is used as the status code of\nHTTP response message which is sent back to client (Normally a browser).\nThe HTTP status code for redirection is 3xx, for example, 301, 302, 303,\n307, etc. The redirect_url is the new URL that the HTTP request message is\nredirected to. Normally browser will send another HTTP request to the new\nURL after receiving a redirection response message.\nCaptured variables and built-in variables can be used in redirect_url field.\nFor example, to redirect all HTTP requests to HTTPS requests for a virtual\nserver. We create an LbRule without any conditions, add an\nLbHttpRedirectAction to the rule. Set the\nredirect_url field of the LbHttpRedirectAction to:\n https://$_host$_request_uri\nAnd set redirect_status to \"302\", which means found. This rule will\nredirect all HTTP requests to HTTPS server port on the same host.\n", "title": "Action to redirect HTTP request messages" }, "PacketCaptureRequest": { "description": "This type is used to create packet request on give node. Need to specify related parameters according to the capture point.", "title": "Packet capture request information", "required": [ "cappoint", "capsource" ], "x-vmw-nsx-module": "PacketCapture", "type": "object", "properties": { "node": { "type": "string", "description": "Define the transport node to capture data.", "title": "Packet capture node id" }, "cappoint": { "enum": [ "VNIC", "VMKNIC", "VMNIC", "VDRPORT", "DVFILTER", "LOGICALPORT", "VIF" ], "type": "string", "description": "Define the point to capture data.", "title": "Packet capture point" }, "capduration": { "format": "int32", "type": "integer", "description": "Define the packet capture duration time. After the capture duration time, the capture process will stop working.", "title": "Packet capture duration time in seconds" }, "capamount": { "format": "int32", "type": "integer", "description": "Define the packet capture amount size.", "title": "Packet capture amount" }, "capsource": { "enum": [ "CLI", "UI" ], "type": "string", "description": "This type is used to differenite the incoming request from CLI/UI.", "title": "Packet capture source type" }, "filtertype": { "enum": [ "PRE", "POST" ], "type": "string", "description": "Define the capture filter type. Support PRE/POST mode.", "title": "Packet capture dvfilter stage type" }, "direction": { "enum": [ "INPUT", "OUTPUT", "DUAL" ], "type": "string", "description": "Define the capture direction. Support three types INPUT/OUTPUT/DUAL.", "title": "Packet capture direction type" }, "capfilesize": { "format": "int32", "type": "integer", "description": "Define the packet capture file size limit.", "title": "Packet capture file size limit" }, "options": { "title": "Packet capture options", "description": "Define the packet capture additional options to filter the capture data.", "$ref": "#/definitions/PacketCaptureOptionList" }, "streamport": { "format": "int32", "type": "integer", "description": "Set the stream port to receive the capture packet.", "title": "Packet capture Streaming port" }, "caprate": { "format": "int32", "type": "integer", "description": "Define the rate of packet capture process.", "title": "Packet capture rate" }, "capvalue": { "type": "string", "description": "Define the capture value of given capture point.", "title": "Packet capture point value" }, "streamaddress": { "type": "string", "description": "Set the stream address to receive the capture packet.", "title": "Packet capture Streaming address" }, "capmode": { "enum": [ "STANDALONE", "STREAM" ], "type": "string", "description": "Define the capture streaming mode. The STREAM mode will send the data to given stream address and port. And the STANDALONE mode will save the capture file in local folder.", "title": "Packet Capture streaming mode" } } }, "BgpConfig": { "x-vmw-nsx-module": "Routing", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "Routing", "type": "object", "properties": { "as_number": { "description": "This is a deprecated property, Please use 'as_num' instead.", "title": "Autonomous System Number", "format": "int64", "maximum": 4294967296, "x-deprecated": true, "minimum": 1, "type": "integer" }, "logical_router_id": { "readOnly": true, "type": "string", "description": "Logical router id", "title": "Logical router id" }, "graceful_restart": { "default": false, "type": "boolean", "description": "Flag to enable graceful restart", "title": "Flag to enable graceful restart" }, "as_num": { "type": "string", "description": "4 Byte ASN in ASPLAIN/ASDOT Format", "title": "4 Byte ASN in ASPLAIN/ASDOT Format" }, "enabled": { "default": false, "type": "boolean", "description": "Flag to enable this configuration", "title": "Flag to enable this configuration" }, "route_aggregation": { "description": "List of routes to be aggregated", "title": "List of routes to be aggregated", "minItems": 0, "items": { "$ref": "#/definitions/BgpRouteAggregation" }, "maxItems": 1000, "type": "array" }, "ecmp": { "default": true, "type": "boolean", "description": "Flag to enable ECMP", "title": "Flag to enable ECMP" } } } ] }, "IPSetListResult": { "x-vmw-nsx-module": "IPSet", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "IPSet", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/IPSet" }, "type": "array", "description": "IPSet list results", "title": "IPSet list results" } } } ], "description": "Paged collection of IPSets", "title": "Paged collection of IPSets" }, "HostAggregateInfoListResult": { "x-vmw-nsx-module": "NsxQuery", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "NsxQuery", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/HostAggregateInfo" }, "type": "array", "description": "Host Aggregate Info Results", "title": "Host Aggregate Info Results" } } } ], "description": "Host aggregate state list result", "title": "Host aggregate state list result" }, "DataTypeCollectionConfiguration": { "description": "Data type collection configuration", "title": "Data type collection configuration", "required": [ "collection_frequency", "data_type" ], "x-vmw-nsx-module": "AggSvcDataCollectionConfig", "type": "object", "properties": { "collection_frequency": { "description": "The frequency in seconds at which data is collected", "format": "int64", "title": "Data Collection Frequency In Seconds", "maximum": 86400, "minimum": 15, "type": "integer" }, "data_type": { "enum": [ "STATUS", "STATISTICS" ], "type": "string", "description": "Defines the type of data being collected", "title": "Data type" } } }, "FeatureInfo": { "x-vmw-nsx-module": "AAA", "type": "object", "description": "Feature Info", "properties": { "info": { "readOnly": true, "type": "string", "description": "Info", "title": "Info" } }, "title": "Feature Info" }, "IPFIXDFWProfileListResult": { "x-vmw-nsx-module": "PolicyIPFIXDFW", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "PolicyIPFIXDFW", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/IPFIXDFWProfile" }, "type": "array", "description": "IPFIX DFW Profile list results", "title": "IPFIX DFW Profile list results" } } } ], "description": "Paged Collection of IPFIX DFW Profile", "title": "Paged Collection of IPFIX DFW Profile" }, "L2VpnListResult": { "x-vmw-nsx-module": "PolicyL2Vpn", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "PolicyL2Vpn", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/L2Vpn" }, "type": "array", "description": "L2Vpn list results", "title": "L2Vpn list results" } } } ], "description": "Paged Collection of L2Vpns", "title": "Paged Collection of L2Vpns" }, "X509Certificate": { "x-vmw-nsx-module": "CertificateManager", "type": "object", "properties": { "rsa_public_key_modulus": { "readOnly": true, "type": "string", "description": "An RSA public key is made up of the modulus and the public exponent. Modulus is wrap around number" }, "dsa_public_key_y": { "readOnly": true, "type": "string", "description": "One of the DSA cryptogaphic algorithm's strength parameters" }, "is_ca": { "readOnly": true, "type": "boolean", "description": "True if this is a CA certificate" }, "issuer": { "readOnly": true, "type": "string", "description": "the certificate issuers complete distinguished name" }, "not_after": { "description": "the time in epoch milliseconds at which the certificate becomes invalid", "format": "int64", "readOnly": true, "type": "integer" }, "signature": { "readOnly": true, "type": "string", "description": "the signature value(the raw signature bits) used for signing and validate the cert" }, "dsa_public_key_q": { "readOnly": true, "type": "string", "description": "One of the DSA cryptogaphic algorithm's strength parameters, sub-prime" }, "dsa_public_key_p": { "readOnly": true, "type": "string", "description": "One of the DSA cryptogaphic algorithm's strength parameters, prime" }, "rsa_public_key_exponent": { "readOnly": true, "type": "string", "description": "An RSA public key is made up of the modulus and the public exponent. Exponent is a power number" }, "public_key_algo": { "readOnly": true, "enum": [ "RSA", "DSA" ], "type": "string", "description": "Cryptographic algorithm used by the public key for data encryption" }, "is_valid": { "readOnly": true, "type": "boolean", "description": "True if this certificate is valid" }, "issuer_cn": { "readOnly": true, "type": "string", "description": "the certificate issuer's common name" }, "version": { "readOnly": true, "type": "string", "description": "Certificate version (default v1)" }, "subject_cn": { "readOnly": true, "type": "string", "description": "the certificate owner's common name" }, "signature_algorithm": { "readOnly": true, "type": "string", "description": "the algorithm used by the Certificate Authority to sign the certificate" }, "serial_number": { "readOnly": true, "type": "string", "description": "certificate's serial number" }, "dsa_public_key_g": { "readOnly": true, "type": "string", "description": "One of the DSA cryptogaphic algorithm's strength parameters, base" }, "public_key_length": { "readOnly": true, "type": "integer", "description": "size measured in bits of the public/private keys used in a cryptographic algorithm", "format": "int64" }, "not_before": { "description": "the time in epoch milliseconds at which the certificate becomes valid", "format": "int64", "readOnly": true, "type": "integer" }, "subject": { "readOnly": true, "type": "string", "description": "the certificate owners complete distinguished name" } } }, "FeatureStackCollectionConfiguration": { "x-vmw-nsx-module": "AggSvcDataCollectionConfig", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "required": [ "feature_stack_name" ], "x-vmw-nsx-module": "AggSvcDataCollectionConfig", "type": "object", "properties": { "feature_stack_name": { "type": "string", "description": "The name of the feature stack", "title": "Feature stack name" }, "client_type_collection_configurations": { "items": { "$ref": "#/definitions/ClientTypeCollectionConfiguration" }, "type": "array", "description": "The set of client type data collection configurations", "title": "Client type collection configurations" } } } ], "description": "HPM feature stack data collection frequency configuration", "title": "HPM feature stack data collection frequency configuration" }, "L2VpnTunnelEncapsulation": { "x-vmw-nsx-module": "L2VPN", "type": "object", "description": "L2VPN tunnel encapsulation config", "properties": { "local_endpoint_ip": { "description": "IP Address of the tunnel port. The IP are allocated from L2VpnService logical_tap_ip_pool. All sessions on same L2VpnService get the same local_endpoint_ip.", "format": "ipv4", "type": "string" }, "protocol": { "default": "GRE", "enum": [ "GRE" ], "type": "string", "description": "Encapsulation protocol used by the tunnel", "title": "Encapsulation protocol" }, "peer_endpoint_ip": { "description": "IP Address of the peer tunnel port. The IP are allocated from L2VpnService logical_tap_ip_pool.", "format": "ipv4", "type": "string" } }, "title": "L2VPN tunnel encapsulation config" }, "LogicalRouterLinkPortOnTIER0": { "x-vmw-nsx-module": "LogicalRouterPorts", "allOf": [ { "$ref": "#/definitions/LogicalRouterPort" }, { "x-vmw-nsx-module": "LogicalRouterPorts", "type": "object", "properties": { "subnets": { "items": { "$ref": "#/definitions/IPSubnet" }, "readOnly": true, "type": "array", "description": "Logical router port subnets", "title": "Logical router port subnets" }, "linked_logical_router_port_id": { "readOnly": true, "type": "string", "description": "Identifier of connected LogicalRouterLinkPortOnTIER1 of TIER1 logical router", "title": "Identifier of connected LogicalRouterLinkPortOnTIER1" }, "mac_address": { "readOnly": true, "type": "string", "description": "MAC address", "title": "MAC address" } } } ], "description": "This port can be configured only on a TIER0 LogicalRouter.\nCreate an empty port to generate an id.\nUse this id in the linked_logical_router_port_id on\nLogicalRouterLinkPortOnTIER1 on TIER1 logical router.\n", "title": "Port to connect the LogicalRouterLinkPortOnTIER1 of TIER1 logical router to" }, "LogicalRouterLinkPortOnTIER1": { "x-vmw-nsx-module": "LogicalRouterPorts", "allOf": [ { "$ref": "#/definitions/LogicalRouterPort" }, { "x-vmw-nsx-module": "LogicalRouterPorts", "type": "object", "properties": { "subnets": { "items": { "$ref": "#/definitions/IPSubnet" }, "readOnly": true, "type": "array", "description": "Logical router port subnets", "title": "Logical router port subnets" }, "mac_address": { "readOnly": true, "type": "string", "description": "MAC address", "title": "MAC address" }, "linked_logical_router_port_id": { "title": "Reference of TIER0 port to connect the TIER1 to.", "description": "Reference of LogicalRouterLinkPortOnTIER0 of TIER0 logical router to connect this TIER1 logical router outwards.\n", "$ref": "#/definitions/ResourceReference" }, "edge_cluster_member_index": { "items": { "type": "integer", "format": "int64" }, "type": "array", "description": "Please use logical router API to pass edge cluster members indexes manually.\n", "x-deprecated": true, "title": "Member index of the edge node on the cluster" } } } ], "description": "This port can be configured only on a TIER1 LogicalRouter.\nUse the id of the LogicalRouterLinkPortOnTIER0 from TIER0 logical router to set\nthe linked_logical_router_port_id on the port on TIER1 logical router.\n", "title": "Port to connect the TIER1 logical router to TIER0 logical router" }, "ComputeCollectionTransportNodeTemplate": { "x-vmw-nsx-module": "TransportNode", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "required": [ "compute_collection_ids" ], "x-vmw-nsx-module": "TransportNode", "type": "object", "properties": { "host_switch_spec": { "title": "Transport node host switch specification", "description": "Property 'host_switch_spec' can be used to create either standard host switch or preconfigured host switch.", "$ref": "#/definitions/HostSwitchSpec" }, "transport_zone_endpoints": { "items": { "$ref": "#/definitions/TransportZoneEndPoint" }, "type": "array", "description": "Transport zone endpoints", "title": "Transport zone endpoints" }, "network_migration_spec_ids": { "items": { "$ref": "#/definitions/NetworkMigrationSpecTypeIdEntry" }, "type": "array", "description": "Property 'network_migration_spec_ids' should only be used for compute collections which are clusters in VMware vCenter. Currently only HostProfileNetworkMigrationSpec type is supported. This specification will only apply to Stateless ESX hosts which are under this vCenter cluster.", "maxItems": 1, "title": "Id(s) of Network migration specifications to be linked to compute collections" }, "compute_collection_ids": { "description": "Associated compute collection ids", "title": "Associated compute collection ids", "minItems": 1, "items": { "type": "string", "title": "Compute collection id" }, "maxItems": 1, "type": "array" } } } ], "description": "Compute collection transport node template", "title": "Compute collection transport node template" }, "ChildEnforcementPoint": { "x-vmw-nsx-module": "PolicyEnforcementPointManagement", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "EnforcementPoint" ], "x-vmw-nsx-module": "PolicyEnforcementPointManagement", "type": "object", "properties": { "EnforcementPoint": { "title": "EnforcementPoint", "description": "Contains the actual Enforcement point object\n", "$ref": "#/definitions/EnforcementPoint" } } } ], "description": "Child wrapper object for EnforcementPoint, used in hierarchical API", "title": "Wrapper object for EnforcementPoint" }, "EdgeClusterMemberAllocationProfile": { "x-vmw-nsx-module": "LogicalRouter", "type": "object", "properties": { "allocation_pool": { "title": "Edge Cluster Member Allocation Pool for logical router", "description": "Logical router allocation can be tracked for specific services and\nservices may have their own hard limits and allocation sizes. For\nexample load balancer pool should be specified if load balancer\nservice will be attached to logical router.\n", "$ref": "#/definitions/EdgeClusterMemberAllocationPool" } } }, "TransportNode": { "x-vmw-nsx-module": "TransportNode", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "required": [ "node_id" ], "x-vmw-nsx-module": "TransportNode", "type": "object", "properties": { "host_switches": { "items": { "$ref": "#/definitions/HostSwitch" }, "type": "array", "description": "This property is deprecated in favor of 'host_switch_spec'. Property 'host_switches' can only be used for NSX managed transport nodes. 'host_switch_spec' can be used for both NSX managed or manually preconfigured host switches.", "x-deprecated": true, "title": "Transport Node switch(s). Prefer host_switch_spec over this." }, "host_switch_spec": { "title": "Transport node host switch specification", "description": "This property is used to either create standard host switches\nor to inform NSX about preconfigured host switches that already\nexist on the transport node.\n\nPass an array of either StandardHostSwitchSpec objects or\nPreconfiguredHostSwitchSpec objects. It is an error to pass\nan array containing different types of HostSwitchSpec objects.\n", "$ref": "#/definitions/HostSwitchSpec" }, "node_id": { "type": "string", "description": "Unique Id of the fabric node", "title": "Unique Id of the fabric node" }, "maintenance_mode": { "readOnly": true, "enum": [ "ENABLED", "FORCE_ENABLED", "DISABLED" ], "type": "string", "description": "The property is read-only, used for querying result. User could update transport node maintenance mode by UpdateTransportNodeMaintenanceMode call.", "title": "transport node maintenance mode desired state" }, "transport_zone_endpoints": { "items": { "$ref": "#/definitions/TransportZoneEndPoint" }, "type": "array", "description": "Transport zone endpoints.", "title": "Transport zone endpoints." } } } ], "description": "Transport Node", "title": "Transport Node" }, "NodeStatusProperties": { "x-vmw-nsx-module": "ApplianceStats", "allOf": [ { "$ref": "#/definitions/Resource" }, { "x-vmw-nsx-module": "ApplianceStats", "type": "object", "properties": { "load_average": { "items": { "type": "number" }, "readOnly": true, "type": "array", "description": "One, five, and fifteen minute load averages for the system", "title": "One, five, and fifteen minute load averages for the system" }, "swap_used": { "readOnly": true, "format": "int64", "type": "integer", "description": "Amount of swap disk in use, in kilobytes", "title": "Amount of swap disk in use, in kilobytes" }, "mem_used": { "readOnly": true, "format": "int64", "type": "integer", "description": "Amount of RAM in use on the system, in kilobytes", "title": "Amount of RAM in use on the system, in kilobytes" }, "swap_total": { "readOnly": true, "format": "int64", "type": "integer", "description": "Amount of disk available for swap, in kilobytes", "title": "Amount of disk available for swap, in kilobytes" }, "system_time": { "description": "Current time expressed in milliseconds since epoch", "format": "int64", "readOnly": true, "type": "integer" }, "cpu_cores": { "readOnly": true, "format": "int64", "type": "integer", "description": "Number of CPU cores on the system", "title": "Number of CPU cores on the system" }, "uptime": { "readOnly": true, "format": "int64", "type": "integer", "description": "Milliseconds since system start", "title": "Milliseconds since system start" }, "mem_cache": { "readOnly": true, "format": "int64", "type": "integer", "description": "Amount of RAM on the system that can be flushed out to disk, in kilobytes", "title": "Amount of RAM on the system that can be flushed out to disk, in kilobytes" }, "mem_total": { "readOnly": true, "format": "int64", "type": "integer", "description": "Amount of RAM allocated to the system, in kilobytes", "title": "Amount of RAM allocated to the system, in kilobytes" }, "file_systems": { "items": { "$ref": "#/definitions/NodeFileSystemProperties" }, "readOnly": true, "type": "array", "description": "File systems configured on the system", "title": "File systems configured on the system" }, "source": { "description": "Source of status data.", "enum": [ "realtime", "cached" ], "readOnly": true, "type": "string" } } } ], "description": "Node status properties", "title": "Node status properties" }, "LogicalRouterLoopbackPort": { "x-vmw-nsx-module": "LogicalRouterPorts", "allOf": [ { "$ref": "#/definitions/LogicalRouterPort" }, { "x-vmw-nsx-module": "LogicalRouterPorts", "required": [ "subnets", "edge_cluster_member_index" ], "type": "object", "properties": { "subnets": { "description": "Loopback port subnets", "title": "Loopback port subnets", "minItems": 1, "items": { "$ref": "#/definitions/IPSubnet" }, "maxItems": 1, "type": "array" }, "edge_cluster_member_index": { "items": { "type": "integer", "format": "int64" }, "type": "array", "description": "Member index of the edge node on the cluster", "title": "Member index of the edge node on the cluster" } } } ] }, "ManagementClusterRoleConfig": { "x-vmw-nsx-module": "ClusterManagement", "allOf": [ { "$ref": "#/definitions/ClusterRoleConfig" }, { "x-vmw-nsx-module": "ClusterManagement", "type": "object", "properties": { "mgmt_cluster_listen_addr": { "readOnly": true, "title": "The IP and port for the management cluster service on this node", "description": "The IP and port for the management cluster service on this node", "$ref": "#/definitions/ServiceEndpoint" }, "mpa_msg_client_info": { "$ref": "#/definitions/MsgClientInfo" }, "api_listen_addr": { "readOnly": true, "title": "The IP and port for the public API service on this node", "description": "The IP and port for the public API service on this node", "$ref": "#/definitions/ServiceEndpoint" }, "mgmt_plane_listen_addr": { "readOnly": true, "title": "The IP and port for the management plane service on this node", "description": "The IP and port for the management plane service on this node", "$ref": "#/definitions/ServiceEndpoint" } } } ] }, "L3VpnListResult": { "x-vmw-nsx-module": "PolicyL3Vpn", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "PolicyL3Vpn", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/L3Vpn" }, "type": "array", "description": "L3Vpn list results", "title": "L3Vpn list results" } } } ], "description": "Paged Collection of L3Vpns", "title": "Paged Collection of L3Vpns" }, "IPSecVpnIkeSessionStatus": { "x-vmw-nsx-module": "PolicyStatistics", "type": "object", "description": "Status for IPSec VPN Ike session UP, DOWN, NEGOTIATING and fail reason if Ike session\nis down.\n", "properties": { "fail_reason": { "readOnly": true, "type": "string", "description": "Reason for failure.\n", "title": "Fail reason" }, "ike_session_state": { "readOnly": true, "enum": [ "UP", "DOWN", "NEGOTIATING" ], "type": "string", "description": "Ike session service status UP, DOWN and NEGOTIATING.\n", "title": "Ike session state" } }, "title": "Ike session status" }, "ComputeCollectionFabricTemplateListResult": { "x-vmw-nsx-module": "ComputeCollectionHostPrepFabricService", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "ComputeCollectionHostPrepFabricService", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/ComputeCollectionFabricTemplate" }, "readOnly": true, "type": "array", "description": "List of compute collection fabric template", "title": "List of compute collection fabric template" } } } ], "description": "List of compute collection fabric template", "title": "List of compute collection fabric template" }, "LbTcpProfileListResult": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "LoadBalancer", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/LbTcpProfile" }, "type": "array", "description": "Paginated list of load balancer TCP profiles", "title": "Paginated list of load balancer TCP profiles" } } } ] }, "SecurityPolicy": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "rules": { "items": { "$ref": "#/definitions/Rule" }, "type": "array", "description": "Rules that are a part of this SecurityPolicy", "title": "Rules that are a part of this SecurityPolicy" }, "category": { "type": "string", "description": "Policy framework provides four pre-defined categories for classifying\na security policy. They are \"Emergency\", \"Infrastructure\"\n\"Environmental\" and \"Application\". There is a pre-determined order in\nwhich the policy framework manages the priority of these security\npolicies. Emergency category has the highest priority followed by\nInfrastructure, Environmental and then Application rules. Administrator\ncan choose to categorize a security policy into the above categories\nor can choose to leave it empty. If empty it will have the least\nprecedence w.r.t the above four categories.\n", "title": "A way to classify a security policy, if needed." }, "sequence_number": { "format": "int32", "type": "integer", "description": "This field is used to resolve conflicts between security policies\nacross domains. In order to change the precedence of a security\npolicy, it is recommended to send a PUT request to the following URL\n/infra/domains//security-policy?action=revise\nThe precedence field will reflect the value of the computed precedence\nupon execution of the above mentioned PUT request.\nFor scenarios where the administrator is using a template to update\nseveral security policies, the only way to set the precedence is to\nexplicitly specify the sequence number for each security policy.\n", "title": "Sequence number to resolve conflicts across Domains" } } } ], "description": "Ordered list of Rules. This object is created by default along with the Domain.\n", "title": "Contains ordered list of Rules" }, "ConstraintTarget": { "description": "Resource attribute on which constraint should be applied.\nExample - sourceGroups attribute of Edge CommunicationEntry to be\n restricted, is given as:\n {\n \"target_resource_type\":\"CommunicationEntry\",\n \"attribute\":\"sourceGroups\",\n \"path_prefix\":\"/infra/domains/vmc-domain/edge-communication-maps/default/communication-entries\"\n }\n", "title": "Resource attribute on which constraint should be applied.", "required": [ "target_resource_type" ], "x-vmw-nsx-module": "PolicyConstraints", "type": "object", "properties": { "attribute": { "type": "string", "description": "Attribute name of the target entity.", "title": "Attribute name of the target entity." }, "path_prefix": { "type": "string", "description": "Path prefix of the entity to apply constraint.\nThis is required to further disambiguiate if multiple policy entities\nshare the same resource type.\nExample - Edge FW and DFW use the same resource type CommunicationMap,\nCommunicationEntry, Group, etc.\n", "title": "Path prefix of the entity to apply constraint.\nThis is required to further disambiguiate if multiple policy entities\nshare the same resource type.\nExample - Edge FW and DFW use the same resource type CommunicationMap,\nCommunicationEntry, Group, etc.\n" }, "target_resource_type": { "type": "string", "description": "Resource type of the target entity.", "title": "Resource type of the target entity." } } }, "DhcpFilter": { "description": "DHCP filtering configuration", "title": "DHCP filtering configuration", "required": [ "client_block_enabled", "server_block_enabled" ], "x-vmw-nsx-module": "SwitchSecuritySwitchingProfile", "type": "object", "properties": { "client_block_enabled": { "readOnly": false, "type": "boolean", "description": "Indicates whether DHCP client blocking is enabled", "title": "Indicates whether DHCP client blocking is enabled" }, "server_block_enabled": { "readOnly": false, "type": "boolean", "description": "Indicates whether DHCP server blocking is enabled", "title": "Indicates whether DHCP server blocking is enabled" } } }, "IGMPTypeNSService": { "x-vmw-nsx-module": "Types", "allOf": [ { "$ref": "#/definitions/NSServiceElement" }, { "x-vmw-nsx-module": "Types", "type": "object" } ], "description": "A NSService that represents IGMP protocol", "title": "A NSService that represents IGMP protocol" }, "BridgeEndpointProfileListResult": { "x-vmw-nsx-module": "BridgeEndpointProfile", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "BridgeEndpointProfile", "type": "object", "properties": { "results": { "description": "BridgeEndpointProfile Results", "title": "BridgeEndpointProfile Results", "minItems": 0, "items": { "$ref": "#/definitions/BridgeEndpointProfile" }, "readOnly": true, "type": "array" } } } ], "description": "Bridge Endpoint Profile queries result", "title": "Bridge Endpoint Profile queries result" }, "StaticHopBfdPeer": { "x-vmw-nsx-module": "Routing", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "Routing", "required": [ "peer_ip_address" ], "type": "object", "properties": { "source_addresses": { "items": { "description": "IPv4 address", "format": "ipv4", "type": "string" }, "type": "array", "description": "BFD peers will be created from all these source addresses to this neighbour.", "maxItems": 1, "title": "Array of Logical Router Uplink IP Addresses" }, "bfd_config": { "title": "Configuration for the BFD peer", "description": "If not specified then BFD peer will inherit configuration from the BFD global config.", "$ref": "#/definitions/BfdConfigParameters" }, "enabled": { "default": true, "type": "boolean", "description": "Indicate BFD peer is enabled or disabled. Default is true.", "title": "status of BFD peer" }, "peer_ip_address": { "description": "IP address of BFD peer. This should be same as next hop IP address.", "format": "ipv4", "type": "string" } } } ] }, "RedistributionRuleList": { "x-vmw-nsx-module": "Routing", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "Routing", "type": "object", "properties": { "rules": { "description": "List of redistribution rules.\nUser needs to re-order rules to change the priority.\n", "title": "List of redistribution rules.\nUser needs to re-order rules to change the priority.\n", "default": [], "items": { "$ref": "#/definitions/RedistributionRule" }, "minItems": 0, "maxItems": 5, "type": "array" }, "logical_router_id": { "readOnly": true, "type": "string", "description": "Logical router id", "title": "Logical router id" } } } ] }, "BridgeHighAvailabilityClusterProfile": { "x-vmw-nsx-module": "BridgeHighAvailabilityClusterProfile", "allOf": [ { "$ref": "#/definitions/ClusterProfile" }, { "x-vmw-nsx-module": "BridgeHighAvailabilityClusterProfile", "type": "object", "properties": { "enable": { "default": true, "type": "boolean", "description": "whether the heartbeat is enabled", "title": "whether the heartbeat is enabled" }, "bfd_probe_interval": { "description": "the time interval (in millisec) between probe packets for heartbeat purpose", "title": "the time interval (in millisec) between probe packets for heartbeat purpose", "default": 1000, "format": "int64", "maximum": 60000, "minimum": 300, "type": "integer" } } } ], "description": "Profile for BFD HA cluster setting", "title": "Profile for BFD HA cluster setting" }, "TunnelProperties": { "x-vmw-nsx-module": "Tunnel", "allOf": [ { "$ref": "#/definitions/Resource" }, { "x-vmw-nsx-module": "Tunnel", "type": "object", "properties": { "status": { "readOnly": true, "enum": [ "UP", "DOWN", "UNKNOWN" ], "type": "string", "description": "Status of tunnel", "title": "Status of tunnel" }, "egress_interface": { "readOnly": true, "type": "string", "description": "Corresponds to the interface where local_ip_address is routed.", "title": "Name of local transport interface carrying tunnel traffic" }, "remote_node_display_name": { "readOnly": true, "type": "string", "description": "Represents the display name of the remote transport node at the other end of the tunnel.", "title": "Display name of the remote transport node" }, "remote_node_id": { "readOnly": true, "type": "string", "description": "UUID of the remote transport node", "title": "UUID of the remote transport node" }, "encap": { "readOnly": true, "enum": [ "STT", "VXLAN", "GENEVE", "UNKNOWN_ENCAP" ], "type": "string", "description": "Tunnel encap", "title": "Tunnel encap" }, "bfd": { "readOnly": true, "title": "Detailed information about BFD configured on interface", "description": "Detailed information about BFD configured on interface", "$ref": "#/definitions/BFDProperties" }, "name": { "readOnly": true, "type": "string", "description": "Name of tunnel", "title": "Name of tunnel" }, "local_ip": { "readOnly": true, "format": "ip", "type": "string", "description": "Local IP address of tunnel", "title": "Local IP address of tunnel" }, "last_updated_time": { "description": "Time at which the Tunnel status has been fetched last time.", "format": "int64", "readOnly": true, "type": "integer" }, "remote_ip": { "readOnly": true, "format": "ip", "type": "string", "description": "Remote IP address of tunnel", "title": "Remote IP address of tunnel" } } } ] }, "RealizedMACSetListResult": { "x-vmw-nsx-module": "PolicyRealizedState", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "PolicyRealizedState", "type": "object", "properties": { "results": { "items": { "title": "Realized MACSet list result", "$ref": "#/definitions/RealizedMACSet" }, "type": "array", "description": "Paged Collection of Realized MACSets", "title": "Paged Collection of Realized MACSets" } } } ] }, "NiocProfile": { "x-vmw-nsx-module": "NiocProfile", "allOf": [ { "$ref": "#/definitions/BaseHostSwitchProfile" }, { "x-vmw-nsx-module": "NiocProfile", "type": "object", "properties": { "host_infra_traffic_res": { "items": { "$ref": "#/definitions/ResourceAllocation" }, "type": "array", "description": "host_infra_traffic_res specifies bandwidth allocation for\nvarious traffic resources.\n", "title": "Resource allocation associated with NiocProfile" }, "enabled": { "default": true, "type": "boolean", "description": "The enabled property specifies the status of NIOC feature.\nWhen enabled is set to true, NIOC feature is turned on and\nthe bandwidth allocations specified for the traffic resources\nare enforced. When enabled is set to false, NIOC feature\nis turned off and no bandwidth allocation is guaranteed.\nBy default, enabled will be set to true.\n", "title": "Enabled status of NIOC feature" } } } ], "description": "This profile is created for Network I/O Control(NIOC).\n", "title": "Profile for Nioc" }, "NodeInterfaceProperties": { "x-vmw-nsx-module": "ApplianceStats", "type": "object", "description": "Node network interface properties", "properties": { "source": { "description": "Source of status data", "enum": [ "realtime", "cached" ], "type": "string" }, "admin_status": { "enum": [ "UP", "DOWN" ], "type": "string", "description": "Interface administration status", "title": "Interface administration status" }, "link_status": { "enum": [ "UP", "DOWN" ], "type": "string", "description": "Interface administration status", "title": "Interface administration status" }, "interface_alias": { "items": { "$ref": "#/definitions/NodeInterfaceAlias" }, "type": "array", "description": "IP Alias", "title": "IP Alias" }, "ens_enabled": { "type": "boolean", "description": "Indicates whether interface is enabled for Enhanced Networking Stack", "title": "Indicates whether interface is enabled for Enhanced Networking Stack" }, "interface_type": { "enum": [ "PHYSICAL", "VIRTUAL" ], "type": "string", "description": "Interface Type", "title": "Interface Type" }, "interface_id": { "type": "string", "description": "Interface ID", "title": "Interface ID" }, "connected_switch": { "type": "string", "description": "Connected switch", "title": "Connected switch" }, "ens_capable": { "type": "boolean", "description": "Interface capability for Enhanced Networking Stack", "title": "Interface capability for Enhanced Networking Stack" }, "mtu": { "format": "int64", "type": "integer", "description": "Interface MTU", "title": "Interface MTU" } }, "title": "Node network interface properties" }, "RealizedSecurityGroupMemberEvaluation": { "x-vmw-nsx-module": "PolicyRealizedState", "allOf": [ { "$ref": "#/definitions/PolicyRealizedResource" }, { "x-vmw-nsx-module": "PolicyRealizedState", "type": "object", "properties": { "virtual_machines": { "items": { "$ref": "#/definitions/RealizedVirtualMachine" }, "readOnly": true, "type": "array", "description": "list of virtual machines", "title": "list of virtual machines" }, "member_count": { "readOnly": true, "format": "int64", "type": "integer", "description": "Count of the members added to this Security Group", "title": "Count of the members added to this Security Group" } } } ], "description": "Realized Security Group member evaluation", "title": "Realized Security Group member evaluation" }, "IPSecVPNLocalEndpoint": { "x-vmw-nsx-module": "IPSecVPN", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "required": [ "ipsec_vpn_service_id", "local_address" ], "x-vmw-nsx-module": "IPSecVPN", "type": "object", "properties": { "ipsec_vpn_service_id": { "title": "VPN Service id", "description": "VPN Service id.", "$ref": "#/definitions/ResourceReference" }, "trust_ca_ids": { "items": { "type": "string" }, "type": "array", "description": "Certificate authority (CA) identifier list to verify peer certificates. Field is marked for future use. Certificate based authentication is not supported.", "title": "Certificate authority (CA) identifiers" }, "local_id": { "type": "string", "description": "Local identifier.", "title": "Local identifier" }, "local_address": { "description": "IPV4 Address for local endpoint.", "format": "ipv4", "type": "string" }, "certificate_id": { "type": "string", "description": "Site certificate identifier. Field is marked for future use. Certificate based authentication is not supported.", "title": "Certificate Id" }, "trust_crl_ids": { "items": { "type": "string" }, "type": "array", "description": "Certificate revocation list (CRL) identifier list to peer certificates. Field is marked for future use. Certificate based authentication is not supported.", "title": "Certificate revocation list (CRL) Identifiers" } } } ], "description": "Local endpoint represents a logical router on which tunnel needs to be terminated.", "title": "IPSec VPN Local Endpoint" }, "RoutesPerTransportNode": { "x-vmw-nsx-module": "AggSvcLogicalRouter", "type": "object", "description": "BGP routes per transport node.", "properties": { "routes": { "description": "Array of BGP neighbor route details for this transport node.\n", "title": "BGP neighbor route details", "items": { "$ref": "#/definitions/RouteDetails" }, "readOnly": true, "additionalProperties": false, "type": "array" }, "source_address": { "description": "BGP neighbor source address.", "format": "ipv4", "readOnly": true, "type": "string" }, "transport_node_id": { "readOnly": true, "type": "string", "description": "Transport node id", "title": "Transport node id" } }, "title": "Routes per transport node" }, "FeatureUsageList": { "x-vmw-nsx-module": "License", "description": "list of feature usage items", "allOf": [ { "$ref": "#/definitions/Resource" }, { "x-vmw-nsx-module": "License", "type": "object", "properties": { "feature_usage_info": { "items": { "$ref": "#/definitions/FeatureUsage" }, "readOnly": true, "type": "array", "description": "Feature Usage List", "title": "Feature Usage List" } } } ] }, "DSRule": { "x-vmw-nsx-module": "DistributedServices", "allOf": [ { "$ref": "#/definitions/EmbeddedResource" }, { "x-vmw-nsx-module": "DistributedServices", "required": [ "action" ], "type": "object", "properties": { "is_default": { "readOnly": true, "type": "boolean", "description": "Flag to indicate whether rule is default.", "title": "Default rule" }, "direction": { "description": "Rule direction in case of stateless distributed service rules. This will only considered if section level parameter is set to stateless. Default to IN_OUT if not specified.", "title": "Rule direction", "default": "IN_OUT", "enum": [ "IN", "OUT", "IN_OUT" ], "readOnly": false, "type": "string" }, "rule_tag": { "readOnly": false, "maxLength": 32, "type": "string", "description": "User level field which will be printed in CLI and packet logs.", "title": "Tag" }, "ip_protocol": { "description": "Type of IP packet that should be matched while enforcing the rule.", "title": "IPv4 vs IPv6 packet type", "default": "IPV4_IPV6", "enum": [ "IPV4", "IPV6", "IPV4_IPV6" ], "readOnly": false, "type": "string" }, "notes": { "readOnly": false, "maxLength": 2048, "type": "string", "description": "User notes specific to the rule.", "title": "Notes" }, "applied_tos": { "description": "List of object where rule will be enforced. The section level field overrides this one. Null will be treated as any.", "title": "AppliedTo List", "items": { "$ref": "#/definitions/ResourceReference" }, "readOnly": false, "maxItems": 128, "type": "array" }, "logged": { "default": false, "readOnly": false, "type": "boolean", "description": "Flag to enable packet logging. Default is disabled.", "title": "Enable logging flag" }, "disabled": { "default": false, "readOnly": false, "type": "boolean", "description": "Flag to disable rule. Disabled will only be persisted but never provisioned/realized.", "title": "Rule enable/disable flag" }, "sources": { "description": "List of sources. Null will be treated as any.", "title": "Source List", "items": { "$ref": "#/definitions/ResourceReference" }, "readOnly": false, "maxItems": 128, "type": "array" }, "services": { "description": "List of the services. Null will be treated as any.", "title": "Service List", "items": { "$ref": "#/definitions/DSService" }, "readOnly": false, "maxItems": 128, "type": "array" }, "action": { "readOnly": false, "enum": [ "ALLOW", "DROP", "REJECT", "REDIRECT", "DO_NOT_REDIRECT" ], "type": "string", "description": "Action enforced on the packets which matches the distributed service rule. Currently DS Layer supports below actions. ALLOW - Forward any packet when a rule with this action gets a match (Used by Firewall). DROP - Drop any packet when a rule with this action gets a match. Packets won't go further(Used by Firewall). REJECT - Terminate TCP connection by sending TCP reset for a packet when a rule with this action gets a match (Used by Firewall). REDIRECT - Redirect any packet to a partner appliance when a rule with this action gets a match (Used by Service Insertion). DO_NOT_REDIRECT - Do not redirect any packet to a partner appliance when a rule with this action gets a match (Used by Service Insertion).", "title": "Action" }, "sources_excluded": { "default": false, "readOnly": false, "type": "boolean", "description": "Negation of the source.", "title": "Negation of source" }, "destinations_excluded": { "default": false, "readOnly": false, "type": "boolean", "description": "Negation of the destination.", "title": "Negation of destination" }, "destinations": { "description": "List of the destinations. Null will be treated as any.", "title": "Destination List", "items": { "$ref": "#/definitions/ResourceReference" }, "readOnly": false, "maxItems": 128, "type": "array" } } } ] }, "L2VpnServiceListResult": { "x-vmw-nsx-module": "L2VPN", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "L2VPN", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/L2VpnService" }, "type": "array", "description": "L2VPN serivce list result", "title": "L2VPN serivce list result" } } } ], "description": "Paginated list all the L2VPN services.", "title": "List all L2VPN services" }, "RealizedNSGroup": { "x-vmw-nsx-module": "PolicyRealizedState", "allOf": [ { "$ref": "#/definitions/RealizedGroup" }, { "x-vmw-nsx-module": "PolicyRealizedState", "type": "object", "properties": { "evaluations": { "description": "Reference to the evaluated members of the NSGroup.\n", "title": "Evaluated members of NSGroup", "items": { "$ref": "#/definitions/RealizedNSGroupMemberEvaluation" }, "readOnly": true, "maxItems": 500, "type": "array" } } } ], "description": "Realized Network and Security Group", "title": "Realized Network and Security Group" }, "ChildLBVirtualServer": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "LBVirtualServer" ], "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "LBVirtualServer": { "title": "LBVirtualServer", "description": "Contains the actual LBVirtualServer object\n", "$ref": "#/definitions/LBVirtualServer" } } } ], "description": "Child wrapper for LBVirtualServer, used in hierarchical API\n", "title": "Wrapper object for LBVirtualServer" }, "Endpoint": { "x-vmw-nsx-module": "TransportNode", "type": "object", "description": "An Endpoint object is part of HostSwitch configuration in TransportNode", "properties": { "subnet_mask": { "description": "Subnet mask", "format": "ip", "readOnly": true, "type": "string" }, "mac": { "description": "MAC address", "pattern": "/^(([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2}))|(([0-9A-Fa-f]{2}[-]){5}([0-9A-Fa-f]{2}))$/", "readOnly": true, "type": "string" }, "default_gateway": { "description": "Gateway IP", "format": "ip", "readOnly": true, "type": "string" }, "ip": { "description": "Depending upon the EndpointIpConfig used in HostSwitch, IP could be allocated either from DHCP (default) or from Static IP Pool.", "format": "ip", "readOnly": true, "type": "string" }, "device_name": { "readOnly": true, "type": "string", "description": "Name of the virtual tunnel endpoint", "title": "Name of the virtual tunnel endpoint" }, "label": { "readOnly": true, "format": "int32", "type": "integer", "description": "Unique label for this Endpoint", "title": "Unique label for this Endpoint" } }, "title": "Tunnel endpoint configuration" }, "UplinkHostSwitchProfile": { "x-vmw-nsx-module": "UplinkHostSwitchProfile", "allOf": [ { "$ref": "#/definitions/BaseHostSwitchProfile" }, { "required": [ "teaming" ], "x-vmw-nsx-module": "UplinkHostSwitchProfile", "type": "object", "properties": { "lags": { "items": { "$ref": "#/definitions/Lag" }, "type": "array", "description": "list of LACP group", "maxItems": 64, "title": "list of LACP group" }, "transport_vlan": { "description": "VLAN used for tagging Overlay traffic of associated HostSwitch", "format": "int64", "default": 0, "type": "integer" }, "teaming": { "title": "Default TeamingPolicy associated with this UplinkProfile", "description": "Default TeamingPolicy associated with this UplinkProfile", "$ref": "#/definitions/TeamingPolicy" }, "overlay_encap": { "default": "GENEVE", "enum": [ "VXLAN", "GENEVE" ], "type": "string", "description": "The protocol used to encapsulate overlay traffic", "title": "The protocol used to encapsulate overlay traffic" }, "named_teamings": { "items": { "$ref": "#/definitions/NamedTeamingPolicy" }, "type": "array", "description": "List of named uplink teaming policies that can be used by logical switches", "maxItems": 32, "title": "List of named uplink teaming policies that can be used by logical switches" }, "mtu": { "description": "Maximum Transmission Unit used for uplinks", "title": "Maximum Transmission Unit used for uplinks", "default": 1600, "format": "int32", "maximum": 9000, "minimum": 1280, "type": "integer" } } } ], "description": "Profile for uplink policies", "title": "Profile for uplink policies" }, "DhcpRelayConfigListResult": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/DhcpRelayConfig" }, "type": "array", "description": "DhcpRelayConfig results", "title": "DhcpRelayConfig results" } } } ], "description": "Paged collection of DhcpRelayConfigs", "title": "Paged collection of DhcpRelayConfigs" }, "VsphereDeploymentConfig": { "x-vmw-nsx-module": "FabricNode", "description": "The Vsphere deployment configuration determines where to deploy the edge\nnode. It contains settings that are applied during install time.\nIf using DHCP, you must leave the following fields unset: search_domains,\nmanagement_port_subnets, dns_servers and default_gateway_addresses.\n", "allOf": [ { "$ref": "#/definitions/DeploymentConfig" }, { "x-vmw-nsx-module": "FabricNode", "required": [ "data_network_ids", "hostname", "management_network_id", "compute_id", "vc_id", "storage_id" ], "type": "object", "properties": { "data_network_ids": { "description": "List of distributed portgroup or VLAN logical identifiers to which the\ndatapath serving vnics of edge node vm will be connected.\n", "title": "Portgroup or logical switch identifiers for datapath connectivity.", "minItems": 3, "items": { "type": "string" }, "maxItems": 3, "type": "array" }, "dns_servers": { "items": { "description": "IPv4 or IPv6 address", "format": "ip", "type": "string" }, "type": "array", "description": "List of DNS servers.\n", "title": "DNS servers." }, "ntp_servers": { "items": { "description": "IPv4 or IPv6 address", "format": "ip", "type": "string" }, "type": "array", "description": "List of NTP servers.\n", "title": "NTP servers." }, "management_network_id": { "type": "string", "description": "Distributed portgroup identifier to which the management vnic of edge node vm\nwill be connected. This portgroup must have connectivity with MP and CCP. A\nVLAN logical switch identifier may also be specified.\n", "title": "Portgroup or logical switch identifier for management network connectivity." }, "enable_ssh": { "default": false, "type": "boolean", "description": "Enabling SSH service is not recommended for security reasons.\n", "title": "Enable SSH." }, "allow_ssh_root_login": { "default": false, "type": "boolean", "description": "Allowing root SSH logins is not recommended for security reasons.\n", "title": "Allow root SSH logins." }, "compute_id": { "type": "string", "description": "The edge node vm will be deployed on the specified cluster or resourcepool.\nNote - all the hosts must have nsx fabric prepared in the specified cluster.\n", "title": "Cluster identifier or resourcepool identifier for specified vcenter server." }, "search_domains": { "items": { "type": "string" }, "type": "array", "description": "List of domain names that are used to complete unqualified host names.\n", "title": "Search domain names." }, "vc_id": { "type": "string", "description": "The vc specific identifiers will be resolved on this VC.\nSo all other identifiers specified here must belong to this vcenter server.\n", "title": "Vsphere compute identifier for identifying the vcenter server." }, "storage_id": { "type": "string", "description": "The edge node vm will be deployed on the specified datastore. User must ensure\nthat storage is accessible by the specified cluster/host.\n", "title": "Storage/datastore identifier in the specified vcenter server." }, "default_gateway_addresses": { "description": "The default gateway for edge node must be specified if all the nodes it\ncommunicates with are not in the same subnet.\nNote: Only single IPv4 default gateway address is supported and it must\nbelong to management network.\n", "title": "Default gateway for the node.", "minItems": 1, "items": { "description": "IPv4 or IPv6 address", "format": "ip", "type": "string" }, "maxItems": 1, "type": "array" }, "management_port_subnets": { "description": "IP Address and subnet configuration for the management port. Note:\nonly one IPv4 address is supported for the management port.\n", "title": "Port subnets for management port. Only one IPv4 Address is supported.", "minItems": 1, "items": { "$ref": "#/definitions/IPSubnet" }, "maxItems": 1, "type": "array" }, "host_id": { "type": "string", "description": "The edge node vm will be deployed on the specified Host within the cluster\nif host_id is specified.\nNote - User must ensure that storage and specified networks are accessible by this host.\n", "title": "Host identifier in the specified vcenter server." }, "hostname": { "type": "string", "description": "Host name or FQDN for edge node.", "title": "Host name or FQDN for edge node." } } } ] }, "LogicalSwitchMirrorSource": { "x-vmw-nsx-module": "PortMirroring", "allOf": [ { "$ref": "#/definitions/MirrorSource" }, { "x-vmw-nsx-module": "PortMirroring", "required": [ "switch_id" ], "type": "object", "properties": { "switch_id": { "type": "string", "description": "Source logical switch identifier", "title": "Source logical switch identifier" } } } ] }, "ClusterConfig": { "x-vmw-nsx-module": "ClusterManagement", "allOf": [ { "$ref": "#/definitions/RevisionedResource" }, { "x-vmw-nsx-module": "ClusterManagement", "required": [ "mgmt_cluster_changes_allowed", "control_cluster_changes_allowed" ], "type": "object", "properties": { "control_cluster_changes_allowed": { "type": "boolean", "description": "True if control cluster nodes may be added or removed", "title": "True if control cluster nodes may be added or removed" }, "mgmt_cluster_changes_allowed": { "type": "boolean", "description": "True if management cluster nodes may be added or removed", "title": "True if management cluster nodes may be added or removed" }, "cluster_id": { "readOnly": true, "type": "string", "description": "Unique identifier of this cluster", "title": "Unique identifier of this cluster" } } } ] }, "UpgradeHistory": { "x-vmw-nsx-module": "UpgradeTypes", "required": [ "timestamp", "target_version", "initial_version", "upgrade_status" ], "type": "object", "properties": { "timestamp": { "type": "integer", "description": "Timestamp (in milliseconds since epoch) when the upgrade was performed", "format": "int64" }, "target_version": { "type": "string", "description": "Version being upgraded to", "title": "Target Version" }, "initial_version": { "type": "string", "description": "Version before the upgrade started", "title": "Initial Version" }, "upgrade_status": { "enum": [ "STARTED", "SUCCESS", "FAILED" ], "type": "string", "description": "Status of the upgrade", "title": "Status of the upgrade" } } }, "Dscp": { "x-vmw-nsx-module": "QosSwitchingProfile", "type": "object", "description": "Dscp value is ignored in case of 'TRUSTED' DscpMode.", "properties": { "priority": { "description": "Internal Forwarding Priority", "title": "Internal Forwarding Priority", "default": 0, "format": "int32", "maximum": 63, "minimum": 0, "type": "integer" }, "mode": { "description": "Trust settings", "enum": [ "TRUSTED", "UNTRUSTED" ], "type": "string" } }, "title": "One of Quality-of-Service or Encapsulated-Remote-Switched-Port-Analyzer" }, "DirectoryGroup": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "discriminator": "resource_type", "x-vmw-nsx-module": "ManagerNode", "required": [ "domain_sync_node_id", "distinguished_name", "domain_id", "resource_type" ], "type": "object", "properties": { "domain_sync_node_id": { "type": "string", "description": "Domain sync node under which this directory group is located.", "title": "Domain synchronization root node id" }, "distinguished_name": { "type": "string", "description": "Directory group distinguished name", "title": "Directory group distinguished name" }, "domain_id": { "type": "string", "description": "Domain ID this directory group belongs to.", "title": "Domain id" }, "resource_type": { "type": "string", "description": "Directory group resource type comes from multiple sub-classes extending this base class. For example, DirectoryAdGroup is one accepted resource_type. If there are more sub-classes defined, they will also be accepted resource_type.", "title": "Directory group resource type for this domain" } } } ] }, "EnforcementPointListResult": { "x-vmw-nsx-module": "PolicyEnforcementPointManagement", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "PolicyEnforcementPointManagement", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/EnforcementPoint" }, "type": "array", "description": "EnforcementPoint list results", "title": "EnforcementPoint list results" } } } ], "description": "Paged collection of enforcement points", "title": "Paged Collection of EnforcementPoints" }, "Tier0DeploymentMap": { "x-vmw-nsx-module": "PolicyEnforcementPointManagement", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "required": [ "enforcement_point" ], "x-vmw-nsx-module": "PolicyEnforcementPointManagement", "type": "object", "properties": { "enforcement_point": { "type": "string", "description": "Path of enforcement point on which Tier-0 will be deployed", "title": "Absolute path of enforcement point" } } } ], "description": "Associate tier-0 to the enforcement point to realize policy intent", "title": "Tier-0 deployment map" }, "BaseHostSwitchProfile": { "x-vmw-nsx-module": "BaseHostSwitchProfile", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "discriminator": "resource_type", "x-vmw-nsx-module": "BaseHostSwitchProfile", "required": [ "resource_type" ], "type": "object", "properties": { "required_capabilities": { "items": { "type": "string" }, "readOnly": true, "type": "array" }, "resource_type": { "description": "Supported HostSwitch profiles.", "enum": [ "UplinkHostSwitchProfile", "LldpHostSwitchProfile", "NiocProfile", "ExtraConfigHostSwitchProfile" ], "type": "string" } } } ] }, "BaseServiceInstance": { "x-vmw-nsx-module": "ServiceInsertionCommonTypes", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "required": [ "transport_type", "resource_type" ], "discriminator": "resource_type", "x-vmw-nsx-module": "ServiceInsertionCommonTypes", "type": "object", "properties": { "on_failure_policy": { "enum": [ "ALLOW", "BLOCK" ], "type": "string", "description": "Failure policy of the service instance - if it has to be different from the service. By default the service instance inherits the FailurePolicy of the service it belongs to.", "title": "On Failure Policy" }, "transport_type": { "readOnly": false, "enum": [ "L2_BRIDGE", "L3_ROUTED" ], "type": "string", "description": "Transport to be used by this service instance for deploying the Service-VM.", "title": "Transport Type" }, "resource_type": { "description": "ServiceInstance is used when NSX handles the lifecyle of\n appliance. Deployment and appliance related all the information is necessary.\nByodServiceInstance is a custom instance to be used when NSX is not handling\n the lifecycles of appliance/s. User will manage their own appliance (BYOD)\n to connect with NSX.\nVirtualServiceInstance is a a custom instance to be used when NSX is not\n handling the lifecycle of an appliance and when the user is not bringing\n their own appliance.\n", "enum": [ "ServiceInstance", "ByodServiceInstance", "VirtualServiceInstance" ], "type": "string" }, "service_id": { "readOnly": true, "type": "string", "description": "The Service to which the service instance is associated.", "title": "Service Id" } } } ], "description": "The deployment of a registered service. service instance is instantiation of service.", "title": "Base Instance of a service" }, "L2VpnStatisticsPerEnforcementPoint": { "description": "L2Vpn Statistics Per Enforcement Point.\n", "title": "L2Vpn Statistics Per Enforcement Point", "required": [ "resource_type" ], "discriminator": "resource_type", "x-vmw-nsx-module": "PolicyStatistics", "type": "object", "properties": { "resource_type": { "enum": [ "L2VpnSessionStatistics" ], "type": "string" }, "enforcement_point_path": { "readOnly": true, "type": "string", "description": "Policy Path referencing the enforcement point wehere the statistics are fetched.\n", "title": "Enforcement point Path" } } }, "Topology": { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "type": "object", "description": "Topology contains the discovered/realized data for a discovery session\nthat can be represented in graphical view. It contains two parts:\n- Elements: Elements are verticies that represent a policy group which contains\n list of VMs and processes inside VM.\n- Connections: Connections are edges which provides information of connectivity\n between the elements.\n", "properties": { "connections": { "title": "List of connections", "type": "object", "description": "Contains list of connections that provides the information to connect the\nelements. Based on the view option specified in ViewTypeQueryParameter,\nconnections contains either VM, process, group or network connection information.\n", "$ref": "#/definitions/Connections" }, "elements": { "items": { "$ref": "#/definitions/Element" }, "type": "array", "description": "Contains list of elments of type VMElement, ProcessElement, GroupElement,\nLogicalSwitchElement, LogicalT0RouterElement and LogicalT1RouterElement.\nThese elements form the nodes/verticies when preseneted in graphical view.\n", "title": "List of elements" } }, "title": "Topology contains the discovered/realized data for a discovery session" }, "IGMPTypeServiceEntry": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/ServiceEntry" }, { "x-vmw-nsx-module": "Policy", "type": "object" } ], "description": "A ServiceEntry that represents IGMP protocol", "title": "A ServiceEntry that represents IGMP protocol" }, "IncludedFieldsParameters": { "x-vmw-nsx-module": "Common", "type": "object", "description": "A list of fields to include in query results", "properties": { "included_fields": { "type": "string", "description": "Comma separated list of fields that should be included in query result", "title": "Comma separated list of fields that should be included in query result" } }, "title": "A list of fields to include in query results" }, "Footer": { "x-vmw-nsx-module": "NsxDashboard", "type": "object", "description": "Footer of a widget that provides additional information or allows an action such as clickable url for navigation. An example usage of footer is provided under 'example_request' section of 'CreateWidgetConfiguration' API.", "properties": { "condition": { "maxLength": 1024, "type": "string", "description": "If the condition is met then the footer will be applied. Examples of expression syntax are provided under 'example_request' section of 'CreateWidgetConfiguration' API.", "title": "Expression for evaluating condition" }, "actions": { "minItems": 0, "items": { "$ref": "#/definitions/FooterAction" }, "type": "array", "description": "Action to be performed at the footer of a widget. An action at the footer can be simple text description or a hyperlink to a UI page. Action allows a clickable url for navigation. An example usage of footer action is provided under 'example_request' section of 'CreateWidgetConfiguration' API.", "title": "Footer Actions" } }, "title": "Widget Footer" }, "LbIcmpMonitor": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbActiveMonitor" }, { "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "data_length": { "description": "The data size(in byte) of the ICMP healthcheck packet", "title": "The data size(in byte) of the ICMP healthcheck packet", "default": 56, "format": "int64", "maximum": 65507, "minimum": 0, "type": "integer" } } } ] }, "IpfixUpmProfile": { "x-vmw-nsx-module": "UpmIpfix", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "required": [ "resource_type" ], "discriminator": "resource_type", "x-vmw-nsx-module": "UpmIpfix", "type": "object", "properties": { "resource_type": { "description": "All IPFIX profile types.", "enum": [ "IpfixSwitchUpmProfile" ], "readOnly": false, "type": "string" } } } ], "description": "Parent profile of all IPFIX profiles.", "title": "Base IPFIX Profile" }, "HostAggregateInfo": { "x-vmw-nsx-module": "NsxQuery", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "NsxQuery", "type": "object", "properties": { "status": { "readOnly": true, "description": "Host status", "$ref": "#/definitions/NodeStatus" }, "transport_node": { "readOnly": true, "$ref": "#/definitions/TransportNode" }, "host": { "readOnly": true, "description": "Host attributes", "$ref": "#/definitions/HostNode" } } } ], "description": "Aggregation of desired and runtime status of host", "title": "Aggregation of desired and runtime status of host" }, "ManagementConfig": { "x-vmw-nsx-module": "ConfigManagement", "allOf": [ { "$ref": "#/definitions/RevisionedResource" }, { "x-vmw-nsx-module": "ConfigManagement", "required": [ "publish_fqdns" ], "type": "object", "properties": { "publish_fqdns": { "type": "boolean", "description": "True if Management nodes publish their fqdns(instead of default IP addresses) across NSX for its reachability.", "title": "True if Management nodes publish their fqdns(instead of default IP addresses) across NSX for its reachability." } } } ] }, "LBVirtualServer": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "required": [ "ip_address", "ports", "application_profile_path" ], "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "client_ssl_profile_binding": { "title": "Virtual server side SSL binding setting", "description": "The setting is used when load balancer acts as an SSL server and\nterminating the client SSL connection\n", "$ref": "#/definitions/LBClientSslProfileBinding" }, "lb_persistence_profile_path": { "type": "string", "description": "Path to optional object that enables persistence on a virtual server\nallowing related client connections to be sent to the same backend\nserver. Persistence is disabled by default.\n", "title": "Persistence Profile used by LBVirtualServer" }, "pool_path": { "type": "string", "description": "The server pool(LBPool) contains backend servers. Server pool\nconsists of one or more servers, also referred to as pool members, that\nare similarly configured and are running the same application.\n", "title": "default server pool path" }, "access_log_enabled": { "default": false, "type": "boolean", "description": "If access log is enabled, all HTTP requests sent to an L7 virtual\nserver are logged to the access log file. Both successful requests\n(backend server returns 2xx) and unsuccessful requests (backend\nserver returns 4xx or 5xx) are logged to access log, if enabled.\n", "title": "Access log enabled setting" }, "rules": { "items": { "$ref": "#/definitions/LBRule" }, "type": "array", "description": "Load balancer rules allow customization of load balancing behavior using\nmatch/action rules. Currently, load balancer rules are supported for\nonly layer 7 virtual servers with LBHttpProfile.\n", "maxItems": 512, "title": "List of load balancer rules" }, "ip_address": { "description": "Configures the IP address of the LBVirtualServer where it\nreceives all client connections and distributes them among the\nbackend servers.\n", "format": "ip", "type": "string" }, "lb_service_path": { "type": "string", "description": "virtual servers can be associated to LBService(which is\nsimilar to physical/virtual load balancer), Lb virtual servers,\npools and other entities could be defined independently, the LBService\nidentifier list here would be used to maintain the relationship of\nLBService and other LB entities.\n", "title": "Path to LBService object for LBVirtualServer" }, "server_ssl_profile_binding": { "title": "Pool side SSL binding setting", "description": "The setting is used when load balancer acts as an SSL client and\nestablishing a connection to the backend server.\n", "$ref": "#/definitions/LBServerSslProfileBinding" }, "ports": { "items": { "description": "Examples- Single port \"8080\", Range of ports \"8090-8095\"\n", "format": "port-or-range", "type": "string" }, "type": "array", "description": "Ports contains a list of at least one port or port range such as \"80\",\n\"1234-1236\". Each port element in the list should be a single port or a\nsingle port range.\n", "title": "Virtual server port number(s) or port range(s)" }, "application_profile_path": { "type": "string", "description": "The application profile defines the application protocol characteristics.\nIt is used to influence how load balancing is performed. Currently,\nLBFastTCPProfile, LBFastUDPProfile and\nLBHttpProfile, etc are supported.\n", "title": "application profile path" } } } ], "description": "All the types of LBVirtualServer extend from this abstract class. This\nis present for extensibility.\n", "title": "Base class for each type of LBVirtualServer" }, "PoolMemberGroup": { "x-vmw-nsx-module": "LoadBalancer", "required": [ "grouping_object" ], "type": "object", "properties": { "grouping_object": { "title": "Grouping object resource reference", "description": "Load balancer pool support grouping object as dynamic pool members.\nThe IP list of the grouping object such as NSGroup would be used as\npool member IP setting.\n", "$ref": "#/definitions/ResourceReference" }, "ip_revision_filter": { "default": "IPV4", "enum": [ "IPV4", "IPV6", "IPV4_IPV6" ], "type": "string", "description": "Ip revision filter is used to filter IPv4 or IPv6 addresses from the\ngrouping object.\nIf the filter is not specified, both IPv4 and IPv6 addresses would be\nused as server IPs.\nThe link local and loopback addresses would be always filtered out.\n", "title": "Filter of ipv4 or ipv6 address of grouping object IP list" }, "max_ip_list_size": { "description": "The size is used to define the maximum number of grouping object IP\naddress list. These IP addresses would be used as pool members.\nIf the grouping object includes more than certain number of\nIP addresses, the redundant parts would be ignored and those IP\naddresses would not be treated as pool members.\nIf the size is not specified, one member is budgeted for this dynamic\npool so that the pool has at least one member even if some other\ndynamic pools grow beyond the capacity of load balancer service. Other\nmembers are picked according to available dynamic capacity. The unused\nmembers would be set to DISABLED so that the load balancer system\nitself is not overloaded during runtime.\n", "format": "int64", "title": "Maximum number of grouping object IP address list", "maximum": 2147483647, "minimum": 0, "type": "integer" }, "port": { "description": "If port is specified, all connections will be sent to this port.\nIf unset, the same port the client connected to will be used, it could\nbe overridden by default_pool_member_ports setting in virtual server.\nThe port should not specified for multiple ports case.\n", "format": "int32", "title": "Pool member port for all IP addresses of the grouping object", "maximum": 65535, "minimum": 1, "type": "integer" }, "customized_members": { "items": { "$ref": "#/definitions/PoolMemberSetting" }, "readOnly": false, "type": "array", "description": "The list is used to show the customized pool member settings. User can\nonly user pool member action API to update the admin state for a specific\nIP address.\n", "title": "List of customized pool member settings" } } }, "NetworkConnection": { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "allOf": [ { "$ref": "#/definitions/Connection" }, { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "type": "object" } ], "description": "Network Connection contains the statistical information of network events.\n", "title": "Network connection" }, "IpBlockListResult": { "x-vmw-nsx-module": "Ipam", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "Ipam", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/IpBlock" }, "type": "array", "description": "IP block list results", "title": "IP block list results" } } } ] }, "L2VpnService": { "x-vmw-nsx-module": "L2VPN", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "required": [ "logical_router_id" ], "x-vmw-nsx-module": "L2VPN", "type": "object", "properties": { "logical_router_id": { "type": "string", "description": "Logical router id", "title": "Logical router id" }, "logical_tap_ip_pool": { "items": { "description": "IPv4 CIDR Block", "format": "ipv4-cidr-block", "type": "string" }, "type": "array", "description": "IP Pool to allocate local and peer endpoint IPs for L2VpnSession logical Tap.", "title": "IP Pool for Logical Taps" }, "enable_full_mesh": { "default": false, "type": "boolean", "description": "Hub replicates traffic received from peer to all other peers.", "title": "Enable to act as hub" } } } ], "description": "Defines if service running as hub or spoke Also defines all the common properties for the multiple L2VpnSessions associated with this service.", "title": "L2VPN Service" }, "ChildL3Vpn": { "x-vmw-nsx-module": "PolicyL3Vpn", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "L3Vpn" ], "x-vmw-nsx-module": "PolicyL3Vpn", "type": "object", "properties": { "L3Vpn": { "title": "L3Vpn", "description": "Contains the actual L3Vpn object.\n", "$ref": "#/definitions/L3Vpn" } } } ], "description": "Child wrapper object for L3Vpn, used in hierarchical API.", "title": "Wrapper object for L3Vpn" }, "Crl": { "x-vmw-nsx-module": "CertificateManager", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "CertificateManager", "required": [ "pem_encoded" ], "type": "object", "properties": { "details": { "readOnly": true, "description": "details of the X509Crl object", "$ref": "#/definitions/X509Crl" }, "pem_encoded": { "readOnly": false, "type": "string", "description": "pem encoded crl data" } } } ] }, "TransportNodeListResult": { "x-vmw-nsx-module": "TransportNode", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "TransportNode", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/TransportNode" }, "readOnly": true, "type": "array", "description": "TransportNode Results", "title": "TransportNode Results" } } } ], "description": "Transport Node queries result", "title": "Transport Node queries result" }, "LogicalRouterPortDeleteRequestParameters": { "x-vmw-nsx-module": "LogicalRouterPorts", "allOf": [ { "$ref": "#/definitions/DeleteRequestParameters" }, { "x-vmw-nsx-module": "LogicalRouterPorts", "type": "object" } ], "description": "LogicalRouterPort delete request parameters", "title": "LogicalRouterPort delete request parameters" }, "LogicalDhcpServer": { "x-vmw-nsx-module": "Dhcp", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "Dhcp", "required": [ "ipv4_dhcp_server", "dhcp_profile_id" ], "type": "object", "properties": { "attached_logical_port_id": { "readOnly": true, "type": "string", "description": "id of attached logical port", "title": "id of attached logical port" }, "ipv4_dhcp_server": { "title": "dhcp server for ipv4 addresses", "description": "dhcp server for ipv4 addresses", "$ref": "#/definitions/IPv4DhcpServer" }, "dhcp_profile_id": { "type": "string", "description": "dhcp profile uuid", "title": "dhcp profile uuid" } } } ] }, "LogicalSwitchStatusListResult": { "x-vmw-nsx-module": "LogicalSwitch", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "LogicalSwitch", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/LogicalSwitchStatus" }, "readOnly": true, "type": "array", "description": "LogicalSwitchStatus Results", "title": "LogicalSwitchStatus Results" } } } ], "description": "Logical Switch runtime status queries result", "title": "Logical Switch runtime status queries result" }, "CommunicationMap": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "communication_entries": { "items": { "$ref": "#/definitions/CommunicationEntry" }, "type": "array", "description": "CommunicationEntries that are a part of this CommunicationMap", "title": "CommunicationEntries that are a part of this CommunicationMap" }, "category": { "type": "string", "description": "Policy framework provides four pre-defined categories for classifying\na communication map. They are \"Emergency\", \"Infrastructure\"\n\"Environmental\" and \"Application\". There is a pre-determined order in\nwhich the policy framework manages the priority of these communication\nmaps. Emergency category has the highest priority followed by\nInfrastructure, Environmental and then Application rules. Administrator\ncan choose to categorize a communication map into the above categories\nor can choose to leave it empty. If empty it will have the least\nprecedence w.r.t the above four categories.\n", "title": "A way to classify a communication map, if needed." }, "precedence": { "format": "int32", "type": "integer", "description": "This field is used to resolve conflicts between communication maps\nacross domains. In order to change the precedence of a communication\nmap, it is recommended to send a PUT request to the following URL\n/infra/domains//communication-map?action=revise\nThe precedence field will reflect the value of the computed precedence\nupon execution of the above mentioned PUT request.\nFor scenarios where the administrator is using a template to update\nseveral communication maps, the only way to set the precedence is to\nexplicitly specify the precedence number for each communication map.\n", "title": "Precedence to resolve conflicts across Domains" } } } ], "description": "Ordered list of CommunicationEntries. This object is created by default\nalong with the Domain.\n", "title": "Contains ordered list of CommunicationEntries" }, "VmkToLogicalSwitchMapping": { "description": "Holds VMkernal to logical switch mapping. This will be used for network migration.", "title": "Holds VMkernal to logical switch mapping. This will be used for network migration.", "required": [ "dest_network_id", "src_interface_id" ], "x-vmw-nsx-module": "TransportNode", "type": "object", "properties": { "dest_network_id": { "type": "string", "description": "Only VLAN type of logical switch can be specified here, as migration operation is only supported for these types.", "title": "The ID of the NSX logical switch to which source vmkernal interface needs to be migrated to." }, "src_interface_id": { "type": "string", "description": "The ID (for example, vmk0) of the vmkernal interface on ESX to migrate.", "title": "The ID (for example, vmk0) of the vmkernal interface on ESX to migrate." } } }, "RealizedEnforcementPoint": { "x-vmw-nsx-module": "PolicyRealizedState", "allOf": [ { "$ref": "#/definitions/PolicyRealizedResource" }, { "x-vmw-nsx-module": "PolicyRealizedState", "type": "object", "properties": { "realized_firewalls": { "readOnly": true, "title": "Root of Realized Firewalls", "description": "Root of Realized Firewalls", "$ref": "#/definitions/RealizedFirewalls" }, "realized_services": { "readOnly": true, "title": "Root of Realized Services", "description": "Root of Realized Services", "$ref": "#/definitions/RealizedServices" }, "realized_groups": { "readOnly": true, "title": "Root of Realized Groups", "description": "Root of Realized Groups", "$ref": "#/definitions/RealizedGroups" } } } ], "description": "Realized Enforcement Point", "title": "Realized Enforcement Point" }, "CommunicationInsertParameters": { "x-vmw-nsx-module": "Policy", "type": "object", "description": "Parameters to let the admin specify a relative position of a communication\nmap or communication entry w.r.t to another one.\n", "properties": { "anchor_path": { "type": "string", "description": "The communication map/communication entry path if operation is\n'insert_after' or 'insert_before'\n", "title": "The communication map/communication entry path if operation is\n'insert_after' or 'insert_before'\n" }, "operation": { "default": "insert_top", "enum": [ "insert_top", "insert_bottom", "insert_after", "insert_before" ], "type": "string", "description": "Operation", "title": "Operation" } }, "title": "Parameters to tell where communication map/communication entry\nneeds to be placed\n" }, "LogicalRouterDeleteRequestParameters": { "x-vmw-nsx-module": "LogicalRouter", "allOf": [ { "$ref": "#/definitions/DeleteRequestParameters" }, { "x-vmw-nsx-module": "LogicalRouter", "type": "object" } ], "description": "LogicalRouter delete request parameters", "title": "LogicalRouter delete request parameters" }, "DeleteRequestParameters": { "x-vmw-nsx-module": "Common", "type": "object", "description": "Parameters that affect how delete operations are processed", "properties": { "force": { "default": false, "type": "boolean", "description": "If true, deleting the resource succeeds even if it is being\nreferred as a resource reference.\n", "title": "Force delete the resource even if it is being used somewhere\n" } }, "title": "Parameters that affect how delete operations are processed" }, "InterfaceSubnet": { "description": "Subnet specification for interface connectivity", "title": "Subnet specification for interface connectivity", "required": [ "ip_addresses", "prefix_len" ], "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "ip_addresses": { "items": { "description": "IPv4 or IPv6 address", "format": "ip", "type": "string" }, "type": "array", "description": "IP addresses assigned to interface", "title": "IP addresses assigned to interface" }, "prefix_len": { "description": "Subnet prefix length", "format": "int32", "title": "Subnet prefix length", "maximum": 32, "minimum": 1, "type": "integer" } } }, "RoutingTable": { "description": "Routing table.\n", "title": "Routing table", "required": [ "route_entries" ], "x-vmw-nsx-module": "PolicyStatistics", "type": "object", "properties": { "count": { "readOnly": true, "format": "int32", "type": "integer", "description": "Entry count.", "title": "Entry count" }, "route_entries": { "items": { "$ref": "#/definitions/RoutingEntry" }, "type": "array", "description": "Route entries.", "title": "Route entries" }, "edge_node": { "readOnly": true, "type": "string", "description": "Transport node ID.\n", "title": "Transport node ID" } } }, "ServiceProfileListResult": { "x-vmw-nsx-module": "ServiceProfile", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "ServiceProfile", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/ServiceProfile" }, "type": "array", "description": "service profile list results", "title": "service profile list results" } } } ] }, "IpBlockSubnetListResult": { "x-vmw-nsx-module": "Ipam", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "Ipam", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/IpBlockSubnet" }, "type": "array", "description": "IP block subnet list results", "title": "IP block subnet list results" } } } ] }, "RealizedLogicalPort": { "x-vmw-nsx-module": "PolicyRealizedState", "allOf": [ { "$ref": "#/definitions/PolicyRealizedResource" }, { "x-vmw-nsx-module": "PolicyRealizedState", "type": "object", "properties": { "logical_port_id": { "readOnly": true, "type": "string", "description": "The id of the logical port", "title": "The id of the logical port" }, "status": { "readOnly": true, "enum": [ "UP", "DOWN", "UNKNOWN" ], "type": "string", "description": "The Operational status of the logical port", "title": "The Operational status of the logical port" } } } ], "description": "Realized Logical Port", "title": "Realized Logical Port" }, "ChildLBAppProfile": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "LBAppProfile" ], "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "LBAppProfile": { "title": "LBAppProfile", "description": "Contains the actual LBAppProfile object\n", "$ref": "#/definitions/LBAppProfile" } } } ], "description": "Child wrapper for LBAppProfile, used in hierarchical API\n", "title": "Wrapper object for LBAppProfile" }, "TlsCertificate": { "x-vmw-nsx-module": "PolicyCertificate", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "x-vmw-nsx-module": "PolicyCertificate", "required": [ "pem_encoded" ], "type": "object", "properties": { "details": { "items": { "$ref": "#/definitions/X509Certificate" }, "readOnly": true, "type": "array", "description": "list of X509Certificates" }, "pem_encoded": { "readOnly": false, "type": "string", "description": "pem encoded certificate data" } } } ] }, "InterfaceStatistics": { "x-vmw-nsx-module": "Common", "allOf": [ { "$ref": "#/definitions/Resource" }, { "x-vmw-nsx-module": "Common", "type": "object", "properties": { "rx_packets": { "readOnly": true, "format": "int64", "type": "integer", "description": "Count of packets received on this port", "title": "Count of packets received on this port" }, "rx_errors": { "readOnly": true, "format": "int64", "type": "integer", "description": "Count of receive errors occurring on this port", "title": "Count of receive errors occurring on this port" }, "rx_bytes": { "readOnly": true, "format": "int64", "type": "integer", "description": "Count of bytes received on this port", "title": "Count of bytes received on this port" }, "tx_errors": { "readOnly": true, "format": "int64", "type": "integer", "description": "Count of transmit errors occurring on this port", "title": "Count of transmit errors occurring on this port" }, "tx_bytes": { "readOnly": true, "format": "int64", "type": "integer", "description": "Count of bytes transmitted on this port", "title": "Count of bytes transmitted on this port" }, "tx_packets": { "readOnly": true, "format": "int64", "type": "integer", "description": "Count of packets transmitted on this port", "title": "Count of packets transmitted on this port" } } } ], "description": "Statistics for a network interface", "title": "Statistics for a network interface" }, "PolicyConfigResource": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/PolicyResource" }, { "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "children": { "items": { "$ref": "#/definitions/ChildPolicyConfigResource" }, "type": "array", "description": "subtree for this type within policy tree containing nested elements.\n", "title": "subtree for this type within policy tree" }, "marked_for_delete": { "default": false, "readOnly": true, "type": "boolean", "description": "Intent objects are not directly deleted from the system when a delete\nis invoked on them. They are marked for deletion and only when all the\nrealized entities for that intent object gets deleted, the intent object\nis deleted. Objects that are marked for deletion are not returned in\nGET call. One can use the search API to get these objects.\n", "title": "Indicates whether the intent object is marked for deletion" } } } ], "description": "Represents an object on the desired state", "title": "Represents an object on the desired state" }, "RealizedMACSet": { "x-vmw-nsx-module": "PolicyRealizedState", "allOf": [ { "$ref": "#/definitions/PolicyRealizedResource" }, { "x-vmw-nsx-module": "PolicyRealizedState", "type": "object" } ], "description": "Realized MACSet", "title": "Realized MACSet" }, "MacManagementSwitchingProfile": { "x-vmw-nsx-module": "MacManagementSwitchingProfile", "allOf": [ { "$ref": "#/definitions/BaseSwitchingProfile" }, { "x-vmw-nsx-module": "MacManagementSwitchingProfile", "type": "object", "properties": { "mac_learning": { "readOnly": false, "title": "MAC learning configuration", "description": "MAC learning configuration", "$ref": "#/definitions/MacLearningSpec" }, "mac_change_allowed": { "default": false, "readOnly": false, "type": "boolean", "description": "Allowing source MAC address change", "title": "Allowing source MAC address change" } } } ] }, "PacketCaptureOption": { "x-vmw-nsx-module": "PacketCapture", "type": "object", "description": "The option is used to filter data on given node.", "properties": { "name": { "enum": [ "ETHTYPE", "MAC", "SRCMAC", "DSTMAC", "VLAN", "IP", "SRCIP", "DSTIP", "IPPROTO", "PORT", "SRCPORT", "DSTPORT", "VNI" ], "type": "string", "description": "The avaiable option names in the enum can be used to filter the capture data.", "title": "Packet capture option name" }, "value": { "type": "string", "description": "Define the capture value according to the given capture option.", "title": "Packet capture option value" } }, "title": "Packet capture option" }, "EdgeClusterMember": { "x-vmw-nsx-module": "EdgeClusters", "required": [ "transport_node_id" ], "type": "object", "properties": { "member_index": { "readOnly": true, "format": "int32", "type": "integer", "description": "System generated index for cluster member", "title": "System generated index for cluster member" }, "display_name": { "type": "string", "description": "display name of edge cluster member", "title": "display name of edge cluster member" }, "description": { "type": "string", "description": "description of edge cluster member", "title": "description of edge cluster member" }, "transport_node_id": { "type": "string", "description": "Identifier of the transport node backed by an Edge node", "title": "UUID of edge transport node" } } }, "FirewallSectionState": { "x-vmw-nsx-module": "Firewall", "allOf": [ { "$ref": "#/definitions/DSSectionState" }, { "x-vmw-nsx-module": "Firewall", "type": "object" } ] }, "ServiceProfile": { "x-vmw-nsx-module": "ServiceProfile", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "ServiceProfile", "required": [ "server_addresses", "resource_type" ], "type": "object", "properties": { "server_addresses": { "items": { "description": "IPv4 or IPv6 address", "format": "ip", "type": "string" }, "type": "array" }, "resource_type": { "description": "Resource type of the service profile", "enum": [ "DhcpRelayProfile" ], "type": "string" } } } ] }, "VMConnection": { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "allOf": [ { "$ref": "#/definitions/Connection" }, { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "type": "object" } ], "description": "VMConnection contains the statistic information of connection from source\nVM to destination VM.\n", "title": "VM connection" }, "StaticRoutesListResult": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/StaticRoutes" }, "type": "array", "description": "Static Routes list results", "title": "Static Routes list results" } } } ], "description": "Paged collection of Static Routes", "title": "Paged collection of Static Routes" }, "CommunicationEntry": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "action": { "enum": [ "ALLOW", "DROP", "REJECT" ], "type": "string", "description": "The action to be applied to all the services\n", "title": "Action" }, "tag": { "maxLength": 32, "type": "string", "description": "User level field which will be printed in CLI and packet logs.\n", "title": "Tag applied on the communication entry" }, "destination_groups": { "items": { "type": "string" }, "type": "array", "description": "We need paths as duplicate names may exist for groups under different\ndomains.In order to specify all groups, use the constant \"ANY\". This\nis case insensitive. If \"ANY\" is used, it should be the ONLY element\nin the group array. Error will be thrown if ANY is used in conjunction\nwith other values.\n", "maxItems": 128, "title": "Destination group paths" }, "services": { "items": { "type": "string" }, "type": "array", "description": "In order to specify all services, use the constant \"ANY\".\nThis is case insensitive. If \"ANY\" is used, it should\nbe the ONLY element in the services array. Error will be thrown\nif ANY is used in conjunction with other values.\n", "maxItems": 128, "title": "Names of services" }, "scope": { "items": { "type": "string" }, "type": "array", "description": "The list of policy paths where the communication entry is applied\nEdge/LR/T0/T1/LRP/CGW/MGW/etc. Note that a given rule can be applied\non multiple LRs/LRPs.\n", "maxItems": 128 }, "logged": { "default": false, "readOnly": false, "type": "boolean", "description": "Flag to enable packet logging. Default is disabled.", "title": "Enable logging flag" }, "sequence_number": { "format": "int32", "type": "integer", "description": "This field is used to resolve conflicts between multiple\nCommunicationEntries under CommunicationMap for a Domain\n", "title": "Sequence number of the this CommunicationEntry" }, "source_groups": { "items": { "type": "string" }, "type": "array", "description": "We need paths as duplicate names may exist for groups under different\ndomains. In order to specify all groups, use the constant \"ANY\". This\nis case insensitive. If \"ANY\" is used, it should be the ONLY element\nin the group array. Error will be thrown if ANY is used in conjunction\nwith other values.\n", "maxItems": 128, "title": "Source group paths" } } } ], "description": "A communication entry indicates the action to be performed for various types of traffic flowing between workload groups.", "title": "A communication entry specifies the security policy between the workload groups" }, "BaseSwitchingProfile": { "x-vmw-nsx-module": "BaseSwitchingProfile", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "discriminator": "resource_type", "x-vmw-nsx-module": "BaseSwitchingProfile", "required": [ "resource_type" ], "type": "object", "properties": { "required_capabilities": { "items": { "type": "string" }, "readOnly": true, "type": "array" }, "resource_type": { "type": "string" } } } ] }, "LogicalRouterListResult": { "x-vmw-nsx-module": "LogicalRouter", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "LogicalRouter", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/LogicalRouter" }, "type": "array", "description": "Logical router list results", "title": "Logical router list results" } } } ] }, "LogicalPort": { "x-vmw-nsx-module": "LogicalPort", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "LogicalPort", "required": [ "logical_switch_id", "admin_state" ], "type": "object", "properties": { "logical_switch_id": { "type": "string", "description": "Id of the Logical switch that this port belongs to.", "title": "Id of the Logical switch that this port belongs to." }, "init_state": { "description": "Set initial state when a new logical port is created. 'UNBLOCKED_VLAN'\nmeans new port will be unblocked on traffic in creation, also VLAN will\nbe set with corresponding logical switch setting.\n", "enum": [ "UNBLOCKED_VLAN" ], "type": "string" }, "switching_profile_ids": { "items": { "$ref": "#/definitions/SwitchingProfileTypeIdEntry" }, "type": "array" }, "attachment": { "title": "Logical port attachment", "description": "Logical port attachment", "$ref": "#/definitions/LogicalPortAttachment" }, "admin_state": { "enum": [ "UP", "DOWN" ], "type": "string", "description": "Represents Desired state of the logical port", "title": "Represents Desired state of the logical port" }, "extra_configs": { "items": { "$ref": "#/definitions/ExtraConfig" }, "type": "array", "description": "This property could be used for vendor specific configuration in key value\nstring pairs. Logical port setting will override logical switch setting if\nthe same key was set on both logical switch and logical port.\n", "title": "Extra configs on logical port" }, "address_bindings": { "description": "Address bindings for logical port", "title": "Address bindings for logical port", "minItems": 0, "items": { "$ref": "#/definitions/PacketAddressClassifier" }, "maxItems": 512, "type": "array" } } } ] }, "LBRule": { "description": "Binding of a LBPool and Group to a LBVirtualServer\nused to route application traffic passing through load balancers.\nLBRule uses match conditions to match application traffic passing\nthrough a LBVirtualServer using HTTP or HTTPS. Can bind\nmultiple LBVirtualServers to a Group. Each LBRule\nconsists of two optional match conditions, each match contidion defines a\ncriterion for application traffic. If no match conditions are\nspecified, then the LBRule will always match and it is used\ntypically to define default rules. If more than one match condition is\nspecified, then matching strategy determines if all conditions should\nmatch or any one condition should match for the LBRule to be\nconsidered a match. A match indicates that the LBVirtualServer\nshould route the request to the Group (parent of LBRule).\n", "title": "Binding of a LBPool and Group to a LBVirtualServer", "required": [ "actions" ], "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "match_conditions": { "items": { "$ref": "#/definitions/LBRuleCondition" }, "type": "array", "description": "A list of match conditions used to match application traffic. Multiple\nmatch conditions can be specified in one load balancer rule, each match\ncondition defines a criterion to match application traffic.\nIf no match conditions are specified, then the load balancer rule will\nalways match and it is used typically to define default rules. If more\nthan one match condition is specified, then match strategy determines\nif all conditions should match or any one condition should match for the\nload balancer rule to considered a match.\n", "maxItems": 2, "title": "Conditions to match application traffic" }, "display_name": { "type": "string", "description": "A display name useful for identifying an LbRule\n", "title": "Display name for LbRule" }, "actions": { "items": { "$ref": "#/definitions/LBRuleAction" }, "type": "array", "description": "A list of actions to be executed at specified phase when load balancer\nrule matches. The actions are used to manipulate application traffic,\nsuch as rewrite URI of HTTP messages, redirect HTTP messages, etc.\n", "maxItems": 1, "title": "Actions to be executed" }, "match_strategy": { "default": "ANY", "enum": [ "ALL", "ANY" ], "type": "string", "description": "If more than one match condition is specified, then\nmatching strategy determines if all conditions should match or any\none condition should match for the LB Rule to be considered a match.\n- ALL indicates that both host_match and path_match must match for\nthis LBRule to be considered a match\n- ANY indicates that either host_match or patch match may match for\nthis LBRule to be considered a match\n", "title": "Match strategy for determining match of multiple conditions" } } }, "L2VpnSessionListResult": { "x-vmw-nsx-module": "L2VPN", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "L2VPN", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/L2VpnSession" }, "type": "array", "description": "L2VPN sessions list result", "title": "L2VPN sessions list result" } } } ], "description": "Paginated list all the L2VPN sessions", "title": "List all L2VPN sessions" }, "RouteMapSequence": { "x-vmw-nsx-module": "Routing", "required": [ "action", "match_criteria" ], "type": "object", "properties": { "set_criteria": { "title": "Set Criteria for the RouteMap Sequence", "description": "Set Criteria for the RouteMap Sequence", "$ref": "#/definitions/RouteMapSequenceSet" }, "action": { "description": "Action for the Sequence", "enum": [ "PERMIT", "DENY" ], "type": "string" }, "match_criteria": { "title": "Match Criteria for the RouteMap Sequence", "description": "Match Criteria for the RouteMap Sequence", "$ref": "#/definitions/RouteMapSequenceMatch" } } }, "MACAddressElementListResult": { "x-vmw-nsx-module": "MACSet", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "MACSet", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/MACAddressElement" }, "type": "array", "description": "MAC address element list", "title": "MAC address element list" } } } ], "description": "Collection of MAC address elements", "title": "Collection of MAC address elements" }, "RealizedGroupUIResource": { "x-vmw-nsx-module": "PolicyUi", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "required": [ "realized_groups" ], "x-vmw-nsx-module": "PolicyUi", "type": "object", "properties": { "intent_group": { "$ref": "#/definitions/Group" }, "realized_groups": { "items": { "$ref": "#/definitions/GenericPolicyRealizedResource" }, "type": "array", "description": "Realized groups associated to the intent group", "title": "Realized groups associated to the intent group" } } } ], "description": "Realized Groups and associated Intent Group", "title": "Realized Groups and associated Intent Group" }, "ClusterProfileTypeIdEntry": { "x-vmw-nsx-module": "ClusterProfile", "required": [ "profile_id" ], "type": "object", "properties": { "profile_id": { "readOnly": false, "type": "string", "description": "key value" }, "resource_type": { "description": "Supported cluster profiles.", "enum": [ "EdgeHighAvailabilityProfile", "BridgeHighAvailabilityClusterProfile" ], "type": "string" } } }, "ObjectRolePermissionGroupListResult": { "x-vmw-nsx-module": "PolicyAuthz", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "PolicyAuthz", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/ObjectRolePermissionGroup" }, "type": "array", "description": "ObjectRolePermissionGroup list results", "title": "ObjectRolePermissionGroup list results" } } } ], "description": "Paged collection of RBAC Objects", "title": "Paged collection of RBAC Objects" }, "BgpNeighborConfigListResult": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/BgpNeighborConfig" }, "type": "array", "description": "BGP neighbor configs list results", "title": "BGP neighbor configs list results" } } } ], "description": "Paged collection of BGP Neighbor Configs", "title": "Paged collection of BGP Neighbor Configs" }, "RealizedDiscoverySession": { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "allOf": [ { "$ref": "#/definitions/PolicyRealizedResource" }, { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "type": "object", "properties": { "status": { "enum": [ "STARTED", "IN_PROGRESS", "FAILED", "COMPLETED", "INVALID" ], "type": "string", "description": "Status of discovery session", "title": "Status of discovery session" }, "timestamp": { "type": "integer", "description": "Timestamp when the data was collected. Unset if the discovery session\nhas started or in-progress or failed state.\n", "format": "int64" }, "message": { "type": "string", "description": "This property displays the detailed message of the current status of discovery session.\nThe reason for failure will be displayed in case of FAILED status.\n", "title": "Status message of discovery session" }, "topology": { "title": "Topology", "type": "object", "description": "Topology", "$ref": "#/definitions/Topology" } } } ], "description": "Contains the realized information of a discovery session.\n", "title": "Realized discovery session" }, "TransportNodeTemplateState": { "description": "transport node template application state", "title": "transport node template application state", "required": [ "node_id" ], "x-vmw-nsx-module": "TransportNode", "type": "object", "properties": { "state": { "readOnly": true, "enum": [ "FAILED_TO_CREATE", "IN_PROGRESS", "FAILED_TO_REALIZE", "SUCCESS" ], "type": "string", "description": "Transport node template state on individual hosts of ComputeCollection\nwhich enabled automated transport code creation.\n'FAILED_TO_CREATE' means transport node isn't created. 'IN_PROGRESS' means\ntransport node is in progress of creation. 'FAILED_TO_REALIZE' means\ntransport node has been created, but failed on host realization, it will\nrepush to host by NSX later. 'SUCCESS' means transport node creation is\nsucceeded.\n", "title": "Application state of transport node template on this host" }, "node_id": { "type": "string", "description": "node id", "title": "node id" }, "transport_node_id": { "type": "string", "description": "transport node id", "title": "transport node id" } } }, "BpduFilter": { "description": "BPDU filter configuration", "title": "BPDU filter configuration", "required": [ "enabled" ], "x-vmw-nsx-module": "SwitchSecuritySwitchingProfile", "type": "object", "properties": { "white_list": { "description": "Pre-defined list of allowed MAC addresses to be excluded from BPDU filtering", "title": "Pre-defined list of allowed MAC addresses to be excluded from BPDU filtering", "minItems": 0, "items": { "type": "string" }, "readOnly": false, "maxItems": 32, "type": "array" }, "enabled": { "readOnly": false, "type": "boolean", "description": "Indicates whether BPDU filter is enabled", "title": "Indicates whether BPDU filter is enabled" } } }, "IPPrefixList": { "x-vmw-nsx-module": "Routing", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "Routing", "required": [ "prefixes" ], "type": "object", "properties": { "prefixes": { "description": "Ordered list of PrefixConfig", "title": "Ordered list of PrefixConfig", "minItems": 1, "items": { "$ref": "#/definitions/PrefixConfig" }, "maxItems": 1330000, "type": "array" }, "logical_router_id": { "readOnly": true, "type": "string", "description": "Logical router id", "title": "Logical router id" } } } ] }, "SelectableResourceReference": { "x-vmw-nsx-module": "ClusterRestore", "allOf": [ { "$ref": "#/definitions/ResourceReference" }, { "required": [ "selected" ], "x-vmw-nsx-module": "ClusterRestore", "type": "object", "properties": { "selected": { "type": "boolean", "description": "Set to true if this resource has been selected to be acted upon", "title": "Set to true if this resource has been selected to be acted upon" } } } ], "description": "Resources to take action on", "title": "Resources to take action on" }, "LbClientSslProfile": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbSslProfile" }, { "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "session_cache_enabled": { "default": true, "type": "boolean", "description": "SSL session caching allows SSL client and server to reuse previously\nnegotiated security parameters avoiding the expensive public key\noperation during handshake.\n", "title": "session cache enable/disable flag" }, "session_cache_timeout": { "description": "Session cache timeout specifies how long the SSL session parameters\nare held on to and can be reused.\n", "title": "SSL session cache timeout value", "default": 300, "format": "int64", "maximum": 86400, "minimum": 1, "type": "integer" }, "cipher_group_label": { "description": "It is a label of cipher group which is mostly consumed by GUI.\n", "enum": [ "BALANCED", "HIGH_SECURITY", "HIGH_COMPATIBILITY", "CUSTOM" ], "type": "string" }, "is_fips": { "readOnly": true, "type": "boolean", "description": "This flag is set to true when all the ciphers and protocols are FIPS\ncompliant. It is set to false when one of the ciphers or protocols are\nnot FIPS compliant..\n", "title": "FIPS compliance of ciphers and protocols" }, "is_secure": { "readOnly": true, "type": "boolean", "description": "This flag is set to true when all the ciphers and protocols are secure.\nIt is set to false when one of the ciphers or protocols is insecure.\n", "title": "Secure/Insecure SSL profile flag" }, "prefer_server_ciphers": { "default": true, "type": "boolean", "description": "During SSL handshake as part of the SSL client Hello client sends an\nordered list of ciphers that it can support (or prefers) and typically\nserver selects the first one from the top of that list it can also\nsupport. For Perfect Forward Secrecy(PFS), server could override the\nclient's preference.\n", "title": "prefer server ciphers flag" }, "ciphers": { "items": { "description": "SSL cipher", "enum": [ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA", "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA", "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA", "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA", "TLS_RSA_WITH_AES_256_CBC_SHA", "TLS_RSA_WITH_AES_128_CBC_SHA", "TLS_RSA_WITH_3DES_EDE_CBC_SHA", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384", "TLS_RSA_WITH_AES_128_CBC_SHA256", "TLS_RSA_WITH_AES_128_GCM_SHA256", "TLS_RSA_WITH_AES_256_CBC_SHA256", "TLS_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384", "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA", "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256", "TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384", "TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384", "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA", "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256", "TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384", "TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384" ], "type": "string" }, "type": "array", "description": "supported SSL cipher list to client side", "title": "supported SSL cipher list to client side" }, "protocols": { "items": { "description": "SSL protocol", "enum": [ "SSL_V2", "SSL_V3", "TLS_V1", "TLS_V1_1", "TLS_V1_2" ], "type": "string" }, "type": "array", "description": "SSL versions TLS1.1 and TLS1.2 are supported and enabled by default.\nSSLv2, SSLv3, and TLS1.0 are supported, but disabled by default.\n", "title": "supported SSL protocol list to client side" } } } ] }, "LbAppProfile": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "discriminator": "resource_type", "x-vmw-nsx-module": "LoadBalancer", "required": [ "resource_type" ], "type": "object", "properties": { "resource_type": { "description": "An application profile can be bound to a virtual server\nto specify the application protocol characteristics. It is used to\ninfluence how load balancing is performed. Currently, three types of\napplication profiles are supported: LbFastTCPProfile,\nLbFastUDPProfile and LbHttpProfile.\nLbFastTCPProfile or LbFastUDPProfile is typically\nused when the application is using a custom protocol or a standard protocol\nnot supported by the load balancer. It is also used in cases where the user\nonly wants L4 load balancing mainly because L4 load balancing has much\nhigher performance and scalability, and/or supports connection mirroring.\nLbHttpProfile is used for both HTTP and HTTPS applications.\nThough application rules, if bound to the virtual server, can be used\nto accomplish the same goal, LbHttpProfile is intended to\nsimplify enabling certain common use cases.\n", "enum": [ "LbHttpProfile", "LbFastTcpProfile", "LbFastUdpProfile" ], "type": "string" } } } ] }, "PolicyLabel": { "x-vmw-nsx-module": "PolicyLabel", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "required": [ "type" ], "x-vmw-nsx-module": "PolicyLabel", "type": "object", "properties": { "refs": { "items": { "type": "string" }, "type": "array", "description": "Policy entity paths referred by the label instance", "title": "Policy entity paths referred by the label instance" }, "type": { "type": "string", "description": "Policy intent entity type from PolicyResourceType", "title": "Policy intent entity type from PolicyResourceType" } } } ], "description": "Label to reference group of policy entities of same type.", "title": "Label to reference group of policy entities of same type." }, "DirectoryDomainListResults": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/DirectoryDomain" }, "type": "array", "description": "List of Directory Domains", "maxItems": 500, "title": "List of Directory Domains" } } } ], "description": "List of Directory Domain", "title": "List of Directory Domain" }, "LbSnatIpElement": { "x-vmw-nsx-module": "LoadBalancer", "required": [ "ip_address" ], "type": "object", "properties": { "ip_address": { "description": "Ip address or ip range such as 1.1.1.1 or 1.1.1.101-1.1.1.160", "format": "address-or-block-or-range", "type": "string" }, "prefix_length": { "format": "int64", "type": "integer", "description": "Subnet prefix length should be not specified if there is only one single\nIP address or IP range.\n", "title": "subnet prefix length" } } }, "DirectoryDomainSyncNode": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "required": [ "distinguished_name" ], "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "distinguished_name": { "type": "string", "description": "Distinguished name of the domain sync node", "title": "Distinguished name" } } } ], "description": "Directory Domain Synchronization Nodes", "title": "Directory Domain Synchronization Nodes" }, "RealizedNSServiceListResult": { "x-vmw-nsx-module": "PolicyRealizedState", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "PolicyRealizedState", "type": "object", "properties": { "results": { "items": { "title": "Realized nsservice list results", "$ref": "#/definitions/RealizedNSService" }, "readOnly": true, "type": "array", "description": "Paged Collection of realized services", "title": "Paged Collection of realized services" } } } ] }, "LBCookiePersistenceProfile": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/LBPersistenceProfile" }, { "x-vmw-nsx-module": "ManagerNode", "type": "object" } ], "description": "Some applications maintain state and require all relevant connections\nto be sent to the same server as the application state is not\nsynchronized among servers. Persistence is enabled on a\nLBVirtualServer\nby binding a persistence profile to it.\n", "title": "LBPersistenceProflie using Cookies for L7 LBVirtualServer" }, "X509CrlEntry": { "x-vmw-nsx-module": "CertificateManager", "type": "object", "description": "Each revoked certificate is identified in a CRL by its certificate serial number.", "properties": { "revocation_date": { "readOnly": true, "type": "string", "description": "Revocation date" }, "serial_number": { "readOnly": true, "type": "string", "description": "the revoked certificate's serial number" } }, "title": "Each revoked certificate is identified in a CRL by its certificate serial number." }, "StringListResult": { "x-vmw-nsx-module": "PolicyKvStore", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "PolicyKvStore", "type": "object", "properties": { "results": { "items": { "type": "string" }, "type": "array", "description": "Domain list results", "title": "Domain list results" } } } ], "description": "Collection of all records", "title": "Collection of all records" }, "AppliedTos": { "x-vmw-nsx-module": "UpmCommon", "type": "object", "description": "Entity lists where the profile will be enabled on.\n", "properties": { "logical_ports": { "items": { "$ref": "#/definitions/ResourceReference" }, "readOnly": false, "type": "array", "description": "Logical Port List", "title": "Logical Port List" }, "logical_switches": { "items": { "$ref": "#/definitions/ResourceReference" }, "readOnly": false, "type": "array", "description": "Logical Switch List", "title": "Logical Switch List" }, "nsgroups": { "items": { "$ref": "#/definitions/ResourceReference" }, "readOnly": false, "type": "array", "description": "NSGroup List", "title": "NSGroup List" } }, "title": "Entities Applied to Profile" }, "LBFastTcpProfile": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/LBAppProfile" }, { "x-vmw-nsx-module": "ManagerNode", "type": "object" } ] }, "Resource": { "x-vmw-nsx-module": "Common", "type": "object", "description": "Base class for resources", "properties": { "_self": { "readOnly": true, "title": "Link to this resource", "description": "Link to this resource", "$ref": "#/definitions/SelfResourceLink" }, "_links": { "items": { "$ref": "#/definitions/ResourceLink" }, "readOnly": true, "type": "array", "description": "The server will populate this field when returing the resource. Ignored on PUT and POST.", "title": "References related to this resource" }, "_schema": { "readOnly": true, "type": "string", "description": "Schema for this resource", "title": "Schema for this resource" } }, "title": "Base class for resources" }, "ConstraintListResult": { "x-vmw-nsx-module": "PolicyConstraints", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "PolicyConstraints", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/Constraint" }, "type": "array", "description": "Constraint list results", "title": "Constraint list results" } } } ], "description": "Paged Collection of Constraints", "title": "Paged Collection of Constraints" }, "IPSecVPNPolicySubnet": { "description": "Used to specify the local/peer subnets in IPSec VPN Policy rule.", "title": "Subnet for IPSec Policy based VPN", "required": [ "subnet" ], "x-vmw-nsx-module": "IPSecVPN", "type": "object", "properties": { "subnet": { "description": "Subnet used in policy rule.", "format": "ipv4-cidr-block", "type": "string" } } }, "LbCookieTime": { "discriminator": "type", "x-vmw-nsx-module": "LoadBalancer", "required": [ "type" ], "type": "object", "properties": { "type": { "description": "Both session cookie and persistence cookie are supported,\nUse LbSessionCookieTime for session cookie time setting,\nUse LbPersistenceCookieTime for persistence cookie time setting\n", "enum": [ "LbSessionCookieTime", "LbPersistenceCookieTime" ], "type": "string" } } }, "GroupConnection": { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "allOf": [ { "$ref": "#/definitions/Connection" }, { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "type": "object" } ], "description": "GroupConnection contains the statistic information of the connection between\ntwo groups.\n", "title": "Group connection" }, "LBVirtualServerIpSetNsGroupMembers": { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "allOf": [ { "$ref": "#/definitions/LBVirtualServerPoolMembersInfo" }, { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "type": "object", "properties": { "ns_group_id": { "readOnly": true, "type": "string", "description": "Membership of Loabalancer virtual server pool specified\nusing NsGroup of IPSets.\n", "title": "NsGroup Id." } } } ], "description": "Virtual server pool members based on NsGruop of IPSet.\n", "title": "Loadbalancer virtual server member based on NsGroup of ipset" }, "BridgeEndpointListResult": { "x-vmw-nsx-module": "BridgeEndpoint", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "BridgeEndpoint", "type": "object", "properties": { "results": { "description": "BridgeEndpoint Results", "title": "BridgeEndpoint Results", "minItems": 0, "items": { "$ref": "#/definitions/BridgeEndpoint" }, "readOnly": true, "type": "array" } } } ], "description": "Bridge Endpoint queries result", "title": "Bridge Endpoint queries result" }, "LbSslCipherInfo": { "description": "SSL cipher", "title": "SSL cipher", "required": [ "is_default", "is_secure", "cipher" ], "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "is_default": { "type": "boolean", "description": "Default SSL cipher flag", "title": "Default SSL cipher flag" }, "is_secure": { "type": "boolean", "description": "Secure/insecure SSL cipher flag", "title": "Secure/insecure SSL cipher flag" }, "cipher_group_labels": { "items": { "description": "SSL cipher group", "enum": [ "BALANCED", "HIGH_SECURITY", "HIGH_COMPATIBILITY", "CUSTOM" ], "type": "string" }, "type": "array", "description": "Several cipher groups might contain the same cipher suite, each cipher\nsuite could have multiple cipher group labels.\n", "title": "Cipher group label list" }, "cipher": { "description": "SSL cipher", "enum": [ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA", "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA", "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA", "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA", "TLS_RSA_WITH_AES_256_CBC_SHA", "TLS_RSA_WITH_AES_128_CBC_SHA", "TLS_RSA_WITH_3DES_EDE_CBC_SHA", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384", "TLS_RSA_WITH_AES_128_CBC_SHA256", "TLS_RSA_WITH_AES_128_GCM_SHA256", "TLS_RSA_WITH_AES_256_CBC_SHA256", "TLS_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384", "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA", "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256", "TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384", "TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384", "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA", "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256", "TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384", "TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384" ], "type": "string" } } }, "DomainDeploymentMapListResult": { "x-vmw-nsx-module": "PolicyEnforcementPointManagement", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "PolicyEnforcementPointManagement", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/DomainDeploymentMap" }, "type": "array", "description": "Domain Deployment Map", "title": "Domain Deployment Map" } } } ], "description": "Paged Collection of Domain Deployment map", "title": "Paged Collection of Domain Deployment map" }, "ChildL2VpnContext": { "x-vmw-nsx-module": "PolicyL2Vpn", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "L2VpnContext" ], "x-vmw-nsx-module": "PolicyL2Vpn", "type": "object", "properties": { "L2VpnContext": { "title": "L2VpnContext", "description": "Contains the actual L2VpnContext object.\n", "$ref": "#/definitions/L2VpnContext" } } } ], "description": "Child wrapper object for L2VpnContext, used in hierarchical API.", "title": "Wrapper object for L2VpnContext" }, "AbstractSpace": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "connectivity_strategy": { "enum": [ "WHITELIST", "BLACKLIST", "WHITELIST_ENABLE_LOGGING", "BLACKLIST_ENABLE_LOGGING", "NONE" ], "type": "string", "description": "This field indicates the default connectivity policy for the infra\nor tenant space\nWHITELIST - Adds a default drop rule. Administrator can then use \"allow\"\nrules (aka whitelist) to allow traffic between groups\nBLACKLIST - Adds a default allow rule. Admin can then use \"drop\" rules\n(aka blacklist) to block traffic between groups\nWHITELIST_ENABLE_LOGGING - Whitelising with logging enabled\nBLACKLIST_ENABLE_LOGGING - Blacklisting with logging enabled\nNONE - No default rules are added.\n", "title": "Connectivity strategy used by this tenant" } } } ], "description": "Represents the space in which the policy is being defined", "title": "The space in which policy is being defined" }, "ContainerConfiguration": { "x-vmw-nsx-module": "NsxDashboard", "allOf": [ { "$ref": "#/definitions/WidgetConfiguration" }, { "x-vmw-nsx-module": "NsxDashboard", "type": "object", "properties": { "widgets": { "minItems": 0, "items": { "$ref": "#/definitions/WidgetItem" }, "type": "array", "description": "If not specified, creates an empty container.", "title": "Widgets held by the container" }, "navigation": { "maxLength": 1024, "type": "string", "description": "Hyperlink of the specified UI page that provides details.", "title": "Navigation to a specified UI page" }, "labels": { "minItems": 0, "items": { "$ref": "#/definitions/Label" }, "type": "array", "description": "Labels for the container.", "title": "Labels" }, "span": { "default": 2, "format": "int32", "type": "integer", "description": "Represents the horizontal span of the container.", "title": "Number of widgets to be held in this container horizontally" } } } ], "description": "Represents a container to group widgets that belong to a common category or have a common purpose.", "title": "Container that holds widgets" }, "LBServerSslProfile": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/LBSslProfile" }, { "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "cipher_group_label": { "description": "It is a label of cipher group which is mostly consumed by GUI.\n", "enum": [ "BALANCED", "HIGH_SECURITY", "HIGH_COMPATIBILITY", "CUSTOM" ], "type": "string" } } } ] }, "WidgetConfiguration": { "x-vmw-nsx-module": "NsxDashboard", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "required": [ "display_name", "resource_type" ], "discriminator": "resource_type", "x-vmw-nsx-module": "NsxDashboard", "type": "object", "properties": { "resource_type": { "description": "Supported visualization types are LabelValueConfiguration, DonutConfiguration, GridConfiguration, StatsConfiguration, MultiWidgetConfiguration and ContainerConfiguration.", "title": "Widget visualization type", "enum": [ "LabelValueConfiguration", "DonutConfiguration", "MultiWidgetConfiguration", "ContainerConfiguration", "StatsConfiguration", "GridConfiguration" ], "readOnly": true, "maxLength": 255, "type": "string" }, "display_name": { "maxLength": 255, "type": "string", "description": "Title of the widget.", "title": "Widget Title" }, "datasources": { "minItems": 0, "items": { "$ref": "#/definitions/Datasource" }, "type": "array", "description": "The 'datasources' represent the sources from which data will be fetched. Currently, only NSX-API is supported as a 'default' datasource. An example of specifying 'default' datasource along with the urls to fetch data from is given at 'example_request' section of 'CreateWidgetConfiguration' API.", "title": "Array of Datasource Instances with their relative urls" }, "weight": { "format": "int32", "type": "integer", "description": "Specify relavite weight in WidgetItem for placement in a view. Please see WidgetItem for details.", "x-deprecated": true, "title": "Weightage or placement of the widget or container" }, "footer": { "$ref": "#/definitions/Footer" }, "shared": { "type": "boolean", "description": "Please use the property 'shared' of View instead of this. The widgets of a shared view are visible to other users.", "x-deprecated": true, "title": "Visiblity of widgets to other users" }, "drilldown_id": { "maxLength": 255, "type": "string", "description": "Id of drilldown widget, if any. Id should be a valid id of an existing widget. A widget is considered as drilldown widget when it is associated with any other widget and provides more detailed information about any data item from the parent widget.", "title": "Id of drilldown widget" }, "is_drilldown": { "default": false, "type": "boolean", "description": "Set to true if this widget should be used as a drilldown.", "title": "Set as a drilldown widget" } } } ], "description": "Describes the configuration of a widget to be displayed on the dashboard. WidgetConfiguration is a base type that provides attributes of a widget in-general.", "title": "Dashboard Widget Configuration" }, "DiscoverySession": { "x-vmw-nsx-module": "PolicyOperations", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "x-vmw-nsx-module": "PolicyOperations", "type": "object" } ], "description": "Contains the details of selected application/domain discovery session\n", "title": "Contains the details of selected application/domain discovery session" }, "LbSslCipherAndProtocolListResult": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "LoadBalancer", "required": [ "ciphers", "protocols" ], "type": "object", "properties": { "ciphers": { "items": { "$ref": "#/definitions/LbSslCipherInfo" }, "type": "array", "description": "List of SSL ciphers", "title": "List of SSL ciphers" }, "protocols": { "items": { "$ref": "#/definitions/LbSslProtocolInfo" }, "type": "array", "description": "List of SSL protocols", "title": "List of SSL protocols" } } } ] }, "NSServiceGroupDeleteRequestParameters": { "x-vmw-nsx-module": "NSServiceGroup", "allOf": [ { "$ref": "#/definitions/DeleteRequestParameters" }, { "x-vmw-nsx-module": "NSServiceGroup", "type": "object" } ], "description": "NSServiceGroup delete request parameters", "title": "NSServiceGroup delete request parameters" }, "LBSourceIpPersistenceProfile": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/LBPersistenceProfile" }, { "x-vmw-nsx-module": "ManagerNode", "type": "object" } ], "description": "Some applications maintain state and require all relevant connections\nto be sent to the same server as the application state is not\nsynchronized among servers. Persistence is enabled on a\nLBVirtualServer by binding a persistence profile to it.\n", "title": "LBPersistenceProflie using SourceIP" }, "IpfixCollector": { "x-vmw-nsx-module": "Ipfix", "required": [ "collector_ip_address" ], "type": "object", "properties": { "collector_ip_address": { "description": "IP address for the IPFIX collector", "format": "ip", "type": "string" }, "collector_port": { "description": "Port for the IPFIX collector", "title": "Port for the IPFIX collector", "default": 4739, "format": "int32", "maximum": 65535, "minimum": 0, "type": "integer" } } }, "RateLimits": { "x-vmw-nsx-module": "SwitchSecuritySwitchingProfile", "type": "object", "description": "Enables traffic limit for incoming/outgoing broadcast and multicast packets. Use 0 to disable rate limiting for a specific traffic type", "properties": { "rx_multicast": { "description": "Incoming multicast traffic limit in packets per second", "title": "Incoming multicast traffic limit in packets per second", "default": 0, "format": "int32", "readOnly": false, "minimum": 0, "type": "integer" }, "tx_multicast": { "description": "Outgoing multicast traffic limit in packets per second", "title": "Outgoing multicast traffic limit in packets per second", "default": 0, "format": "int32", "readOnly": false, "minimum": 0, "type": "integer" }, "enabled": { "default": false, "readOnly": false, "type": "boolean", "description": "Whether rate limiting is enabled", "title": "Whether rate limiting is enabled" }, "tx_broadcast": { "description": "Outgoing broadcast traffic limit in packets per second", "title": "Outgoing broadcast traffic limit in packets per second", "default": 0, "format": "int32", "readOnly": false, "minimum": 0, "type": "integer" }, "rx_broadcast": { "description": "Incoming broadcast traffic limit in packets per second", "title": "Incoming broadcast traffic limit in packets per second", "default": 0, "format": "int32", "readOnly": false, "minimum": 0, "type": "integer" } }, "title": "Rate limiting configuration" }, "X509Crl": { "x-vmw-nsx-module": "CertificateManager", "type": "object", "description": "A CRL is a time-stamped list identifying revoked certificates.", "properties": { "next_update": { "readOnly": true, "type": "string", "description": "Next update time for the CRL" }, "version": { "readOnly": true, "type": "string", "description": "CRL's version number either 1 or 2" }, "crl_entries": { "items": { "$ref": "#/definitions/X509CrlEntry" }, "readOnly": true, "type": "array", "description": "list of X509CrlEntry" }, "issuer": { "readOnly": true, "type": "string", "description": "Issuer's distinguished name(DN)" } }, "title": "A CRL is a time-stamped list identifying revoked certificates." }, "SegmentSubnet": { "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "description": "Subnet configuration for segment", "properties": { "gateway_address": { "format": "ip-cidr-block", "type": "string", "description": "Gateway IP address in CIDR format for both IPv4 and IPv6.\n", "title": "Gateway IP address." }, "dhcp_ranges": { "items": { "description": "IPElement can be a single IP address, IP address range or a Subnet. Its\ntype can be of IPv4 or IPv6. Supported list of formats are \"192.168.1.1\",\n\"192.168.1.1-192.168.1.100\", \"192.168.0.0/24\",\n\"fe80::250:56ff:fe83:318c\",\n\"fe80::250:56ff:fe83:3181-fe80::250:56ff:fe83:318c\",\n\"fe80::250:56ff:fe83:318c/64\"\n", "format": "address-or-block-or-range", "type": "string" }, "type": "array", "description": "DHCP address ranges are used for dynamic IP allocation.\nSupports address range and CIDR formats. First valid\nhost address from the first value is assigned to DHCP server\nIP address. Existing values cannot be deleted or modified,\nbut additional DHCP ranges can be added.\n", "title": "DHCP address ranges for dynamic IP allocation" }, "network": { "readOnly": true, "type": "string", "description": "Network CIDR for this subnet calculated from gateway_addresses and\nprefix_len.\n", "title": "Network CIDR for subnet" } }, "title": "Subnet configuration for segment" }, "RealizedIPSetListResult": { "x-vmw-nsx-module": "PolicyRealizedState", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "PolicyRealizedState", "type": "object", "properties": { "results": { "items": { "title": "Realized IPSet list result", "$ref": "#/definitions/RealizedIPSet" }, "type": "array", "description": "Paged Collection of Realized IPSets", "title": "Paged Collection of Realized IPSets" } } } ] }, "ChildTier0Interface": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "Tier0Interface" ], "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "Tier0Interface": { "title": "Tier0Interface", "description": "Contains the actual Tier0Interface object.\n", "$ref": "#/definitions/Tier0Interface" } } } ], "description": "Child wrapper object for Tier0Interface, used in hierarchical API.", "title": "Wrapper object for Tier0Interface" }, "LBSnatInfo": { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "type": "object", "description": "Load balancer Virtual server pool Source Network Address Translation (SNAT) information\n", "properties": { "snat_mode": { "readOnly": true, "enum": [ "TRANSPARENT", "AUTO_MAP", "IP_LIST" ], "type": "string", "description": "SNAT mode configured.\n", "title": "SNAT mode" }, "source_ip_addresses": { "items": { "type": "string" }, "readOnly": true, "type": "array", "description": "Source ip addresses to use during SNAT.\n", "title": "Source ip addresses to use during SNAT" }, "port_overload": { "description": "Port to apply for source port during SNAT.\n", "title": "SNAT port overload", "format": "int32", "maximum": 65535, "readOnly": true, "minimum": 0, "type": "integer" } }, "title": "Loadbalancer SNAT info" }, "EdgeNodeElement": { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "allOf": [ { "$ref": "#/definitions/NodeElement" }, { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "type": "object", "properties": { "elements": { "items": { "$ref": "#/definitions/ServiceElement" }, "type": "array", "description": "Array of service elements", "title": "Array of service elements" } } } ], "description": "Edge node element extends from Element class. This class contains the\ninformation of Edge.\n", "title": "Edge node element" }, "PortMirroringInstance": { "x-vmw-nsx-module": "PolicyOperations", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "required": [ "destination_group" ], "x-vmw-nsx-module": "PolicyOperations", "type": "object", "properties": { "snap_length": { "description": "If this property is set, the packet will be truncated to the provided\nlength. If this property is unset, entire packet will be mirrored.\n", "format": "int32", "title": "Maximum packet length for packet truncation", "maximum": 65535, "minimum": 60, "type": "integer" }, "direction": { "enum": [ "INGRESS", "EGRESS", "BIDIRECTIONAL" ], "type": "string", "description": "Port mirroring instance direction", "title": "Direction" }, "destination_group": { "type": "string", "description": "Data from source group will be copied to members of\ndestination group.\n", "title": "Destination group path" } } } ], "description": "Mirrors Data from source to destination", "title": "Mirrors Data from source to destination" }, "FeatureAccess": { "x-vmw-nsx-module": "AAA", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "AAA", "type": "object", "properties": { "information": { "items": { "$ref": "#/definitions/FeatureInfo" }, "type": "array", "description": "Feature Info", "title": "Feature Info" }, "enabled": { "readOnly": true, "type": "boolean", "description": "Feature enabled or not", "title": "Feature enabled or not" }, "feature": { "readOnly": true, "type": "string", "description": "Feature", "title": "Feature" } } } ], "description": "Feature access", "title": "Feature access" }, "LBHttpProfile": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/LBAppProfile" }, { "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "x_forwarded_for": { "description": "insert or replace x_forwarded_for", "enum": [ "INSERT" ], "type": "string" } } } ] }, "IpfixConfigListResult": { "x-vmw-nsx-module": "Ipfix", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "Ipfix", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/IpfixConfig" }, "readOnly": true, "type": "array", "description": "IPFIX Config", "title": "IPFIX Config" } } } ], "description": "List of IPFIX Config", "title": "List of IPFIX Config" }, "TraceflowObservationReceived": { "x-vmw-nsx-module": "Traceflow", "allOf": [ { "$ref": "#/definitions/TraceflowObservation" }, { "x-vmw-nsx-module": "Traceflow", "type": "object", "properties": { "vtep_label": { "format": "int64", "type": "integer", "description": "The virtual tunnel endpoint label", "title": "The virtual tunnel endpoint label" }, "uplink_name": { "type": "string", "description": "The name of the uplink the traceflow packet is received on", "title": "The name of the uplink the traceflow packet is received on" }, "local_ip_address": { "description": "IP address of the destination end of the tunnel", "format": "ip", "type": "string" }, "remote_ip_address": { "description": "IP address of the source end of the tunnel", "format": "ip", "type": "string" } } } ] }, "Service": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "required": [ "service_entries" ], "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "service_entries": { "items": { "$ref": "#/definitions/ServiceEntry" }, "type": "array", "description": "Service type", "title": "Service type" } } } ], "description": "Used while defining a CommunicationEntry. A service may have multiple\nservice entries.\n", "title": "Contains the information related to a service" }, "IpMacPair": { "description": "IP and MAC pair.", "title": "IP and MAC pair.", "required": [ "ip" ], "x-vmw-nsx-module": "TransportNode", "type": "object", "properties": { "ip": { "description": "IP address", "format": "ip", "readOnly": false, "type": "string" }, "mac": { "description": "MAC address", "pattern": "/^(([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2}))|(([0-9A-Fa-f]{2}[-]){5}([0-9A-Fa-f]{2}))$/", "readOnly": false, "type": "string" } } }, "RealizedSecurityGroupListResult": { "x-vmw-nsx-module": "PolicyRealizedState", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "PolicyRealizedState", "type": "object", "properties": { "results": { "items": { "title": "Security Group list results", "$ref": "#/definitions/RealizedSecurityGroup" }, "readOnly": true, "type": "array", "description": "Paged Collection of realized Security Groups", "title": "Paged Collection of realized Security Groups" } } } ] }, "InstanceEndpointListResult": { "x-vmw-nsx-module": "ServiceInsertion", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "ServiceInsertion", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/InstanceEndpoint" }, "readOnly": true, "type": "array", "description": "List of instance endpoints.", "title": "Instance End Point list" } } } ], "description": "List of instance endpoints.", "title": "Instance Endpoint List" }, "VerifiableAsymmetricLoginCredential": { "x-vmw-nsx-module": "Types", "allOf": [ { "$ref": "#/definitions/LoginCredential" }, { "x-vmw-nsx-module": "Types", "type": "object", "properties": { "asymmetric_credential": { "type": "string", "description": "Asymmetric login credential", "title": "Asymmetric login credential" }, "credential_verifier": { "type": "string", "description": "Credential verifier", "title": "Credential verifier" }, "credential_key": { "type": "string", "description": "Credential key", "title": "Credential key" } } } ] }, "LBMonitorProfile": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "discriminator": "resource_type", "x-vmw-nsx-module": "ManagerNode", "required": [ "resource_type" ], "type": "object", "properties": { "resource_type": { "description": "Load balancers monitor the health of backend servers to ensure traffic\nis not black holed.\nIn case of active healthchecks, load balancer itself initiates new\nconnections (or sends ICMP ping) to the servers periodically to check their\nhealth, completely independent of any data traffic.\nCurrently, active health monitors are supported for HTTP, HTTPS, TCP, UDP\nand ICMP protocols.\n", "enum": [ "LBTcpMonitorProfile", "LBUdpMonitorProfile", "LBIcmpMonitorProfile", "LBHttpMonitorProfile", "LBHttpsMonitorProfile" ], "type": "string" } } } ] }, "ServiceInsertionSectionListResult": { "x-vmw-nsx-module": "ServiceInsertionRules", "allOf": [ { "$ref": "#/definitions/DSSectionListResult" }, { "x-vmw-nsx-module": "ServiceInsertionRules", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/ServiceInsertionSection" }, "readOnly": true, "type": "array", "description": "List of the ServiceInsertion sections. The list has to be homogeneous.", "title": "Section list" } } } ], "description": "List of ServiceInsertion Sections.", "title": "ServiceInsertion Section List" }, "IPSecVPNDPDProfileListResult": { "x-vmw-nsx-module": "IPSecVPN", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "IPSecVPN", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/IPSecVPNDPDProfile" }, "type": "array", "description": "IPSec DPD Profile list results", "title": "IPSec DPD Profile list results" } } } ], "description": "List all the dead peer detection (DPD) profiles.", "title": "List dead peer detection (DPD) profiles" }, "StaticHopBfdPeerDeleteRequestParameters": { "x-vmw-nsx-module": "Routing", "allOf": [ { "$ref": "#/definitions/DeleteRequestParameters" }, { "x-vmw-nsx-module": "Routing", "type": "object" } ], "description": "BFD peer delete request parameters", "title": "BFD peer delete request parameters" }, "PacketCaptureSessionList": { "x-vmw-nsx-module": "PacketCapture", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "PacketCapture", "required": [ "result_count" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/PacketCaptureSession" }, "type": "array", "description": "Packet capture list for all sessoins", "title": "Packet capture list for all sessoins" }, "result_count": { "format": "int64", "type": "integer", "description": "Total capture session count", "title": "Total capture session count" } } } ] }, "ChildLBClientSslProfile": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "LBClientSslProfile" ], "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "LBClientSslProfile": { "title": "LBClientSslProfile", "description": "Contains the actual LBClientSslProfile object\n", "$ref": "#/definitions/LBClientSslProfile" } } } ], "description": "Child wrapper for LBClientSslProfile, used in hierarchical API\n", "title": "Wrapper object for LBClientSslProfile" }, "IPSecVPNService": { "x-vmw-nsx-module": "IPSecVPN", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "required": [ "logical_router_id" ], "x-vmw-nsx-module": "IPSecVPN", "type": "object", "properties": { "ike_log_level": { "default": "INFO", "enum": [ "DEBUG", "INFO", "WARN", "ERROR", "EMERGENCY" ], "type": "string", "description": "Log level for internet key exchange (IKE).", "title": "Internet key exchange (IKE) log level" }, "logical_router_id": { "type": "string", "description": "Logical router id.", "title": "Logical router id" }, "bypass_rules": { "items": { "$ref": "#/definitions/IPSecVPNPolicyRule" }, "type": "array", "description": "Bypass policy rules are configured using VPN service.\nBypass rules always have higher priority over protect\nrules and they affect all policy based vpn sessions associated\nwith the IPSec VPN service. Protect rules are defined per\npolicy based vpn session.\n", "title": "Bypass Policy rules" }, "enabled": { "default": true, "type": "boolean", "description": "If true, enable VPN services for given logical router.", "title": "Enable virtual private network (VPN) service" } } } ], "description": "Create and manage IPSec VPN service for given logical router.", "title": "IPSec VPN service" }, "LBSelectPoolAction": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/LBRuleAction" }, { "required": [ "pool_id" ], "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "pool_id": { "type": "string", "description": "path of load balancer pool", "title": "path of load balancer pool" } } } ], "description": "This action is used to select a pool for matched HTTP request messages. The\npool is specified by path. The matched HTTP request messages are forwarded\nto the specified pool.\n", "title": "Action to select a pool for HTTP request messages" }, "NodeInterfaceStatisticsProperties": { "x-vmw-nsx-module": "ApplianceStats", "allOf": [ { "$ref": "#/definitions/Resource" }, { "x-vmw-nsx-module": "ApplianceStats", "type": "object", "properties": { "tx_dropped": { "format": "int64", "type": "integer", "description": "Number of packets dropped", "title": "Number of packets dropped" }, "rx_packets": { "format": "int64", "type": "integer", "description": "Number of packets received", "title": "Number of packets received" }, "tx_carrier": { "format": "int64", "type": "integer", "description": "Number of carrier losses detected", "title": "Number of carrier losses detected" }, "rx_bytes": { "format": "int64", "type": "integer", "description": "Number of bytes received", "title": "Number of bytes received" }, "tx_errors": { "format": "int64", "type": "integer", "description": "Number of transmit errors", "title": "Number of transmit errors" }, "interface_id": { "type": "string", "description": "Interface ID", "title": "Interface ID" }, "tx_colls": { "format": "int64", "type": "integer", "description": "Number of collisions detected", "title": "Number of collisions detected" }, "rx_frame": { "format": "int64", "type": "integer", "description": "Number of framing errors", "title": "Number of framing errors" }, "rx_errors": { "format": "int64", "type": "integer", "description": "Number of receive errors", "title": "Number of receive errors" }, "tx_bytes": { "format": "int64", "type": "integer", "description": "Number of bytes transmitted", "title": "Number of bytes transmitted" }, "rx_dropped": { "format": "int64", "type": "integer", "description": "Number of packets dropped", "title": "Number of packets dropped" }, "tx_packets": { "format": "int64", "type": "integer", "description": "Number of packets transmitted", "title": "Number of packets transmitted" }, "source": { "description": "Source of status data.", "enum": [ "realtime", "cached" ], "type": "string" } } } ], "description": "Node network interface statistic properties", "title": "Node network interface statistic properties" }, "TeamingPolicy": { "description": "Uplink Teaming Policy", "title": "Uplink Teaming Policy", "required": [ "policy", "active_list" ], "x-vmw-nsx-module": "UplinkHostSwitchProfile", "type": "object", "properties": { "policy": { "enum": [ "FAILOVER_ORDER", "LOADBALANCE_SRCID" ], "type": "string", "description": "Teaming policy", "title": "Teaming policy" }, "standby_list": { "items": { "$ref": "#/definitions/Uplink" }, "type": "array", "description": "List of Uplinks used in standby list", "title": "List of Uplinks used in standby list" }, "active_list": { "items": { "$ref": "#/definitions/Uplink" }, "type": "array", "description": "List of Uplinks used in active list", "title": "List of Uplinks used in active list" } } }, "AdvertiseRule": { "x-vmw-nsx-module": "Routing", "required": [ "networks" ], "type": "object", "properties": { "action": { "default": "ALLOW", "enum": [ "DENY", "ALLOW" ], "type": "string", "description": "ALLOW action enables the advertisment and DENY action disables the advertisement of a filtered routes to the connected TIER0 router.", "title": "Action to ALLOW or DENY advertisement of routes" }, "rule_filter": { "title": "Rule filter for the advertise rule", "description": "Rule filter for the advertise rule", "$ref": "#/definitions/AdvertisementRuleFilter" }, "display_name": { "maxLength": 255, "type": "string", "description": "Display name", "title": "Display name" }, "networks": { "items": { "description": "IPv4 CIDR Block", "format": "ipv4-cidr-block", "type": "string" }, "type": "array", "description": "network(CIDR) to be routed", "title": "network(CIDR) to be routed" }, "description": { "maxLength": 1024, "type": "string", "description": "Description", "title": "Description" } } }, "LbHttpSslCondition": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbRuleCondition" }, { "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "client_supported_ssl_ciphers": { "items": { "description": "SSL cipher", "enum": [ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA", "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA", "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA", "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA", "TLS_RSA_WITH_AES_256_CBC_SHA", "TLS_RSA_WITH_AES_128_CBC_SHA", "TLS_RSA_WITH_3DES_EDE_CBC_SHA", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384", "TLS_RSA_WITH_AES_128_CBC_SHA256", "TLS_RSA_WITH_AES_128_GCM_SHA256", "TLS_RSA_WITH_AES_256_CBC_SHA256", "TLS_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384", "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA", "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256", "TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384", "TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384", "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA", "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256", "TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384", "TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384" ], "type": "string" }, "type": "array", "description": "Cipher list which supported by client", "title": "Cipher list which supported by client" }, "client_certificate_issuer_dn": { "title": "The issuer DN match condition of the client certificate", "description": "The issuer DN match condition of the client certificate for an\nestablished SSL connection\n", "$ref": "#/definitions/LbClientCertificateIssuerDnCondition" }, "client_certificate_subject_dn": { "title": "The subject DN match condition of the client certificate", "description": "The subject DN match condition of the client certificate for an\nestablished SSL connection\n", "$ref": "#/definitions/LbClientCertificateSubjectDnCondition" }, "used_ssl_cipher": { "description": "Cipher used for an established SSL connection", "enum": [ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA", "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA", "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA", "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA", "TLS_RSA_WITH_AES_256_CBC_SHA", "TLS_RSA_WITH_AES_128_CBC_SHA", "TLS_RSA_WITH_3DES_EDE_CBC_SHA", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256", "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384", "TLS_RSA_WITH_AES_128_CBC_SHA256", "TLS_RSA_WITH_AES_128_GCM_SHA256", "TLS_RSA_WITH_AES_256_CBC_SHA256", "TLS_RSA_WITH_AES_256_GCM_SHA384", "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384", "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA", "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256", "TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256", "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384", "TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384", "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA", "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256", "TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256", "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384", "TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384" ], "type": "string" }, "session_reused": { "description": "The type of SSL session reused", "default": "IGNORE", "enum": [ "IGNORE", "REUSED", "NEW" ], "type": "string" }, "used_protocol": { "description": "Protocol of an established SSL connection", "enum": [ "SSL_V2", "SSL_V3", "TLS_V1", "TLS_V1_1", "TLS_V1_2" ], "type": "string" } } } ], "description": "This condition is used to match SSL handshake and SSL connection at\nall phases.If multiple properties are configured, the rule is considered\na match when all the configured properties are matched.\n", "title": "Condition to match SSL handshake and SSL connection" }, "FirewallSection": { "x-vmw-nsx-module": "Firewall", "allOf": [ { "$ref": "#/definitions/DSSection" }, { "x-vmw-nsx-module": "Firewall", "type": "object", "properties": { "enforced_on": { "readOnly": true, "type": "string", "description": "This attribute represents enforcement point of firewall section. For example, firewall section enforced on logical port with attachment type bridge endpoint will have 'BRIDGEENDPOINT' value, firewall section enforced on logical router will have 'LOGICALROUTER' value and rest have 'VIF' value.", "title": "Firewall Section Enforcement type" }, "locked": { "default": false, "readOnly": true, "type": "boolean", "description": "Section is locked/unlocked.", "title": "Section Locked" }, "lock_modified_by": { "readOnly": true, "type": "string", "description": "ID of the user who last modified the lock for the section.", "title": "Lock modified by user" }, "lock_modified_time": { "description": "Section locked/unlocked time in epoch milliseconds.", "format": "int64", "readOnly": true, "type": "integer" }, "comments": { "readOnly": true, "type": "string", "description": "Comments for section lock/unlock.", "title": "Section lock/unlock comments" }, "autoplumbed": { "default": false, "readOnly": true, "type": "boolean", "description": "This flag indicates whether it is an auto-plumbed section that is associated to a LogicalRouter. Auto-plumbed sections are system owned and cannot be updated via the API.", "title": "Tells if a section is auto-plumbed or not" } } } ] }, "ComputeManager": { "x-vmw-nsx-module": "InventoryCmObj", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "InventoryCmObj", "required": [ "origin_type", "server" ], "type": "object", "properties": { "credential": { "readOnly": false, "title": "Login credentials for the compute manager", "description": "Login credentials for the compute manager", "$ref": "#/definitions/LoginCredential" }, "origin_properties": { "items": { "$ref": "#/definitions/KeyValuePair" }, "readOnly": true, "type": "array", "description": "Key-Value map of additional specific properties of compute manager", "title": "Key-Value map of additional specific properties of compute manager" }, "origin_type": { "readOnly": false, "type": "string", "description": "Compute manager type like vCenter", "title": "Compute manager type like vCenter" }, "server": { "readOnly": false, "format": "hostname-or-ip", "type": "string", "description": "IP address or hostname of compute manager", "title": "IP address or hostname of compute manager" } } } ] }, "LBVirtualServerPoolMembersInfo": { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "type": "object", "description": "Virtual server pool members information.\n", "properties": { "membership_type": { "readOnly": true, "enum": [ "LBVirtualServerPoolStaticMembers", "LBVirtualServerIpSetNsGroupMembers" ], "type": "string", "description": "Server pool membership type. Static or\nNsGroups are supported membership types.\n", "title": "Type of server pool membership" }, "members": { "items": { "$ref": "#/definitions/LBVirtualServerPoolMember" }, "readOnly": true, "type": "array", "description": "A load balancer's virtual server pool members list\n", "title": "Loadbalancer server pool members" } }, "title": "Loadbalancer virtual server pool members" }, "FilterRequest": { "description": "Filter request parameters", "title": "Filter request", "required": [ "field_names", "value" ], "x-vmw-nsx-module": "Search", "type": "object", "properties": { "field_names": { "type": "string", "description": "Comma seperated fields to be filtered on", "title": "Field Names" }, "value": { "type": "string", "description": "Filter value", "title": "Value" } } }, "BFDStatusCount": { "x-vmw-nsx-module": "Heatmap", "type": "object", "properties": { "bfd_admin_down_count": { "format": "int32", "type": "integer", "description": "Number of tunnels in BFD admin down state", "title": "Number of tunnels in BFD admin down state" }, "bfd_up_count": { "format": "int32", "type": "integer", "description": "Number of tunnels in BFD up state", "title": "Number of tunnels in BFD up state" }, "bfd_down_count": { "format": "int32", "type": "integer", "description": "Number of tunnels in BFD down state", "title": "Number of tunnels in BFD down state" }, "bfd_init_count": { "format": "int32", "type": "integer", "description": "Number of tunnels in BFD init state", "title": "Number of tunnels in BFD init state" } } }, "AdvertisedNetworksListResult": { "x-vmw-nsx-module": "L3", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "L3", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/AdvertisedNetwork" }, "readOnly": true, "type": "array", "description": "List of networks which advertised to TIER0 from TIER1 LR", "title": "List of advertised networks" } } } ] }, "PolicyResource": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "path": { "readOnly": true, "type": "string", "description": "Absolute path of this object", "title": "Absolute path of this object" }, "parent_path": { "readOnly": true, "type": "string", "description": "Path of its parent", "title": "Path of its parent" }, "relative_path": { "readOnly": true, "type": "string", "description": "Path relative from its parent", "title": "Relative path of this object" } } } ], "description": "Abstract base class for all the policy objects", "title": "Abstract base class for all the policy objects" }, "ConfigurationState": { "x-vmw-nsx-module": "Common", "type": "object", "description": "Describes status of configuration of an entity", "properties": { "state": { "readOnly": true, "enum": [ "pending", "in_progress", "success", "failed", "partial_success", "orphaned", "unknown" ], "type": "string", "description": "Gives details of state of desired configuration", "title": "Overall state of desired configuration" }, "details": { "items": { "$ref": "#/definitions/ConfigurationStateElement" }, "readOnly": true, "type": "array", "description": "Array of configuration state of various sub systems", "title": "Array of configuration state of various sub systems" }, "failure_code": { "readOnly": true, "format": "int64", "type": "integer", "description": "Error code", "title": "Error code" }, "failure_message": { "readOnly": true, "type": "string", "description": "Error message in case of failure", "title": "Error message in case of failure" } }, "title": "Describes status of configuration of an entity" }, "DonutConfiguration": { "x-vmw-nsx-module": "NsxDashboard", "allOf": [ { "$ref": "#/definitions/WidgetConfiguration" }, { "required": [ "sections" ], "x-vmw-nsx-module": "NsxDashboard", "type": "object", "properties": { "navigation": { "maxLength": 1024, "type": "string", "description": "Hyperlink of the specified UI page that provides details.", "title": "Navigation to a specified UI page" }, "display_count": { "default": true, "type": "boolean", "description": "If true, displays the count of entities in the donut", "title": "Show or hide the count of entities" }, "sections": { "minItems": 1, "items": { "$ref": "#/definitions/DonutSection" }, "type": "array", "description": "Sections", "title": "Sections" }, "label": { "title": "Label of the Donut Configuration", "description": "Displayed at the middle of the donut, by default. It labels the entities of donut.", "$ref": "#/definitions/Label" } } } ], "description": "Represents configuration of a Donut", "title": "Donut Configuration" }, "ExtraConfigHostSwitchProfile": { "x-vmw-nsx-module": "ExtraConfigHostSwitchProfile", "allOf": [ { "$ref": "#/definitions/BaseHostSwitchProfile" }, { "x-vmw-nsx-module": "ExtraConfigHostSwitchProfile", "type": "object", "properties": { "extra_configs": { "items": { "$ref": "#/definitions/ExtraConfig" }, "type": "array", "description": "list of extra configs", "title": "list of extra configs" } } } ], "description": "Profile for extra configs in host switch", "title": "Profile for extra configs in host switch" }, "ConjunctionOperator": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/Expression" }, { "required": [ "conjunction_operator" ], "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "conjunction_operator": { "enum": [ "OR", "AND" ], "type": "string", "description": "Conjunction Operator Node", "title": "Conjunction Operator Node" } } } ], "description": "Represents the operators AND or OR", "title": "Represents the operators AND or OR" }, "LbClientCertificateIssuerDnCondition": { "description": "Match condition for client certficate issuer DN", "title": "Match condition for client certficate issuer DN", "required": [ "issuer_dn" ], "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "case_sensitive": { "default": true, "type": "boolean", "description": "If true, case is significant when comparing issuer DN value.\n", "title": "A case sensitive flag for issuer DN comparing" }, "match_type": { "description": "Match type of issuer DN", "default": "REGEX", "enum": [ "STARTS_WITH", "ENDS_WITH", "EQUALS", "CONTAINS", "REGEX" ], "type": "string" }, "issuer_dn": { "type": "string", "description": "Value of issuer DN", "title": "Value of issuer DN" } } }, "BfdConfig": { "x-vmw-nsx-module": "Routing", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "Routing", "type": "object", "properties": { "receive_interval": { "description": "the time interval (in milliseconds) between heartbeat packets for BFD when receiving heartbeats.", "title": "Receive interval for heartbeats", "default": 1000, "format": "int64", "maximum": 60000, "minimum": 100, "type": "integer" }, "declare_dead_multiple": { "description": "Number of times a packet is missed before BFD declares the neighbor down.", "title": "Number of times a packet is missed before BFD declares the neighbor down.", "default": 3, "format": "int64", "maximum": 16, "minimum": 2, "type": "integer" }, "enabled": { "default": false, "type": "boolean", "description": "Flag to enable BFD for this LogicalRouter", "title": "Flag to enable BFD for this LogicalRouter" }, "logical_router_id": { "readOnly": true, "type": "string", "description": "Logical router id", "title": "Logical router id" }, "transmit_interval": { "description": "the time interval (in milliseconds) between heartbeat packets for BFD when sending heartbeats.", "title": "Transmit interval for heartbeats", "default": 1000, "format": "int64", "maximum": 60000, "minimum": 100, "type": "integer" } } } ], "description": "BFD configuration for LogicalRouter", "title": "BFD configuration for LogicalRouter" }, "LBClientSslProfile": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/LBSslProfile" }, { "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "cipher_group_label": { "description": "It is a label of cipher group which is mostly consumed by GUI.\n", "enum": [ "BALANCED", "HIGH_SECURITY", "HIGH_COMPATIBILITY", "CUSTOM" ], "type": "string" } } } ] }, "L2Extension": { "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "description": "Segment specific L2 VPN configuration", "properties": { "l2vpn_paths": { "items": { "type": "string" }, "type": "array", "description": "Policy paths corresponding to the associated L2 VPN sessions.\n", "maxItems": 1, "title": "Policy paths of associated L2 VPN sessions" }, "tunnel_id": { "description": "Tunnel ID", "format": "int32", "title": "Tunnel ID", "maximum": 4093, "minimum": 1, "type": "integer" } }, "title": "Segment specific L2 VPN configuration" }, "ComputeManagerListResult": { "x-vmw-nsx-module": "InventoryCmObj", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "InventoryCmObj", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/ComputeManager" }, "type": "array", "description": "List of compute managers", "title": "List of compute managers" } } } ], "description": "List of compute managers", "title": "List of compute managers" }, "Pnic": { "description": "Physical NIC specification", "title": "Physical NIC specification", "required": [ "uplink_name", "device_name" ], "x-vmw-nsx-module": "TransportNode", "type": "object", "properties": { "uplink_name": { "readOnly": false, "type": "string", "description": "Uplink name for this Pnic. This name will be used to reference this Pnic in other configurations.", "title": "Uplink name for this Pnic. This name will be used to reference this Pnic in other configurations." }, "device_name": { "readOnly": false, "type": "string", "description": "device name or key", "title": "device name or key" } } }, "Icon": { "x-vmw-nsx-module": "NsxDashboard", "type": "object", "description": "Icon to be applied at dashboard for widgets and UI elements.", "properties": { "placement": { "default": "PRE", "enum": [ "PRE", "POST" ], "type": "string", "description": "If specified as PRE, the icon appears before the UI element. If set as POST, the icon appears after the UI element.", "title": "Position at which to display icon, if any" }, "type": { "enum": [ "ERROR", "WARNING", "INFO", "INPROGRESS", "SUCCESS", "DETAIL", "NOT_AVAILABLE" ], "type": "string", "description": "Icon will be rendered based on its type. For example, if ERROR is chosen, then icon representing error will be rendered.", "title": "Type of icon" }, "tooltip": { "items": { "$ref": "#/definitions/Tooltip" }, "type": "array", "description": "Multi-line text to be shown on tooltip while hovering over the icon.", "title": "Multi-line tooltip" } }, "title": "Icon" }, "LbPersistenceProfile": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "discriminator": "resource_type", "x-vmw-nsx-module": "LoadBalancer", "required": [ "resource_type" ], "type": "object", "properties": { "persistence_shared": { "default": false, "type": "boolean", "description": "If persistence shared flag is not set in the cookie persistence profile\nbound to a virtual server, it defaults to cookie persistence that is\nprivate to each virtual server and is qualified by the pool. This is\naccomplished by load balancer inserting a cookie with name in the\nformat <name>.<virtual_server_id>.<pool_id>.\nIf persistence shared flag is set in the cookie persistence profile, in\ncookie insert mode, cookie persistence could be shared across multiple\nvirtual servers that are bound to the same pools. The cookie name would\nbe changed to <name>.<profile-id>.<pool-id>.\nIf persistence shared flag is not set in the sourceIp persistence\nprofile bound to a virtual server, each virtual server that the profile\nis bound to maintains its own private persistence table.\nIf persistence shared flag is set in the sourceIp persistence profile,\nall virtual servers the profile is bound to share the same persistence\ntable.\n", "title": "Persistence shared flag for the associated virtual servers" }, "resource_type": { "description": "Source-ip persistence ensures all connections from a client (identified by\nIP address) are sent to the same backend server for a specified period.\nCookie persistence allows related client connections, identified by the\nsame cookie in HTTP requests, to be redirected to the same server.\n", "enum": [ "LbCookiePersistenceProfile", "LbSourceIpPersistenceProfile" ], "type": "string" } } } ] }, "UnassociatedVMListResult": { "x-vmw-nsx-module": "GroupingObjectsProviders", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "GroupingObjectsProviders", "required": [ "results" ], "type": "object", "properties": { "last_update_timestamp": { "type": "integer", "description": "Timestamp in milliseconds since epoch", "format": "int64" }, "results": { "items": { "$ref": "#/definitions/VirtualMachine" }, "type": "array", "description": "List of VMs which are not associated with any NSGroup\n", "title": "Unassociated Vitual Machine list results\n" } } } ] }, "VirtualServiceInstance": { "x-vmw-nsx-module": "ServiceInsertionCommonTypes", "allOf": [ { "$ref": "#/definitions/BaseServiceInstance" }, { "x-vmw-nsx-module": "ServiceInsertionCommonTypes", "type": "object" } ], "description": "VirtualServiceInstance is a custom instance to be used when NSX is not handling the lifecycles of appliance/s and the user is not bringing their own appliance (BYOD).", "title": "Custom Instance of a service" }, "VirtualMachine": { "x-vmw-nsx-module": "Inventory", "allOf": [ { "$ref": "#/definitions/DiscoveredResource" }, { "x-vmw-nsx-module": "Inventory", "required": [ "local_id_on_host", "external_id", "power_state", "compute_ids" ], "type": "object", "properties": { "source": { "title": "Reference of the Host or Public Cloud Gateway that reported the VM", "description": "Reference of the Host or Public Cloud Gateway that reported the VM", "$ref": "#/definitions/ResourceReference" }, "local_id_on_host": { "type": "string", "description": "Id of the vm unique within the host.", "title": "Id of the vm unique within the host." }, "type": { "readOnly": true, "enum": [ "EDGE", "SERVICE", "REGULAR" ], "type": "string", "description": "Virtual Machine type; Edge, Service VM or other.", "title": "Virtual Machine type; Edge, Service VM or other." }, "power_state": { "enum": [ "VM_RUNNING", "VM_STOPPED", "VM_SUSPENDED", "UNKNOWN" ], "type": "string", "description": "Current power state of this virtual machine in the system.", "title": "Current power state of this virtual machine in the system." }, "compute_ids": { "items": { "type": "string" }, "type": "array", "description": "List of external compute ids of the virtual machine in the format 'id-type-key:value' , list of external compute ids ['uuid:xxxx-xxxx-xxxx-xxxx', 'moIdOnHost:moref-11', 'instanceUuid:xxxx-xxxx-xxxx-xxxx']", "title": "List of external compute ids of the virtual machine in the format 'id-type-key:value' , list of external compute ids ['uuid:xxxx-xxxx-xxxx-xxxx', 'moIdOnHost:moref-11', 'instanceUuid:xxxx-xxxx-xxxx-xxxx']" }, "host_id": { "type": "string", "description": "Id of the host in which this virtual machine exists.", "title": "Id of the host in which this virtual machine exists." }, "external_id": { "type": "string", "description": "Current external id of this virtual machine in the system.", "title": "Current external id of this virtual machine in the system." } } } ] }, "VirtualNetworkInterface": { "x-vmw-nsx-module": "Inventory", "allOf": [ { "$ref": "#/definitions/DiscoveredResource" }, { "x-vmw-nsx-module": "Inventory", "required": [ "device_key", "owner_vm_id", "vm_local_id_on_host", "mac_address", "host_id", "external_id" ], "type": "object", "properties": { "mac_address": { "type": "string", "description": "MAC address of the virtual network interface.", "title": "MAC address of the virtual network interface." }, "device_key": { "type": "string", "description": "Device key of the virtual network interface.", "title": "Device key of the virtual network interface." }, "host_id": { "type": "string", "description": "Id of the host on which the vm exists.", "title": "Id of the host on which the vm exists." }, "owner_vm_id": { "type": "string", "description": "Id of the vm to which this virtual network interface belongs.", "title": "Id of the vm to which this virtual network interface belongs." }, "vm_local_id_on_host": { "type": "string", "description": "Id of the vm unique within the host.", "title": "Id of the vm unique within the host." }, "external_id": { "type": "string", "description": "External Id of the virtual network inferface.", "title": "External Id of the virtual network inferface." }, "lport_attachment_id": { "type": "string", "description": "LPort Attachment Id of the virtual network interface.", "title": "LPort Attachment Id of the virtual network interface." }, "ip_address_info": { "items": { "$ref": "#/definitions/IpAddressInfo" }, "type": "array", "description": "IP Addresses of the the virtual network interface, from various sources.", "title": "IP Addresses of the the virtual network interface, from various sources." }, "device_name": { "type": "string", "description": "Device name of the virtual network interface.", "title": "Device name of the virtual network interface." } } } ] }, "DirectoryGroupMemberListResults": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "ManagerNode", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/DirectoryGroupMember" }, "type": "array", "description": "Directory group member list", "title": "Directory group member list" } } } ] }, "TaskProperties": { "x-vmw-nsx-module": "Common", "allOf": [ { "$ref": "#/definitions/Resource" }, { "x-vmw-nsx-module": "Common", "type": "object", "properties": { "status": { "description": "Current status of the task", "enum": [ "running", "error", "success", "canceling", "canceled", "killed" ], "readOnly": true, "type": "string" }, "async_response_available": { "readOnly": true, "type": "boolean", "description": "True if response for asynchronous request is available", "title": "True if response for asynchronous request is available" }, "description": { "readOnly": true, "type": "string", "description": "Description of the task", "title": "Description of the task" }, "start_time": { "description": "The start time of the task in epoch milliseconds", "format": "int64", "readOnly": true, "type": "integer" }, "cancelable": { "readOnly": true, "type": "boolean", "description": "True if this task can be canceled", "title": "True if this task can be canceled" }, "request_method": { "readOnly": true, "type": "string", "description": "HTTP request method", "title": "HTTP request method" }, "user": { "readOnly": true, "type": "string", "description": "Name of the user who created this task", "title": "Name of the user who created this task" }, "progress": { "description": "Task progress if known, from 0 to 100", "title": "Task progress if known, from 0 to 100", "format": "int64", "maximum": 100, "readOnly": true, "minimum": 0, "type": "integer" }, "message": { "readOnly": true, "type": "string", "description": "A message describing the disposition of the task", "title": "A message describing the disposition of the task" }, "request_uri": { "readOnly": true, "type": "string", "description": "URI of the method invocation that spawned this task", "title": "URI of the method invocation that spawned this task" }, "id": { "readOnly": true, "type": "string", "description": "Identifier for this task", "title": "Identifier for this task" }, "end_time": { "description": "The end time of the task in epoch milliseconds", "format": "int64", "readOnly": true, "type": "integer" } } } ], "description": "Task properties", "title": "Task properties" }, "ServiceInsertionServiceListResult": { "x-vmw-nsx-module": "ServiceInsertion", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "ServiceInsertion", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/ServiceDefinition" }, "readOnly": true, "type": "array", "description": "List of the Service-Insertion Services. The list has to be homogenous.", "title": "Service list" } } } ], "description": "Service List", "title": "Service List" }, "MACSetDeleteRequestParameters": { "x-vmw-nsx-module": "MACSet", "allOf": [ { "$ref": "#/definitions/DeleteRequestParameters" }, { "x-vmw-nsx-module": "MACSet", "type": "object" } ], "description": "MACSet delete request parameters", "title": "MACSet delete request parameters" }, "ConsolidatedStatusPerEnforcementPoint": { "x-vmw-nsx-module": "PolicyRealizedState", "type": "object", "description": "Realized status consolidated by enfocement point", "properties": { "consolidated_status": { "title": "Consolidated Realized status", "description": "Detailed consolidated realized status for intent object", "$ref": "#/definitions/ConsolidatedStatus" }, "enforcement_point_id": { "type": "string", "description": "Enforcement point id used to consolidate state", "title": "Enforcement point id" } }, "title": "Consolidated Realized status for intent object consolidated by enforcement\npoints\n" }, "PBRService": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/DSService" }, { "x-vmw-nsx-module": "ManagerNode", "type": "object" } ], "description": "Type to define services associated with every rule", "title": "PBR Service element" }, "RoleBinding": { "x-vmw-nsx-module": "AAA", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "AAA", "type": "object", "properties": { "stale": { "readOnly": true, "enum": [ "TRUE", "FALSE", "UNKNOWN" ], "type": "string", "description": "Property 'stale' can be considered to have these values - absent - This type of rolebinding does not support stale property TRUE - Rolebinding is stale in vIDM meaning the user is no longer present in vIDM FALSE - Rolebinding is available in vIDM UNKNOWN - Rolebinding's state of staleness in unknown Once rolebindings become stale, they can be deleted using the API POST /aaa/role-bindings?action=delete_stale_bindings", "title": "Stale in vIDM" }, "type": { "readOnly": true, "enum": [ "remote_user", "remote_group", "local_user", "principal_identity" ], "type": "string", "description": "Type", "title": "Type" }, "name": { "readOnly": true, "type": "string", "description": "User/Group's name", "title": "User/Group's name" }, "roles": { "items": { "$ref": "#/definitions/Role" }, "readOnly": true, "type": "array", "description": "Roles", "title": "Roles" } } } ], "description": "User/Group's role binding", "title": "User/Group's role binding" }, "CrlList": { "x-vmw-nsx-module": "CertificateManager", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "CertificateManager", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/Crl" }, "readOnly": true, "type": "array", "description": "CRL list" } } } ], "description": "Crl queries result", "title": "Crl queries result" }, "Datasource": { "description": "An instance of a datasource configuration.", "title": "Datasource Instance", "required": [ "display_name", "urls" ], "x-vmw-nsx-module": "NsxDashboard", "type": "object", "properties": { "display_name": { "maxLength": 255, "type": "string", "description": "Name of a datasource instance.", "title": "Datasource instance's display name" }, "urls": { "items": { "$ref": "#/definitions/UrlAlias" }, "type": "array", "description": "Array of urls relative to the datasource configuration. For example, api/v1/fabric/nodes is a relative url of nsx-manager instance.", "title": "Array of relative urls and their aliases" } } }, "VniRange": { "x-vmw-nsx-module": "Vnim", "description": "A range of virtual network identifiers (VNIs)", "allOf": [ { "$ref": "#/definitions/Resource" }, { "x-vmw-nsx-module": "Vnim", "required": [ "start", "end" ], "type": "object", "properties": { "start": { "description": "Start value for vni range to be used for virtual networks", "title": "Start value of vni range", "format": "int64", "maximum": 16777215, "readOnly": false, "minimum": 5000, "type": "integer" }, "end": { "description": "End value for vni range to be used for virtual networks", "title": "End value of vni range", "format": "int64", "maximum": 16777215, "readOnly": false, "minimum": 5000, "type": "integer" } } } ] }, "RoutingConfig": { "x-vmw-nsx-module": "Routing", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "Routing", "type": "object", "properties": { "forwarding_up_timer": { "default": 0, "format": "int64", "type": "integer", "description": "Defines the extra time the router must wait before sending the UP notification\nafter the first BGP session is established. Default means forward immediately.\n", "title": "Forwarding up timer" }, "logical_router_id": { "readOnly": true, "type": "string", "description": "Logical router id", "title": "Logical router id" } } } ] }, "PolicyBasedIPSecVPNSession": { "x-vmw-nsx-module": "IPSecVPN", "allOf": [ { "$ref": "#/definitions/IPSecVPNSession" }, { "required": [ "policy_rules" ], "x-vmw-nsx-module": "IPSecVPN", "type": "object", "properties": { "policy_rules": { "items": { "$ref": "#/definitions/IPSecVPNPolicyRule" }, "type": "array", "description": "Policy rules", "title": "Policy rules" } } } ], "description": "A Policy Based VPN requires to define protect rules that match local and peer subnets. IPSec security associations is negotiated for each pair of local and peer subnet.", "title": "Policy based VPN session" }, "FirewallStats": { "x-vmw-nsx-module": "FirewallStatsRule", "allOf": [ { "$ref": "#/definitions/Resource" }, { "x-vmw-nsx-module": "FirewallStatsRule", "type": "object", "properties": { "total_session_count": { "readOnly": true, "format": "int64", "type": "integer", "description": "Aggregated number of sessions processed by the all firewall rules. This is aggregated statistic which are computed with lower frequency compared to individual generic rule statistics. It may have a computation delay up to 15 minutes in response to this API.", "title": "Total Sessions count" }, "packet_count": { "readOnly": true, "format": "int64", "type": "integer", "description": "Aggregated number of packets processed by the rule.", "title": "packets count" }, "popularity_index": { "readOnly": true, "format": "int64", "type": "integer", "description": "This is calculated by sessions count divided by age of the rule.", "title": "The index of the popularity of firewall rule" }, "max_session_count": { "readOnly": true, "format": "int64", "type": "integer", "description": "Maximum value of sessions count of all firewall rules of the type. This is aggregated statistic which are computed with lower frequency compared to generic rule statistics. It may have a computation delay up to 15 minutes in response to this API.", "title": "Maximum Sessions count" }, "byte_count": { "readOnly": true, "format": "int64", "type": "integer", "description": "Aggregated number of bytes processed by the rule.", "title": "bytes count" }, "max_popularity_index": { "readOnly": true, "format": "int64", "type": "integer", "description": "Maximum value of popularity index of all firewall rules of the type. This is aggregated statistic which are computed with lower frequency compared to individual generic rule statistics. It may have a computation delay up to 15 minutes in response to this API.", "title": "The maximum popularity index" }, "session_count": { "readOnly": true, "format": "int64", "type": "integer", "description": "Aggregated number of sessions processed by the rule.", "title": "sessions count" }, "rule_id": { "readOnly": true, "type": "string", "description": "Rule Identifier of the Firewall rule. This is a globally unique number.", "title": "Firewall rule Id" } } } ] }, "KeyValuePair": { "description": "An arbitrary key-value pair", "title": "An arbitrary key-value pair", "required": [ "value", "key" ], "x-vmw-nsx-module": "Common", "type": "object", "properties": { "value": { "readOnly": false, "maxLength": 255, "type": "string", "description": "Value", "title": "Value" }, "key": { "readOnly": false, "maxLength": 255, "type": "string", "description": "Key", "title": "Key" } } }, "VtepTableEntry": { "x-vmw-nsx-module": "AggSvcLogicalSwitch", "type": "object", "properties": { "vtep_label": { "format": "int64", "type": "integer", "description": "The virtual tunnel endpoint label", "title": "The virtual tunnel endpoint label" }, "vtep_mac_address": { "type": "string", "description": "The virtual tunnel endpoint MAC address", "title": "The virtual tunnel endpoint MAC address" }, "vtep_ip": { "description": "The virtual tunnel endpoint IP address", "format": "ip", "type": "string" }, "segment_id": { "type": "string", "description": "The segment Id", "title": "The segment Id" } } }, "DeploymentTemplate": { "x-vmw-nsx-module": "ServiceInsertionCommonTypes", "type": "object", "description": "Deployment Template holds the attributes specific to partner for which the service is created. These attributes are opaque to NSX.", "properties": { "attributes": { "description": "List of attributes specific to a partner for which the service is created. There attributes are passed on to the partner appliance and is opaque to the NSX Manager.", "title": "Deployment Template attributes", "items": { "$ref": "#/definitions/Attribute" }, "readOnly": false, "maxItems": 128, "type": "array" }, "name": { "readOnly": false, "type": "string", "description": "Deployment Template name.", "title": "name" } }, "title": "Service Deployment Template" }, "L2VpnSessionStatistics": { "x-vmw-nsx-module": "PolicyStatistics", "allOf": [ { "$ref": "#/definitions/L2VpnStatisticsPerEnforcementPoint" }, { "x-vmw-nsx-module": "PolicyStatistics", "type": "object", "properties": { "traffic_statistics_per_segment": { "items": { "$ref": "#/definitions/L2VpnPerSegmentTrafficStatistics" }, "readOnly": true, "type": "array", "description": "Traffic statistics per segment.", "title": "Traffic statistics per segment" }, "tap_traffic_counters": { "items": { "$ref": "#/definitions/L2VpnTapTrafficStatistics" }, "readOnly": true, "type": "array", "description": "Tunnel port traffic counters.", "title": "Tunnel port traffic counters" } } } ], "description": "Session statistics gives VPN session status and traffic statistics per segment.\n", "title": "L2Vpn session statistics" }, "IPSecVPNPeerEndpoint": { "x-vmw-nsx-module": "IPSecVPN", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "required": [ "peer_address", "peer_id" ], "x-vmw-nsx-module": "IPSecVPN", "type": "object", "properties": { "psk": { "type": "string", "description": "IPSec Pre-shared key. Maximum length of this field is 128 characters.", "title": "Pre-shared key" }, "peer_id": { "type": "string", "description": "Peer identifier.", "title": "Peer id" }, "ipsec_tunnel_profile_id": { "type": "string", "description": "Tunnel profile id to be used. By default it will point to system default profile.", "title": "IPSec tunnel profile id" }, "authentication_mode": { "default": "PSK", "enum": [ "PSK" ], "type": "string", "description": "For peer authentication only Pre shared key (PSK) mode will be supported.", "title": "Authentication Mode" }, "peer_address": { "type": "string", "description": "IPV4 address of peer endpoint on remote site.", "title": "IPV4 address of peer endpoint on remote site." }, "connection_initiation_mode": { "default": "INITIATOR", "enum": [ "INITIATOR", "RESPOND_ONLY", "ON_DEMAND" ], "type": "string", "description": "Connection initiation mode used by local\nendpoint to establish ike connection with peer endpoint.\nINITIATOR - In this mode local endpoint initiates tunnel\nsetup and will also respond to incoming tunnel setup requests\nfrom peer gateway.\nRESPOND_ONLY - In this mode, local endpoint shall only\nrespond to incoming tunnel setup requests. It shall not\ninitiate the tunnel setup.\nON_DEMAND - In this mode local endpoint will initiate tunnel\ncreation once first packet matching the policy rule is\nreceived and will also respond to incoming initiation request.\n", "title": "Connection initiation mode" }, "dpd_profile_id": { "type": "string", "description": "Dead peer detection (DPD) profile id. Default will be set according to system default policy.", "title": "Dead peer detection (DPD) profile id" }, "ike_profile_id": { "type": "string", "description": "IKE profile id to be used. Default will be set according to system default policy.", "title": "Internet key exchange (IKE) profile id" } } } ], "description": "IPSec VPN Peer Endpoint covers configuration to be applied locally to establish a session with remote endpoint on peer site.", "title": "IPSec VPN Peer Endpoint" }, "ConfigurationStateElement": { "x-vmw-nsx-module": "Common", "type": "object", "description": "Describes status of configuration of an entity", "properties": { "sub_system_address": { "readOnly": true, "type": "string", "description": "URI of backing resource on sub system", "title": "URI of backing resource on sub system" }, "state": { "readOnly": true, "enum": [ "in_progress", "success", "failed", "partial_success" ], "type": "string", "description": "State of configuration on this sub system", "title": "State of configuration on this sub system" }, "sub_system_type": { "readOnly": true, "type": "string", "description": "Type of backing resource on sub system", "title": "Type of backing resource on sub system" }, "failure_message": { "readOnly": true, "type": "string", "description": "Error message in case of failure", "title": "Error message in case of failure" }, "failure_code": { "readOnly": true, "format": "int64", "type": "integer", "description": "Error code", "title": "Error code" }, "sub_system_id": { "readOnly": true, "type": "string", "description": "Identifier of backing resource on sub system", "title": "Identifier of backing resource on sub system" } }, "title": "Describes status of configuration of an entity" }, "LBVirtualServerPoolMember": { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "type": "object", "description": "Virtual server pool members information.\n", "properties": { "ip": { "description": "IP address of the server pool member.\n", "format": "ip", "readOnly": true, "type": "string" }, "member_status": { "enum": [ "UP", "DOWN", "DISABLED", "UNKNOWN" ], "type": "string", "description": "Server pool member runtime status\n", "title": "Status of the pool member" }, "name": { "readOnly": true, "type": "string", "description": "Name of the virtual server pool member\n", "title": "Name of the virtual server pool member" }, "weight": { "readOnly": true, "format": "int32", "type": "integer", "description": "Weight of this server pool member.\n", "title": "Weight of the pool member." }, "port": { "description": "Port on which this server pool member is listening.\n", "title": "Port.", "format": "int32", "maximum": 65535, "readOnly": true, "minimum": 0, "type": "integer" } }, "title": "Loadbalancer virtual server pool member" }, "IPProtocolServiceEntry": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/ServiceEntry" }, { "required": [ "protocol_number" ], "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "protocol_number": { "minimum": 0, "type": "integer", "maximum": 255, "format": "int64" } } } ], "description": "A ServiceEntry that represents an IP protocol", "title": "A ServiceEntry that represents an IP protocol" }, "WeeklyTelemetrySchedule": { "x-vmw-nsx-module": "TelemetryConfig", "allOf": [ { "$ref": "#/definitions/TelemetrySchedule" }, { "x-vmw-nsx-module": "TelemetryConfig", "required": [ "hour_of_day", "day_of_week" ], "type": "object", "properties": { "minutes": { "description": "Minute at which data will be collected. Specify a value between 0 through 59.\n", "title": "Minute at which data will be collected", "default": 0, "format": "int64", "maximum": 59, "minimum": 0, "type": "integer" }, "hour_of_day": { "description": "Hour at which data will be collected. Specify a value between 0 through 23.\n", "format": "int64", "title": "Hour at which data will be collected", "maximum": 23, "minimum": 0, "type": "integer" }, "day_of_week": { "enum": [ "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" ], "type": "string", "description": "Day of week on which data will be collected. Specify one of SUNDAY through SATURDAY.\n", "title": "Day of week on which data will be collected" } } } ] }, "Tier0ListResult": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/Tier0" }, "type": "array", "description": "Tier-0 list results", "title": "Tier-0 list results" } } } ], "description": "Paged collection of Tier-0s", "title": "Paged collection of Tier-0s" }, "LogicalRouterUpLinkPort": { "x-vmw-nsx-module": "LogicalRouterPorts", "allOf": [ { "$ref": "#/definitions/LogicalRouterPort" }, { "x-vmw-nsx-module": "LogicalRouterPorts", "required": [ "subnets", "edge_cluster_member_index" ], "type": "object", "properties": { "subnets": { "description": "Logical router port subnets", "title": "Logical router port subnets", "minItems": 1, "items": { "$ref": "#/definitions/IPSubnet" }, "maxItems": 1, "type": "array" }, "linked_logical_switch_port_id": { "title": "Reference to the logical switch port to connect to", "description": "Reference to the logical switch port to connect to", "$ref": "#/definitions/ResourceReference" }, "edge_cluster_member_index": { "items": { "type": "integer", "format": "int64" }, "type": "array", "description": "Member index of the edge node on the cluster", "title": "Member index of the edge node on the cluster" }, "urpf_mode": { "description": "Unicast Reverse Path Forwarding mode", "default": "STRICT", "enum": [ "NONE", "STRICT" ], "type": "string" }, "mac_address": { "readOnly": true, "type": "string", "description": "MAC address", "title": "MAC address" }, "mtu": { "description": "Maximum transmission unit specifies the size of the largest packet that a network protocol can transmit.", "title": "Maximum transmission unit (MTU)", "default": 1500, "format": "int64", "maximum": 9000, "minimum": 64, "type": "integer" } } } ] }, "CommunicationMapListResult": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/CommunicationMap" }, "type": "array", "description": "CommunicationMap list results", "title": "CommunicationMap list results" } } } ], "description": "Paged Collection of Communication map", "title": "Paged Collection of Communication map" }, "LbPoolStatisticsListResult": { "x-vmw-nsx-module": "AggSvcLb", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "AggSvcLb", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/LbPoolStatistics" }, "type": "array", "description": "paginated statistics list of pools", "title": "paginated statistics list of pools" } } } ] }, "LbVirtualServerStatistics": { "x-vmw-nsx-module": "AggSvcLb", "required": [ "statistics", "virtual_server_id" ], "type": "object", "properties": { "last_update_timestamp": { "type": "integer", "description": "Timestamp when the data was last updated", "format": "int64" }, "statistics": { "title": "Virtual server statistics counter", "description": "Virtual server statistics counter", "$ref": "#/definitions/LbStatisticsCounter" }, "virtual_server_id": { "type": "string", "description": "load balancer virtual server identifier", "title": "load balancer virtual server identifier" } } }, "ComputeCollection": { "x-vmw-nsx-module": "InventoryCmObj", "allOf": [ { "$ref": "#/definitions/DiscoveredResource" }, { "x-vmw-nsx-module": "InventoryCmObj", "type": "object", "properties": { "origin_id": { "readOnly": true, "type": "string", "description": "Id of the compute manager from where this Compute Collection was discovered", "title": "Id of the compute manager from where this Compute Collection was discovered" }, "origin_properties": { "items": { "$ref": "#/definitions/KeyValuePair" }, "readOnly": true, "type": "array", "description": "Key-Value map of additional specific properties of\ncompute collection in the Compute Manager\n", "title": "Key-Value map of additional specific properties of\ncompute collection in the Compute Manager\n" }, "external_id": { "readOnly": true, "type": "string", "description": "External ID of the ComputeCollection in the source Compute manager,\ne.g. mo-ref in VC\n", "title": "External ID of the ComputeCollection in the source Compute manager,\ne.g. mo-ref in VC\n" }, "owner_id": { "readOnly": true, "type": "string", "description": "Id of the owner of compute collection in the Compute Manager", "title": "Id of the owner of compute collection in the Compute Manager" }, "origin_type": { "readOnly": true, "type": "string", "description": "ComputeCollection type like VC_Cluster. Here the Compute Manager\ntype prefix would help in differentiating similar named Compute\nCollection types from different Compute Managers\n", "title": "ComputeCollection type like VC_Cluster. Here the Compute Manager\ntype prefix would help in differentiating similar named Compute\nCollection types from different Compute Managers\n" }, "cm_local_id": { "readOnly": true, "type": "string", "description": "Local Id of the compute collection in the Compute Manager", "title": "Local Id of the compute collection in the Compute Manager" } } } ] }, "ServiceAssociationListResult": { "x-vmw-nsx-module": "GroupingObjectsProviders", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "discriminator": "service_type", "x-vmw-nsx-module": "GroupingObjectsProviders", "required": [ "service_type" ], "type": "object", "properties": { "service_type": { "enum": [ "FireWallServiceAssociationListResult", "IpfixServiceAssociationListResult" ], "type": "string" } } } ] }, "NSGroupDeleteRequestParameters": { "x-vmw-nsx-module": "NSGroup", "allOf": [ { "$ref": "#/definitions/DeleteRequestParameters" }, { "x-vmw-nsx-module": "NSGroup", "type": "object" } ], "description": "NSGroup delete request parameters", "title": "NSGroup delete request parameters" }, "NSServiceElement": { "description": "An NSService element that describes traffic corresponding to an NSService", "title": "An NSService element that describes traffic corresponding to an NSService", "required": [ "resource_type" ], "discriminator": "resource_type", "x-vmw-nsx-module": "Types", "type": "object", "properties": { "resource_type": { "enum": [ "EtherTypeNSService", "IPProtocolNSService", "IGMPTypeNSService", "ICMPTypeNSService", "ALGTypeNSService", "L4PortSetNSService" ], "type": "string", "description": "The specific type of NSServiceElement", "title": "The specific type of NSServiceElement" } } }, "NodeListResult": { "x-vmw-nsx-module": "FabricNode", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "FabricNode", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/Node" }, "type": "array", "description": "Node list results", "title": "Node list results" } } } ], "description": "Node list result", "title": "Node list result" }, "EdgeClusterMemberAllocationPool": { "discriminator": "allocation_pool_type", "x-vmw-nsx-module": "LogicalRouter", "required": [ "allocation_pool_type" ], "type": "object", "properties": { "allocation_pool_type": { "description": "Types of logical router allocation pool based on services", "enum": [ "LoadBalancerAllocationPool" ], "type": "string" } } }, "L2VpnPeerConfigPerEnforcementPoint": { "description": "Peer config per Enforcement Point to configure the other side of the tunnel.\n", "title": "Peer config per Enforcement Point", "required": [ "resource_type" ], "discriminator": "resource_type", "x-vmw-nsx-module": "PolicyL2Vpn", "type": "object", "properties": { "resource_type": { "enum": [ "L2VpnPeerCodes" ], "type": "string" }, "enforcement_point_path": { "readOnly": true, "type": "string", "description": "Policy Path referencing the enforcement point to which the config belongs.\n", "title": "Enforcement point Path" } } }, "NSXTConnectionInfo": { "x-vmw-nsx-module": "PolicyEnforcementPointManagement", "allOf": [ { "$ref": "#/definitions/EnforcementPointConnectionInfo" }, { "x-vmw-nsx-module": "PolicyEnforcementPointManagement", "type": "object", "properties": { "username": { "type": "string", "description": "UserName", "title": "UserName" }, "transport_zone_ids": { "items": { "type": "string" }, "type": "array", "description": "Transport Zone UUIDs on NSX Manager. Transport zone information is required for creating\nlogical L2, L3 constructs on NSX Manager. Max 1 transport zone ID.\n", "maxItems": 1, "title": "Transport Zone IDs" }, "password": { "type": "string", "description": "Password", "title": "Password" }, "edge_cluster_ids": { "items": { "type": "string" }, "type": "array", "description": "Edge Cluster UUIDs on NSX Manager. Edge cluster information is required for creating logical L2, L3 constructs\non NSX Manager. Max 1 edge cluster ID.\n", "maxItems": 1, "title": "Edge Cluster IDs" }, "thumbprint": { "type": "string", "description": "Thumbprint of EnforcementPoint. sha-256 hash represented in lower case hex.\n", "title": "Thumbprint of Enforcement Point" } } } ], "description": "Credential info to connect to NSXT enforcement type", "title": "Credential info to connect to NSXT enforcement type" }, "ClusterNodeVMDeploymentRequest": { "description": "Contains the deployment information for a cluster node VM soon to be\ndeployed or already deployed by the Manager\n", "title": "Info for an auto-deployment request", "required": [ "deployment_config", "roles" ], "x-vmw-nsx-module": "ClusterNodeVMDeployment", "type": "object", "properties": { "deployment_config": { "title": "Deployment config for cluster node VM", "description": "Info needed to configure a cluster node VM at deployment for a\nspecific platform.\nMay require different parameters depending on the method used to deploy\nthe VM.\n", "$ref": "#/definitions/ClusterNodeVMDeploymentConfig" }, "vm_id": { "readOnly": true, "type": "string", "description": "ID of the VM maintained internally and used to recognize it.\nNote: This is automatically generated and cannot be modified.\n", "title": "ID of VM used to recognize it" }, "user_settings": { "title": "User settings for the VM", "description": "Username and password settings for the cluster node VM.\nNote: These settings will be honored only during VM deployment.\nPost-deployment, CLI must be used for changing the user settings and\nchanges to these parameters will not have any effect.\n", "$ref": "#/definitions/NodeUserSettings" }, "roles": { "items": { "description": "Enumerates the types of cluster nodes for which VM auto-deployment is\ncurrently supported.\n", "enum": [ "CONTROLLER", "MANAGER" ], "type": "string" }, "type": "array", "description": "List of cluster node role (or roles) which the VM should take on.\nThey specify what type (or types) of cluster node which the new VM\nshould act as.\n", "title": "Cluster node roles of the VM" }, "form_factor": { "description": "Specifies the desired \"size\" of the VM\nNote: MEDIUM is currently the only supported size for controllers.\n", "default": "MEDIUM", "enum": [ "SMALL", "MEDIUM", "MEDIUM_LARGE", "LARGE" ], "type": "string" } } }, "CommunityMatchOperation": { "x-vmw-nsx-module": "Routing", "type": "object", "description": "Community match operation", "properties": { "match_operator": { "default": "MATCH_ANY", "enum": [ "MATCH_ANY", "MATCH_ALL", "MATCH_EXACT", "MATCH_NONE", "MATCH_REGEX" ], "type": "string", "description": "Match operator for communities from provided community list id.\nMATCH_ANY will match any community\nMATCH_ALL will match all communities\nMATCH_EXACT will do exact match on community\nMATCH_NONE will not match any community\nMATCH_REGEX will match community by evaluating regular\nexpression\n", "title": "Match operator" }, "regular_expression": { "type": "string", "description": "Regular expression to match BGP communities. If match_operator\nis MATCH_REGEX then this value must be specified.\n", "title": "Regular expression" }, "community_list_id": { "type": "string", "description": "ID of BGP community list. This value is not required when\nmatch_operator is MATCH_REGEX otherwise required.\n", "title": "Community list id" } }, "title": "Community match operation" }, "ServiceInsertionService": { "x-vmw-nsx-module": "ServiceInsertionRules", "allOf": [ { "$ref": "#/definitions/DSService" }, { "x-vmw-nsx-module": "ServiceInsertionRules", "type": "object" } ], "description": "Protocol on which a particular ServiceInsertion Rule should apply to.", "title": "ServiceInsertion Service" }, "VmNicInfo": { "description": "Contains a set of information of a VM on the network interfaces present on the partner appliance that needs to be configured by the NSX Manager.", "title": "Set of NIC information of a VM", "required": [ "nic_infos" ], "x-vmw-nsx-module": "ServiceInsertionCommonTypes", "type": "object", "properties": { "nic_infos": { "items": { "$ref": "#/definitions/NicInfo" }, "readOnly": false, "type": "array", "description": "Set of information of a VM on the network interfaces present on the partner appliance that needs to be configured by the NSX Manager.", "title": "Set of NIC information of a VM" } } }, "PnicMirrorSource": { "x-vmw-nsx-module": "PortMirroring", "allOf": [ { "$ref": "#/definitions/MirrorSource" }, { "x-vmw-nsx-module": "PortMirroring", "required": [ "node_id", "encapsulated", "source_pnics" ], "type": "object", "properties": { "node_id": { "type": "string", "description": "Transport node identifier for the pnic located.", "title": "Transport node identifier for the pnic located." }, "encapsulated": { "default": false, "type": "boolean", "description": "Whether to filter encapsulated packet.", "title": "Whether to filter encapsulated packet." }, "source_pnics": { "items": { "type": "string" }, "type": "array", "description": "Source physical NIC device names", "title": "Source physical NIC device names" } } } ] }, "InstanceDeploymentConfig": { "description": "The Instance Deployment Config contains settings that is applied during install time.", "title": "Instance Deployment Config", "required": [ "context_id", "vm_nic_infos", "storage_id", "compute_id" ], "x-vmw-nsx-module": "ServiceInsertionCommonTypes", "type": "object", "properties": { "context_id": { "readOnly": false, "type": "string", "description": "Context Id or VCenter Id.", "title": "Context Id" }, "vm_nic_infos": { "description": "List of set of NIC information for VMs", "title": "List of VM NIC information", "minItems": 1, "items": { "$ref": "#/definitions/VmNicInfo" }, "readOnly": false, "maxItems": 2, "type": "array" }, "storage_id": { "readOnly": false, "type": "string", "description": "Storage Id.", "title": "storage id" }, "compute_id": { "readOnly": false, "type": "string", "description": "Resource Pool or Compute Id.", "title": "compute id" } } }, "LbSslProfile": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "LoadBalancer", "type": "object" } ], "description": "Load balancer abstract SSL profile", "title": "Load balancer abstract SSL profile" }, "ServiceIPsListResult": { "x-vmw-nsx-module": "L3", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "L3", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/ServiceIP" }, "readOnly": true, "type": "array", "description": "List of service IPs registered with the LR by services like NAT, LB, VPN, etc.", "title": "Paginated list of service IPs" } } } ] }, "LbPoolStatus": { "x-vmw-nsx-module": "AggSvcLb", "required": [ "pool_id" ], "type": "object", "properties": { "status": { "enum": [ "UP", "PARTIALLY_UP", "PRIMARY_DOWN", "DOWN", "DETACHED", "UNKNOWN" ], "type": "string", "description": "UP means that all primary members are in UP status.\nPARTIALLY_UP means that some(not all) primary members are in UP\nstatus, the number of these active members is larger or equal to\ncertain number(min_active_members) which is defined in LbPool.\nWhen there are no backup members which are in the UP status, the\nnumber(min_active_members) would be ignored.\nPRIMARY_DOWN means that less than certain(min_active_members) primary\nmembers are in UP status but backup members are in UP status,\nconnections to this pool would be dispatched to backup members.\nDOWN means that all primary and backup members are DOWN.\nDETACHED means that the pool is not bound to any virtual server.\nUNKOWN means that no status reported from transport-nodes. The\nassociated load balancer service may be working(or not working).\n", "title": "Virtual server status" }, "last_update_timestamp": { "type": "integer", "description": "Timestamp when the data was last updated", "format": "int64" }, "pool_id": { "type": "string", "description": "Load balancer pool identifier", "title": "Load balancer pool identifier" }, "members": { "items": { "$ref": "#/definitions/LbPoolMemberStatus" }, "type": "array", "description": "Status of load balancer pool members", "title": "Status of load balancer pool members" } } }, "L3VpnRule": { "x-vmw-nsx-module": "PolicyL3Vpn", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "required": [ "sources", "destinations" ], "x-vmw-nsx-module": "PolicyL3Vpn", "type": "object", "properties": { "action": { "default": "PROTECT", "enum": [ "PROTECT", "BYPASS" ], "type": "string", "description": "Action to exchange data with or without protection.\nPROTECT - Allows to exchange data with ipsec protection. Protect rules are defined per\nL3Vpn.\nBYPASS - Allows to exchange data without ipsec protection. Bypass rules are defined per\nL3VpnContext and affects all policy based L3Vpns. Bypass rules are prioritized over\nprotect rules.\n", "title": "Action to apply to the traffic transiting through the L3Vpn" }, "sources": { "description": "List of local subnets used in policy-based L3Vpn.\n", "title": "List of local subnets", "minItems": 1, "items": { "$ref": "#/definitions/L3VpnSubnet" }, "maxItems": 128, "uniqueItems": true, "type": "array" }, "sequence_number": { "format": "int32", "type": "integer", "description": "This field is used to resolve conflicts between multiple L3VpnRules associated with a\nsingle L3Vpn or L3VpnContext.\n", "title": "Sequence number of the L3VpnRule" }, "destinations": { "description": "List of remote subnets used in policy-based L3Vpn.\n", "title": "List of remote subnets", "minItems": 1, "items": { "$ref": "#/definitions/L3VpnSubnet" }, "maxItems": 128, "uniqueItems": true, "type": "array" } } } ], "description": "For policy-based L3Vpn sessions, a rule specifies as its action the vpn tunnel to be used\nfor transit traffic that meets the rule's match criteria.\n", "title": "L3Vpn Rule" }, "RealizedGroupUIResourceListResult": { "x-vmw-nsx-module": "PolicyUi", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "PolicyUi", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/RealizedGroupUIResource" }, "type": "array", "description": "Intent and realized group list results", "title": "Intent and realized group list results" } } } ], "description": "Paged Collection of Intent and Realized Group Pairs", "title": "Paged Collection of Intent and Realized Group Pairs" }, "LbHttpRequestVersionCondition": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbRuleCondition" }, { "required": [ "version" ], "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "version": { "description": "HTTP version", "enum": [ "HTTP_VERSION_1_0", "HTTP_VERSION_1_1", "HTTP_VERSION_2_0" ], "type": "string" } } } ], "description": "This condition is used to match the HTTP protocol version of the HTTP\nrequest messages.\n", "title": "Condition to match HTTP protocol version of HTTP requests" }, "BgpRoutingConfig": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "required": [ "local_as_num" ], "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "local_as_num": { "type": "string", "description": "Specify BGP AS number for Tier-0 to advertize to BGP peers.\nAS number can be specified in ASPLAIN (e.g., \"65546\") or\nASDOT (e.g., \"1.10\") format. Empty string disables BGP feature.\n", "title": "BGP AS number in ASPLAIN/ASDOT Format" }, "route_aggregations": { "items": { "$ref": "#/definitions/RouteAggregationEntry" }, "type": "array", "description": "List of routes to be aggregated.\n", "maxItems": 1000, "title": "List of routes to be aggregated" } } } ], "description": "Contains BGP routing configuration.\n", "title": "BGP routing config" }, "PnicBondStatus": { "x-vmw-nsx-module": "Heatmap", "type": "object", "description": "pNIC/bond statuses", "properties": { "status": { "enum": [ "UNKNOWN", "UP", "DOWN", "DEGRADED" ], "type": "string", "description": "Status of pNIC/bond", "title": "pNic/bond status" }, "type": { "enum": [ "UNKNOWN_TYPE", "PNIC", "BOND" ], "type": "string", "description": "type, whether the object is a pNIC or a bond", "title": "Object type" }, "name": { "type": "string", "description": "Name of the pNIC/bond", "title": "pNIC/bond name" } }, "title": "pNIC/bond status" }, "PolicyIPAddressInfo": { "description": "Used to specify the display name and value of the IPv4Address.\n", "title": "IP address information", "required": [ "address_value" ], "x-vmw-nsx-module": "PolicyL3Vpn", "type": "object", "properties": { "next_hop": { "description": "Next hop used in auto-plumbing of static route. If a value is not\nprovided, static route will not be auto-plumbed.\n", "format": "ipv4", "type": "string" }, "address_value": { "description": "Value of the IPv4Address.\n", "format": "ipv4", "type": "string" }, "display_name": { "type": "string", "description": "Display name used to help identify the IPv4Address.\n", "title": "Display name of the IPv4Address" } } }, "PreconfiguredHostSwitch": { "description": "Preconfigured host switch is used for manually configured transport node.", "title": "Preconfigured host switch", "required": [ "host_switch_id" ], "x-vmw-nsx-module": "TransportNode", "type": "object", "properties": { "host_switch_id": { "readOnly": false, "type": "string", "description": "External Id of the preconfigured host switch.", "title": "External Id of the preconfigured host switch." }, "endpoints": { "items": { "$ref": "#/definitions/PreconfiguredEndpoint" }, "type": "array", "description": "List of virtual tunnel endpoints which are preconfigured on this host switch", "maxItems": 1, "title": "List of virtual tunnel endpoints which are preconfigured on this host switch" } } }, "LbSelectPoolAction": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbRuleAction" }, { "required": [ "pool_id" ], "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "pool_id": { "type": "string", "description": "UUID of load balancer pool", "title": "UUID of load balancer pool" } } } ], "description": "This action is used to select a pool for matched HTTP request messages. The\npool is specified by UUID. The matched HTTP request messages are forwarded\nto the specified pool.\n", "title": "Action to select a pool for HTTP request messages" }, "DhcpRelayProfileListResult": { "x-vmw-nsx-module": "DhcpRelay", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "DhcpRelay", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/DhcpRelayProfile" }, "type": "array", "description": "Dhcp relay profile list results", "title": "Dhcp relay profile list results" } } } ] }, "Infra": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/AbstractSpace" }, { "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "domains": { "items": { "$ref": "#/definitions/Domain" }, "type": "array", "description": "This field is used while creating or updating the infra space.\n", "title": "Domains for infra" } } } ], "description": "Infra space related policy", "title": "Infra" }, "LogicalRouterRouteTable": { "x-vmw-nsx-module": "AggSvcLogicalRouter", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "AggSvcLogicalRouter", "required": [ "logical_router_id" ], "type": "object", "properties": { "logical_router_name": { "readOnly": true, "type": "string", "description": "Name of the logical router", "title": "Name of the logical router" }, "last_update_timestamp": { "description": "Timestamp when the data was last updated; unset if data source has never updated the data.", "format": "int64", "readOnly": true, "type": "integer" }, "logical_router_id": { "type": "string", "description": "The id of the logical router", "title": "The id of the logical router" }, "results": { "items": { "$ref": "#/definitions/LogicalRouterRouteEntry" }, "type": "array" } } } ] }, "L3VpnContext": { "x-vmw-nsx-module": "PolicyL3Vpn", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "x-vmw-nsx-module": "PolicyL3Vpn", "type": "object", "properties": { "ike_log_level": { "default": "INFO", "enum": [ "DEBUG", "INFO", "WARN", "ERROR", "EMERGENCY" ], "type": "string", "description": "Log level for internet key exchange (IKE).\n", "title": "Internet key exchange (IKE) log level" }, "enabled": { "default": true, "type": "boolean", "description": "If true, enable L3Vpn Service for given tier-0. Enabling/disabling this\nservice affects all L3Vpns under the given tier-0.\n", "title": "Enable L3 Virtual Private Network (VPN) service" }, "bypass_rules": { "uniqueItems": true, "items": { "$ref": "#/definitions/L3VpnRule" }, "type": "array", "description": "Bypass L3Vpn rules that will be shared across L3Vpns. Only Bypass action is\nsupported on these L3Vpn rules.\n", "title": "List of Bypass L3VpnRules" }, "available_local_addresses": { "uniqueItems": true, "items": { "$ref": "#/definitions/PolicyIPAddressInfo" }, "type": "array", "description": "Local gateway IPv4 addresses available for configuration of each L3Vpn.\n", "title": "IPv4 addresses of the local gateway" }, "label": { "type": "string", "description": "Policy path referencing Label. A label is used as a mechanism to group\nroute-based L3Vpns in order to apply edge firewall rules on members' VTIs.\n", "title": "Policy path referencing Label" } } } ], "description": "L3Vpn Context provides the configuration context that different L3Vpns can consume.\n", "title": "L3Vpn Context" }, "CommunicationEntryListResult": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/CommunicationEntry" }, "type": "array", "description": "CommunicationEntry list results", "title": "CommunicationEntry list results" } } } ], "description": "Paged Collection of CommunicationEntries", "title": "Paged Collection of CommunicationEntries" }, "DirectoryGroupMember": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "ManagerNode", "required": [ "group_id", "member_group_distinguished_name", "member_group_id", "group_distinguished_name", "nested" ], "type": "object", "properties": { "group_id": { "type": "string", "description": "Directory group id this group member belongs to", "title": "Group idnetifier" }, "member_group_distinguished_name": { "type": "string", "description": "Directory group name this group member owns", "title": "Member group distinguished name" }, "member_group_id": { "type": "string", "description": "Directory group id this group member owns", "title": "Member group idnetifier" }, "group_distinguished_name": { "type": "string", "description": "Directory group distinguished name this group member belongs to.", "title": "Group distinguished name" }, "nested": { "type": "boolean", "description": "Whether this member group is a directory member of the parent group speicified by group_id or a nested member group which parent group is also member group of the parent group speicified by group_id.", "title": "Nesting flag" } } } ] }, "BgpRouteAggregation": { "x-vmw-nsx-module": "Routing", "required": [ "prefix" ], "type": "object", "properties": { "summary_only": { "default": true, "type": "boolean", "description": "Flag to send only summarized route", "title": "Flag to send only summarized route" }, "prefix": { "description": "cidr of the aggregate address", "format": "ipv4-cidr-block", "type": "string" } } }, "LbSnatIpPool": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbSnatTranslation" }, { "x-vmw-nsx-module": "LoadBalancer", "required": [ "ip_addresses" ], "type": "object", "properties": { "ip_addresses": { "items": { "$ref": "#/definitions/LbSnatIpElement" }, "type": "array", "description": "If an IP range is specified, the range may contain no more than 64\nIP addresses.\n", "maxItems": 64, "title": "List of Ip address or ip range" } } } ] }, "ServiceInstance": { "x-vmw-nsx-module": "ServiceInsertionCommonTypes", "allOf": [ { "$ref": "#/definitions/BaseServiceInstance" }, { "required": [ "implementation_type", "instance_deployment_template", "attachment_point", "deployed_to", "deployment_spec_name", "deployment_mode", "instance_deployment_config" ], "x-vmw-nsx-module": "ServiceInsertionCommonTypes", "type": "object", "properties": { "deployment_spec_name": { "readOnly": false, "type": "string", "description": "Name of the deployment spec to be used by this service instance.", "title": "Deployment Spec Name" }, "implementation_type": { "readOnly": false, "enum": [ "NORTH_SOUTH", "EAST_WEST" ], "type": "string", "description": "Implementation to be used by this service instance for deploying the Service-VM.", "title": "Implementation Type" }, "instance_deployment_template": { "readOnly": false, "title": "Instance Deployment Template", "description": "The deployment template to be used by this service instance. The attribute values specific to this instance can be added.", "$ref": "#/definitions/DeploymentTemplate" }, "attachment_point": { "readOnly": false, "enum": [ "TIER0_LR", "TIER1_LR" ], "type": "string", "description": "Attachment point to be used by this service instance for deploying the Service-VM.", "title": "Attachment Point" }, "instance_deployment_config": { "readOnly": false, "title": "Instance Deployment Config", "description": "Instance Deployment Config contains the information to be injected during Service-VM deployment.", "$ref": "#/definitions/InstanceDeploymentConfig" }, "deployment_mode": { "description": "Deployment mode specifies where the partner appliance will be deployed in HA or non-HA i.e standalone mode.", "title": "Deployment Mode", "default": "ACTIVE_STANDBY", "enum": [ "STAND_ALONE", "ACTIVE_STANDBY" ], "readOnly": false, "type": "string" }, "deployed_to": { "description": "List of resource references where service instance be deployed. Ex. Tier 0 Logical Router in case of N-S ServiceInsertion.", "title": "Deployed-to object list", "minItems": 1, "items": { "$ref": "#/definitions/ResourceReference" }, "readOnly": false, "maxItems": 128, "type": "array" } } } ], "description": "The deployment of a registered service. Service instance is instantiation of service. It is the most used type of instance. It is a default instance to be used when NSX handles lifecycle of appliance. Deployment and appliance related all the information is necessary.", "title": "Normal Instance of a service" }, "TransportZone": { "x-vmw-nsx-module": "TransportZone", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "TransportZone", "required": [ "transport_type" ], "type": "object", "properties": { "transport_type": { "description": "The transport type of this transport zone.", "enum": [ "OVERLAY", "VLAN" ], "type": "string" }, "host_switch_name": { "default": "nsxDefaultHostSwitch", "type": "string", "description": "If this name is unset or empty then the default host switch name will be used.", "title": "Name of the host switch on all transport nodes in this transport zone that will be used to run NSX network traffic." }, "host_switch_id": { "readOnly": true, "type": "string", "description": "the host switch id generated by the system.", "title": "the host switch id generated by the system." }, "host_switch_mode": { "description": "STANDARD mode applies to all the hypervisors. ENS mode stands for Enhanced Networking Stack. This feature is only available for ESX hypervisor. It is not available on KVM, EDGE and Public Cloud Gateway etc. When a Transport Zone mode is set to ENS, only Transport Nodes of type ESX can participate in such a Transport Zone.", "title": "Operational mode of Transport Zone.", "default": "STANDARD", "enum": [ "STANDARD", "ENS" ], "readOnly": false, "type": "string" }, "nested_nsx": { "default": false, "type": "boolean", "description": "The flag only need to be set in nested NSX environment.", "title": "Flag to indicate if transport nodes in this transport zone are connected through nested NSX." }, "uplink_teaming_policy_names": { "items": { "type": "string" }, "type": "array", "description": "The names of switching uplink teaming policies that all transport nodes in this transport zone must support. An exception will be thrown if a transport node within the transport zone does not support a named teaming policy. The user will need to first ensure all trasnport nodes support the desired named teaming policy before assigning it to the transport zone. If the field is not specified, the host switch's default teaming policy will be used.", "title": "Names of the switching uplink teaming policies that are supported by this transport zone." }, "transport_zone_profile_ids": { "items": { "$ref": "#/definitions/TransportZoneProfileTypeIdEntry" }, "type": "array", "description": "Identifiers of the transport zone profiles associated with this TransportZone.", "title": "Identifiers of the transport zone profiles associated with this TransportZone." } } } ] }, "VtepLabelPoolUsage": { "x-vmw-nsx-module": "VtepLabel", "type": "object", "description": "Pool usage statistics in a pool", "properties": { "total_ids": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of IDs in a pool", "title": "Total number of IDs in a pool" }, "allocated_ids": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of allocated IDs in a pool", "title": "Total number of allocated IDs in a pool" }, "free_ids": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of free IDs in a pool", "title": "Total number of free IDs in a pool" } } }, "CapacityUsage": { "x-vmw-nsx-module": "License", "description": "usage of each capacity type ex. vm, cpu", "allOf": [ { "$ref": "#/definitions/Resource" }, { "x-vmw-nsx-module": "License", "type": "object", "properties": { "usage_count": { "readOnly": true, "format": "int64", "type": "integer", "description": "count of number of items of capacity_type", "title": "count of number of items of capacity_type" }, "capacity_type": { "readOnly": true, "type": "string", "description": "type of the capacity field", "title": "type of the capacity field" } } } ] }, "ForwarderZone": { "x-vmw-nsx-module": "DnsForwarder", "required": [ "upstream_servers" ], "type": "object", "properties": { "upstream_servers": { "description": "Ip address of the upstream dns servers the dns forwarder accesses.\n", "title": "Ips of upsteam dns servers", "minItems": 1, "items": { "description": "IPv4 address", "format": "ipv4", "type": "string" }, "maxItems": 3, "type": "array" }, "source_ip": { "description": "The source ip used by the fowarder of the zone. If no source ip\nspecified, the ip address of listener of the dns forwarder will\nbe used.\n", "format": "ipv4", "type": "string" } } }, "LbClientSslProfileListResult": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "LoadBalancer", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/LbClientSslProfile" }, "type": "array", "description": "paginated list of load balancer client SSL profiles", "title": "paginated list of load balancer client SSL profiles" } } } ] }, "DhcpRelayProfile": { "x-vmw-nsx-module": "DhcpRelay", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "DhcpRelay", "required": [ "server_addresses" ], "type": "object", "properties": { "server_addresses": { "items": { "description": "IPv4 or IPv6 address", "format": "ip", "type": "string" }, "type": "array" } } } ] }, "AdvertiseRuleList": { "x-vmw-nsx-module": "Routing", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "Routing", "type": "object", "properties": { "rules": { "description": "List of advertisement rules", "title": "List of advertisement rules", "default": [], "items": { "$ref": "#/definitions/AdvertiseRule" }, "minItems": 0, "type": "array" }, "logical_router_id": { "readOnly": true, "type": "string", "description": "Logical router id", "title": "Logical router id" } } } ] }, "PrefixList": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "required": [ "prefixes" ], "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "prefixes": { "minItems": 1, "items": { "$ref": "#/definitions/PrefixEntry" }, "type": "array", "description": "Specify ordered list of network prefixes.\n", "title": "Ordered list of Network prefixes" } } } ], "description": "A named list of prefixes for routing purposes.", "title": "A named list of prefixes for routing purposes" }, "StaticRouteNextHop": { "x-vmw-nsx-module": "Routing", "type": "object", "properties": { "blackhole_action": { "description": "Action to be taken on matching packets for NULL routes.", "enum": [ "DISCARD" ], "readOnly": true, "type": "string" }, "administrative_distance": { "description": "Administrative Distance for the next hop IP", "title": "Administrative Distance for the next hop IP", "default": 1, "format": "int64", "maximum": 255, "minimum": 1, "type": "integer" }, "ip_address": { "description": "Next Hop IP", "format": "ipv4", "type": "string" }, "bfd_enabled": { "default": false, "readOnly": true, "type": "boolean", "description": "Status of bfd for this next hop where bfd_enabled = true indicate bfd is enabled for this next hop and bfd_enabled = false indicate bfd peer is disabled or not configured for this next hop.", "title": "Status of bfd for this next hop where bfd_enabled = true indicate bfd is enabled for this next hop and bfd_enabled = false indicate bfd peer is disabled or not configured for this next hop." }, "logical_router_port_id": { "title": "Reference of logical router port to be used for next hop", "description": "Reference of logical router port to be used for next hop", "$ref": "#/definitions/ResourceReference" } } }, "PacketAddressClassifier": { "x-vmw-nsx-module": "Switching", "type": "object", "description": "A packet is classified to have an address binding, if its address\nconfiguration matches with all user specified properties.\n", "properties": { "vlan": { "type": "integer", "description": "Virtual Local Area Network Identifier", "format": "int64" }, "ip_address": { "description": "A single IP address or a subnet, e.g. x.x.x.x or x.x.x.x/y", "format": "address-or-block-or-range", "type": "string" }, "mac_address": { "description": "A single MAC address", "pattern": "/^(([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2}))|(([0-9A-Fa-f]{2}[-]){5}([0-9A-Fa-f]{2}))$/", "type": "string" } }, "title": "Address classifications for a packet" }, "LBClientSslProfileBinding": { "x-vmw-nsx-module": "ManagerNode", "required": [ "default_certificate_path" ], "type": "object", "properties": { "default_certificate_path": { "type": "string", "description": "A default certificate should be specified which will be used if the\nserver does not host multiple hostnames on the same IP address or if\nthe client does not support SNI extension.\n", "title": "default service certificate identifier" }, "sni_certificate_paths": { "items": { "type": "string" }, "type": "array", "description": "Client-side SSL profile binding allows multiple certificates, for\ndifferent hostnames, to be bound to the same virtual server.\n", "title": "SNI certificate path list" }, "ssl_profile_path": { "type": "string", "description": "Client SSL profile defines reusable, application-independent client side\nSSL properties.\n", "title": "client SSL profile path" } } }, "RealizedIPSet": { "x-vmw-nsx-module": "PolicyRealizedState", "allOf": [ { "$ref": "#/definitions/PolicyRealizedResource" }, { "x-vmw-nsx-module": "PolicyRealizedState", "type": "object" } ], "description": "Realized IPSet", "title": "Realized IPSet" }, "IPSecVPNSessionListResult": { "x-vmw-nsx-module": "IPSecVPN", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "IPSecVPN", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/IPSecVPNSession" }, "type": "array", "description": "IPSec VPN sessions list result", "title": "IPSec VPN sessions list result" } } } ], "description": "List all the IPSec VPN sessions.", "title": "List IPSec VPN sessions" }, "Domain": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "communication_maps": { "items": { "$ref": "#/definitions/CommunicationMap" }, "type": "array", "description": "List of communication maps under this domain.\n", "title": "Communication maps for this Domain" }, "groups": { "items": { "$ref": "#/definitions/Group" }, "type": "array", "description": "This field is used while creating or updating the Domain.\nPlease take a look at the UpdateTenant API documentation for details.\n", "title": "Groups under this Domain" } } } ], "description": "Domain", "title": "Domain" }, "AdvertisedNetwork": { "x-vmw-nsx-module": "L3", "type": "object", "properties": { "advertised_route_type": { "readOnly": true, "type": "string", "description": "Advertise network route type on TIER0 LR", "title": "Advertised route type of network" }, "resource": { "readOnly": true, "title": "Resource of network", "description": "Resource which has registered network.", "$ref": "#/definitions/ResourceReference" }, "network": { "description": "Advertised network address.", "format": "ipv4", "readOnly": true, "type": "string" }, "is_advertised": { "default": false, "readOnly": true, "type": "boolean", "description": "Flag to denote advertisement status of network to TIER0 LR.", "title": "Advertisement status of network" } } }, "PolicyBasedL3VpnSession": { "x-vmw-nsx-module": "PolicyL3Vpn", "allOf": [ { "$ref": "#/definitions/L3VpnSession" }, { "x-vmw-nsx-module": "PolicyL3Vpn", "type": "object", "properties": { "rules": { "uniqueItems": true, "items": { "$ref": "#/definitions/L3VpnRule" }, "type": "array", "description": "L3Vpn rules that are specific to the L3Vpn. Only L3Vpn rules with PROTECT action\nare supported.\n", "title": "L3Vpn Rules" } } } ], "description": "A Policy-based L3Vpn session is a configuration in which a specific vpn tunnel is\nreferenced in a policy whose action is set as tunnel.\n", "title": "Policy based L3Vpn Session" }, "RealizedFirewalls": { "x-vmw-nsx-module": "PolicyRealizedState", "allOf": [ { "$ref": "#/definitions/PolicyRealizedResource" }, { "x-vmw-nsx-module": "PolicyRealizedState", "type": "object", "properties": { "realized_firewalls": { "items": { "$ref": "#/definitions/RealizedFirewall" }, "readOnly": true, "type": "array", "description": "list of realized firewalls", "title": "list of realized firewalls" } } } ], "description": "Realized firewalls", "title": "Realized firewalls" }, "LogicalRouterConfig": { "x-vmw-nsx-module": "LogicalRouter", "type": "object", "properties": { "internal_transit_network": { "description": "CIDR block defining Service router to distributed router links", "format": "ipv4-cidr-block", "type": "string" }, "transport_zone_id": { "type": "string", "description": "Transport zone of the logical router. If specified then all downlink switches should belong to this transport zone and an error will be thrown if transport zone of the downlink switch doesn't match with this transport zone. All internal and external transit switches will be created in this transport zone.", "title": "Transport Zone Identifier" }, "ha_vip_configs": { "items": { "$ref": "#/definitions/HaVipConfig" }, "type": "array", "description": "This configuration can be defined only for Active-Standby LogicalRouter to provide | redundancy. For mulitple uplink ports, multiple HaVipConfigs must be defined | and each config will pair exactly two uplink ports. The VIP will move and will | always be owned by the Active node. Note - when HaVipConfig[s] are defined, | configuring dynamic-routing is disallowed.", "title": "Array of HA VIP Config." }, "external_transit_networks": { "items": { "description": "IPv4 CIDR Block", "format": "ipv4-cidr-block", "type": "string" }, "type": "array", "description": "CIDR block defining tier0 to tier1 links", "title": "CIDR block defining tier0 to tier1 links" } } }, "TunnelPortConfig": { "description": "IP Tunnel port configuration.", "title": "IP Tunnel port configuration", "required": [ "ip_subnets" ], "x-vmw-nsx-module": "IPSecVPN", "type": "object", "properties": { "ip_subnets": { "items": { "$ref": "#/definitions/IPSubnet" }, "type": "array", "description": "IP Tunnel port (commonly referred as VTI) subnet.", "maxItems": 1, "title": "IP Tunnel port subnet" }, "tunnel_port_id": { "readOnly": true, "type": "string", "description": "Logical route port identifier.", "title": "Logical route port identifier" } } }, "LbTcpMonitor": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbActiveMonitor" }, { "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "receive": { "type": "string", "description": "Expected data, if specified, can be anywhere in the response and it has to\nbe a string, regular expressions are not supported.\n", "title": "expected data received from server" }, "send": { "type": "string", "description": "If both send and receive are not specified, then just a TCP connection\nis established (3-way handshake) to validate server is healthy, no\ndata is sent.\n", "title": "data to send" } } } ] }, "LogicalPortListResult": { "x-vmw-nsx-module": "LogicalPort", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "LogicalPort", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/LogicalPort" }, "readOnly": true, "type": "array", "description": "LogicalPort Results", "title": "LogicalPort Results" } } } ], "description": "Logical port queries result", "title": "Logical port queries result" }, "LbUdpMonitor": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbActiveMonitor" }, { "x-vmw-nsx-module": "LoadBalancer", "required": [ "receive", "send" ], "type": "object", "properties": { "receive": { "type": "string", "description": "Expected data, can be anywhere in the response and it has to be a\nstring, regular expressions are not supported.\nUDP healthcheck is considered failed if there is no server response\nwithin the timeout period.\n", "title": "expected data received from server" }, "send": { "type": "string", "description": "The data to be sent to the monitored server.\n", "title": "data to send" } } } ] }, "IPSecVPNIKEProfile": { "x-vmw-nsx-module": "IPSecVPN", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "IPSecVPN", "type": "object", "properties": { "digest_algorithms": { "items": { "description": "The IKEDigestAlgorithms are used to verify message\nintegrity during IKE negotiation. SHA1 produces 160\nbits hash and SHA2_XXX produces XXX bit hash.\n", "enum": [ "SHA1", "SHA2_256", "SHA2_384", "SHA2_512" ], "type": "string" }, "type": "array", "description": "Algorithm to be used for message digest during Internet Key Exchange(IKE) negotiation. Default is SHA2_256.", "title": "Algorithm for message hash" }, "encryption_algorithms": { "items": { "description": "IKEEncryption algorithms are used to ensure confidentiality of\nthe messages exchanged during IKE negotiations. AES stands for\nAdvanced Encryption Standards. AES_128 uses 128-bit keys whereas\nAES_256 uses 256-bit keys for encryption and decryption.\nAES_GCM stands for Advanced Encryption Standard(AES) in\nGalois/Counter Mode(GCM) and is used to provide both\nconfidentiality and data origin authentication. AES_GCM composed\nof two separate functions one for encryption(AES) and one for\nauthentication(GMAC). AES_GCM algorithms will be available with\nIKE_V2 version only.\nAES_GCM_128 uses 128-bit keys.\nAES_GCM_192 uses 192-bit keys.\nAES_GCM_256 uses 256-bit keys.\n", "enum": [ "AES_128", "AES_256", "AES_GCM_128", "AES_GCM_192", "AES_GCM_256" ], "type": "string" }, "type": "array", "description": "Encryption algorithm is used during Internet Key Exchange(IKE) negotiation. Default is AES_128.", "title": "Encryption algorithm for IKE" }, "dh_groups": { "items": { "description": "Diffie-Hellman groups represent algorithm used to derive shared\nkeys between IPSec VPN initiator and responder over an\nunsecured network.\nGROUP2 uses 1024-bit Modular Exponentiation (MODP) group.\nGROUP5 uses 1536-bit MODP group.\nGROUP14 uses 2048-bit MODP group.\nGROUP15 uses 3072-bit MODP group.\nGROUP16 uses 4096-bit MODP group.\n", "enum": [ "GROUP2", "GROUP5", "GROUP14", "GROUP15", "GROUP16" ], "type": "string" }, "type": "array", "description": "Diffie-Hellman group to be used if PFS is enabled. Default is GROUP14.", "title": "DH group" }, "sa_life_time": { "description": "Life time for security association. Default is 86400 seconds (1 day).", "title": "Security association (SA) life time", "default": 86400, "format": "int64", "maximum": 31536000, "minimum": 21600, "type": "integer" }, "ike_version": { "default": "IKE-V2", "enum": [ "IKE_V1", "IKE_V2", "IKE_FLEX" ], "type": "string", "description": "IKE protocol version to be used. IKE-Flex will initiate IKE-V2 and responds to both IKE-V1 and IKE-V2.", "title": "IKE version" } } } ], "description": "IKE Profile is a reusable profile that captures IKE phase one negotiation parameters. Any changes affects all IPSec VPN sessions consuming this profile.", "title": "Internet key exchange (IKE) profile" }, "NatRuleListResult": { "x-vmw-nsx-module": "Nat", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "Nat", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/NatRule" }, "type": "array", "description": "NAT rule list results", "title": "NAT rule list results" } } } ] }, "ServiceElement": { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "allOf": [ { "$ref": "#/definitions/Element" }, { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "type": "object" } ], "description": "Network services such as Loadbalancer, DHCP will\nbe represented using this type.\n", "title": "A NSX virtual network service element" }, "GroupElement": { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "allOf": [ { "$ref": "#/definitions/Element" }, { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "type": "object" } ], "description": "Group element extends from Element class. This class contains the\ninformation related to the group.\n", "title": "Group element" }, "VtepLabelRange": { "x-vmw-nsx-module": "VtepLabel", "allOf": [ { "$ref": "#/definitions/Resource" }, { "x-vmw-nsx-module": "VtepLabel", "required": [ "start", "end" ], "type": "object", "properties": { "start": { "description": "Start value for virtual tunnel endpoint label range", "title": "Virtual tunnel endpoint label range start", "format": "int64", "maximum": 131071, "readOnly": false, "minimum": 1, "type": "integer" }, "end": { "description": "End value for virtual tunnel endpoint label range", "title": "Virtual tunnel endpoint label range end", "format": "int64", "maximum": 131071, "readOnly": false, "minimum": 1, "type": "integer" } } } ] }, "RealizedFirewallUIResourceListResult": { "x-vmw-nsx-module": "PolicyUi", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "PolicyUi", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/RealizedFirewallUIResource" }, "type": "array", "description": "communication map and realized firewall sections list results", "title": "communication map and realized firewall sections list results" } } } ], "description": "Paged Collection of communication map and Realized Firewall Sections Pairs", "title": "Paged Collection of communication map and Realized Firewall Sections Pairs" }, "EdgeClusterListResult": { "x-vmw-nsx-module": "EdgeClusters", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "EdgeClusters", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/EdgeCluster" }, "type": "array", "description": "Edge cluster list results", "title": "Edge cluster list results" } } } ] }, "ActionableResourceListResult": { "x-vmw-nsx-module": "ClusterRestore", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "ClusterRestore", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/ActionableResource" }, "type": "array", "description": "List results", "title": "List results" } } } ] }, "LocaleServicesListResult": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/LocaleServices" }, "type": "array", "description": "LocaleServices results", "title": "LocaleServices results" } } } ], "description": "Paged collection of LocaleServices", "title": "Paged collection of LocaleServices" }, "TraceflowObservationListResult": { "x-vmw-nsx-module": "Traceflow", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "Traceflow", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/TraceflowObservation" }, "type": "array", "description": "TraceflowObservation list results", "title": "TraceflowObservation list results" } } } ] }, "LbHttpRequestMethodCondition": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbRuleCondition" }, { "required": [ "method" ], "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "method": { "description": "Type of HTTP request method", "enum": [ "GET", "OPTIONS", "POST", "HEAD", "PUT" ], "type": "string" } } } ], "description": "This condition is used to match method of HTTP requests. If the method of an\nHTTP request is same as the method specified in this condition, the HTTP\nrequest match this condition. For example, if the method field is set to\nGET in this condition, any HTTP request with GET method matches the\ncondition.\n", "title": "Condition to match method of HTTP request messages" }, "IPSecVPNSession": { "x-vmw-nsx-module": "IPSecVPN", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "required": [ "local_endpoint_id", "peer_endpoint_id", "resource_type" ], "discriminator": "resource_type", "x-vmw-nsx-module": "IPSecVPN", "type": "object", "properties": { "local_endpoint_id": { "type": "string", "description": "Local endpoint identifier.", "title": "Local endpoint identifier" }, "peer_endpoint_id": { "type": "string", "description": "Peer endpoint identifier.", "title": "Peer endpoint identifier" }, "enabled": { "default": true, "type": "boolean", "description": "Enable/Disable IPSec VPN session.", "title": "Enable/Disable IPSec VPN session" }, "resource_type": { "description": "A Policy Based VPN requires to define protect rules that match\n local and peer subnets. IPSec security associations is\n negotiated for each pair of local and peer subnet.\nA Route Based VPN is more flexible, more powerful and recommended over\n policy based VPN. IP Tunnel port is created and all traffic routed via\n tunnel port is protected. Routes can be configured statically\n or can be learned through BGP. A route based VPN is must for establishing\n redundant VPN session to remote site.\n", "enum": [ "PolicyBasedIPSecVPNSession", "RouteBasedIPSecVPNSession" ], "type": "string" }, "ipsec_vpn_service_id": { "readOnly": true, "type": "string", "description": "Identifier of VPN Service linked with local endpoint.", "title": "IPSec VPN service identifier" } } } ], "description": "VPN session defines connection between local and peer endpoint. Untill VPN session is defined configuration is not realized.", "title": "IPSec VPN session" }, "PoolMember": { "x-vmw-nsx-module": "LoadBalancer", "required": [ "ip_address" ], "type": "object", "properties": { "max_concurrent_connections": { "description": "To ensure members are not overloaded, connections to a member can be\ncapped by the load balancer. When a member reaches this limit, it is\nskipped during server selection.\nIf it is not specified, it means that connections are unlimited.\n", "format": "int64", "title": "maximum concurrent connection number", "maximum": 2147483647, "minimum": 1, "type": "integer" }, "admin_state": { "description": "member admin state", "default": "ENABLED", "enum": [ "ENABLED", "DISABLED", "GRACEFUL_DISABLED" ], "type": "string" }, "backup_member": { "default": false, "type": "boolean", "description": "Backup servers are typically configured with a sorry page indicating to\nthe user that the application is currently unavailable. While the pool\nis active (a specified minimum number of pool members are active)\nBACKUP members are skipped during server selection. When the pool is\ninactive, incoming connections are sent to only the BACKUP member(s).\n", "title": "determine whether the pool member is for backup usage" }, "weight": { "description": "Pool member weight is used for WEIGHTED_ROUND_ROBIN balancing\nalgorithm. The weight value would be ignored in other algorithms.\n", "title": "pool member weight", "default": 1, "format": "int64", "maximum": 256, "minimum": 1, "type": "integer" }, "display_name": { "type": "string", "description": "pool member name", "title": "pool member name" }, "ip_address": { "description": "pool member IP address", "format": "ip", "type": "string" }, "port": { "description": "If port is specified, all connections will be sent to this port. Only\nsingle port is supported.\nIf unset, the same port the client connected to will be used, it could\nbe overrode by default_pool_member_port setting in virtual server.\nThe port should not specified for port range case.\n", "format": "port-or-range", "type": "string" } } }, "TrustObjectData": { "x-vmw-nsx-module": "CertificateManager", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "CertificateManager", "required": [ "pem_encoded" ], "type": "object", "properties": { "key_algo": { "type": "string", "description": "Key algorithm contained in this certificate" }, "private_key": { "readOnly": false, "type": "string", "description": "private key data" }, "passphrase": { "readOnly": false, "type": "string", "description": "Password for private key encryption" }, "pem_encoded": { "readOnly": false, "type": "string", "description": "pem encoded certificate data" } } } ] }, "ConditionalForwarderZone": { "x-vmw-nsx-module": "DnsForwarder", "allOf": [ { "$ref": "#/definitions/ForwarderZone" }, { "x-vmw-nsx-module": "DnsForwarder", "required": [ "domain_names" ], "type": "object", "properties": { "domain_names": { "description": "A forwarder domain name should be a valid FQDN. If reverse lookup is\nneeded for this zone, reverse lookup domain name like X.in-addr.arpa\ncan be defined. Here the X represents a subnet.\n", "title": "Domain names of a forwarder zone", "minItems": 1, "items": { "type": "string" }, "maxItems": 100, "type": "array" } } } ] }, "BfdHealthMonitoringProfile": { "x-vmw-nsx-module": "BfdHealthMonitoringProfile", "allOf": [ { "$ref": "#/definitions/TransportZoneProfile" }, { "required": [ "enabled" ], "x-vmw-nsx-module": "BfdHealthMonitoringProfile", "type": "object", "properties": { "probe_interval": { "description": "The time interval (in millisec) between probe packets for tunnels between transport nodes.", "format": "int64", "default": 1000, "title": "The time interval (in millisec) between probe packets for tunnels between transport nodes.", "minimum": 300, "type": "integer" }, "enabled": { "type": "boolean", "description": "Whether the heartbeat is enabled. A POST or PUT request with \"enabled\" false (with no probe intervals) will set (POST) or reset (PUT) the probe_interval to their default value.", "title": "Whether the heartbeat is enabled. A POST or PUT request with \"enabled\" false (with no probe intervals) will set (POST) or reset (PUT) the probe_interval to their default value." } } } ], "description": "Profile for BFD health monitoring", "title": "Profile for BFD health monitoring" }, "PoolUsage": { "x-vmw-nsx-module": "Ipam", "type": "object", "description": "Pool usage statistics in a pool.", "properties": { "total_ids": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of IDs in a pool", "title": "Total number of IDs in a pool" }, "allocated_ids": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of allocated IDs in a pool", "title": "Total number of allocated IDs in a pool" }, "free_ids": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of free IDs in a pool", "title": "Total number of free IDs in a pool" } } }, "Tier0Interface": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/BaseTier0Interface" }, { "required": [ "ls_id" ], "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "edge_cluster_member_index": { "format": "int32", "minimum": 0, "type": "integer", "description": "Specify association of interface with edge cluster member.\n", "title": "Association of interface with edge cluster member" }, "ls_id": { "type": "string", "description": "Specify logical switch to which tier-0 interface is connected for external access.\n", "title": "Logical switch id to attach tier-0 interface" }, "mtu": { "description": "Maximum transmission unit (MTU) specifies the size of the largest\npacket that a network protocol can transmit.\n", "title": "MTU size", "default": 1500, "format": "int32", "maximum": 9000, "minimum": 64, "type": "integer" } } } ], "description": "Tier-0 interface configuration for external connectivity.", "title": "Tier-0 interface configuration" }, "IpfixServiceAssociationListResult": { "x-vmw-nsx-module": "GroupingObjectsProviders", "allOf": [ { "$ref": "#/definitions/ServiceAssociationListResult" }, { "x-vmw-nsx-module": "GroupingObjectsProviders", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/IpfixConfig" }, "readOnly": true, "type": "array", "description": "Ipfix config list result with pagination support.", "title": "IpfixConfig list result" } } } ] }, "TaskListResult": { "x-vmw-nsx-module": "Tasks", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "Tasks", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/TaskProperties" }, "type": "array", "description": "Task property results", "title": "Task property results" } } } ], "description": "Task query results", "title": "Task query results" }, "LbServerSslProfileListResult": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "LoadBalancer", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/LbServerSslProfile" }, "type": "array", "description": "paginated list of load balancer server SSL profiles", "title": "paginated list of load balancer server SSL profiles" } } } ] }, "DiscoveredNode": { "x-vmw-nsx-module": "InventoryCmObj", "allOf": [ { "$ref": "#/definitions/DiscoveredResource" }, { "x-vmw-nsx-module": "InventoryCmObj", "type": "object", "properties": { "stateless": { "readOnly": true, "type": "boolean", "description": "The stateless property describes whether host persists its state across reboot or not. If state persists, value is set as false otherwise true.", "title": "Specifies whether host is stateless" }, "display_name": { "readOnly": true, "type": "string", "description": "Display name of discovered node", "title": "Display name of discovered node" }, "certificate": { "type": "string", "description": "Certificate of the discovered node", "title": "Certificate of the discovered node" }, "origin_id": { "readOnly": true, "type": "string", "description": "Id of the compute manager from where this node was discovered", "title": "Id of the compute manager from where this node was discovered" }, "ip_addresses": { "items": { "description": "IPv4 or IPv6 address", "format": "ip", "type": "string" }, "readOnly": true, "type": "array", "description": "IP Addresses of the the discovered node.", "title": "IP Addresses of the the discovered node." }, "hardware_id": { "readOnly": true, "type": "string", "description": "Hardware Id is generated using system hardware info. It is used to retrieve fabric node of the esx.", "title": "Hardware Id of the discovered node" }, "os_version": { "readOnly": true, "type": "string", "description": "OS version of the discovered node", "title": "OS version of the discovered node" }, "node_type": { "readOnly": true, "type": "string", "description": "Discovered Node type like Host", "title": "Discovered Node type like Host" }, "parent_compute_collection": { "readOnly": true, "type": "string", "description": "External id of the compute collection to which this node belongs", "title": "External id of the compute collection to which this node belongs" }, "os_type": { "readOnly": true, "type": "string", "description": "OS type of the discovered node", "title": "OS type of the discovered node" }, "origin_properties": { "items": { "$ref": "#/definitions/KeyValuePair" }, "readOnly": true, "type": "array", "description": "Key-Value map of additional specific properties of discovered\nnode in the Compute Manager\n", "title": "Key-Value map of additional specific properties of discovered\nnode in the Compute Manager\n" }, "external_id": { "readOnly": true, "type": "string", "description": "External id of the discovered node, ex. a mo-ref from VC", "title": "External id of the discovered node, ex. a mo-ref from VC" }, "cm_local_id": { "readOnly": true, "type": "string", "description": "Local Id of the discovered node in the Compute Manager", "title": "Local Id of the discovered node in the Compute Manager" } } } ] }, "LbHttpResponseHeaderCondition": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbRuleCondition" }, { "required": [ "header_value", "header_name" ], "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "header_value": { "type": "string", "description": "Value of HTTP header field", "title": "Value of HTTP header field" }, "case_sensitive": { "default": true, "type": "boolean", "description": "If true, case is significant when comparing HTTP header value.\n", "title": "A case sensitive flag for HTTP header value comparing" }, "match_type": { "description": "Match type of HTTP header value", "default": "REGEX", "enum": [ "STARTS_WITH", "ENDS_WITH", "EQUALS", "CONTAINS", "REGEX" ], "type": "string" }, "header_name": { "type": "string", "description": "Name of HTTP header field", "title": "Name of HTTP header field" } } } ], "description": "This condition is used to match HTTP response messages from backend servers\nby HTTP header fields. HTTP header fields are components of the header\nsection of HTTP request and response messages. They define the operating\nparameters of an HTTP transaction. For example, Cookie, Authorization,\nUser-Agent, etc. One condition can be used to match one header field, to\nmatch multiple header fields, multiple conditions must be specified.\nThe match_type field defines how header_value field is used to match HTTP\nresponses. The header_name field does not support match types.\n", "title": "Condition to match a header field of HTTP response" }, "VidmInfo": { "x-vmw-nsx-module": "AAA", "type": "object", "description": "Vidm Info", "properties": { "display_name": { "readOnly": true, "type": "string", "description": "User's Full Name Or User Group's Display Name", "title": "User's Full Name Or User Group's Display Name" }, "type": { "readOnly": true, "enum": [ "remote_user", "remote_group" ], "type": "string", "description": "Type", "title": "Type" }, "name": { "readOnly": true, "type": "string", "description": "Username Or Groupname", "title": "Username Or Groupname" } }, "title": "Vidm Info" }, "IPSecVpnTrafficCounters": { "x-vmw-nsx-module": "PolicyStatistics", "type": "object", "description": "Traffic counters for IPSec VPN session.", "properties": { "packets_out": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of packets sent.", "title": "Packets out" }, "dropped_packets_out": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of outgoing packets dropped on outbound security association.\n", "title": "Dropped outgoing packets" }, "bytes_in": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of bytes recevied.", "title": "Bytes in" }, "bytes_out": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of bytes sent.", "title": "Bytes out" }, "dropped_packets_in": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of incoming packets dropped on inbound security association.\n", "title": "Dropped incoming packets" }, "packets_in": { "readOnly": true, "format": "int64", "type": "integer", "description": "Total number of packets received.", "title": "Packets in" } }, "title": "IPSec VPN traffic counters" }, "DhcpIpPool": { "x-vmw-nsx-module": "Dhcp", "allOf": [ { "$ref": "#/definitions/IpAllocationBase" }, { "x-vmw-nsx-module": "Dhcp", "required": [ "allocation_ranges" ], "type": "object", "properties": { "allocation_ranges": { "items": { "$ref": "#/definitions/IpPoolRange" }, "type": "array", "description": "ip-ranges", "title": "ip-ranges" }, "warning_threshold": { "description": "warning threshold, valid [50-80], default 80", "title": "warning threshold, valid [50-80], default 80", "default": 80, "format": "int64", "maximum": 80, "minimum": 50, "type": "integer" }, "error_threshold": { "description": "error threshold, valid [80-100], default 100", "title": "error threshold, valid [80-100], default 100", "default": 100, "format": "int64", "maximum": 100, "minimum": 80, "type": "integer" } } } ] }, "RouteMapSequenceSet": { "x-vmw-nsx-module": "Routing", "type": "object", "properties": { "as_path_prepend": { "type": "string", "description": "As Path Prepending to influence path selection", "title": "As Path Prepending to influence path selection" }, "community": { "type": "string", "description": "Either well-known community name or community value in aa:nn(2byte:2byte) format", "title": "Either well-known community name or community value in aa:nn(2byte:2byte) format" }, "weight": { "description": "Weight used to select certain path", "format": "int32", "title": "Weight used to select certain path", "maximum": 65535, "minimum": 0, "type": "integer" }, "multi_exit_discriminator": { "description": "Multi Exit Discriminator (MED)", "format": "int64", "title": "Multi Exit Discriminator (MED)", "maximum": 4294967295, "minimum": 0, "type": "integer" } } }, "DeploymentZone": { "x-vmw-nsx-module": "PolicyEnforcementPointManagement", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "x-vmw-nsx-module": "PolicyEnforcementPointManagement", "type": "object", "properties": { "enforcement_points": { "items": { "$ref": "#/definitions/EnforcementPoint" }, "type": "array", "description": "Logical grouping of enforcement points", "title": "Logical grouping of enforcement points" } } } ], "description": "Logical grouping of enforcement points", "title": "Deployment zone" }, "LogicalRouter": { "x-vmw-nsx-module": "LogicalRouter", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "LogicalRouter", "required": [ "router_type" ], "type": "object", "properties": { "edge_cluster_member_indices": { "items": { "type": "integer", "format": "int64" }, "type": "array", "description": "For stateful services, the logical router should be associated with\nedge cluster. For TIER 1 logical router, for manual placement of\nservice router within the cluster, edge cluster member indices needs\nto be provided else same will be auto-allocated. You can provide\nmaximum two indices for HA ACTIVE_STANDBY. For TIER0 logical router\nthis property is no use and placement is derived from logical router\nuplink or loopback port.\n", "title": "Member indices of the edge node on the cluster" }, "failover_mode": { "enum": [ "PREEMPTIVE", "NON_PREEMPTIVE" ], "type": "string", "description": "Determines the behavior when a logical router instance restarts after\na failure. If set to PREEMPTIVE, the preferred node will take over,\neven if it causes another failure. If set to NON_PREEMPTIVE, then the\ninstance that restarted will remain secondary.\nThis property must not be populated unless the high_availability_mode property\nis set to ACTIVE_STANDBY.\nIf high_availability_mode property is set to ACTIVE_STANDBY and this property\nis not specified then default will be NON_PREEMPTIVE.\n", "title": "Failover mode for active-standby logical router instances." }, "allocation_profile": { "title": "Edge Cluster Member Allocation Profile", "description": "Configurations options to auto allocate edge cluster members for\nlogical router. Auto allocation is supported only for TIER1 and pick\nleast utilized member post current assignment for next allocation.\n", "$ref": "#/definitions/EdgeClusterMemberAllocationProfile" }, "firewall_sections": { "items": { "$ref": "#/definitions/ResourceReference" }, "readOnly": true, "type": "array", "description": "List of Firewall sections related to Logical Router.", "title": "LR Firewall Section References" }, "advanced_config": { "title": "Logical Router Configuration", "description": "Contains config properties for tier0 routers", "$ref": "#/definitions/LogicalRouterConfig" }, "router_type": { "enum": [ "TIER0", "TIER1" ], "type": "string", "description": "Type of Logical Router", "title": "Type of Logical Router" }, "preferred_edge_cluster_member_index": { "format": "int64", "minimum": 0, "type": "integer", "description": "Used for tier0 routers only", "title": "Preferred edge cluster member index in active standby mode\nfor pre-emptive failover\n" }, "high_availability_mode": { "enum": [ "ACTIVE_ACTIVE", "ACTIVE_STANDBY" ], "type": "string", "description": "High availability mode", "title": "High availability mode" }, "edge_cluster_id": { "type": "string", "description": "Used for tier0 routers", "title": "Identifier of the edge cluster for this Logical Router" } } } ] }, "ChildCommunicationEntry": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "CommunicationEntry" ], "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "CommunicationEntry": { "title": "CommunicationEntry", "description": "Contains the actual CommunicationEntry object\n", "$ref": "#/definitions/CommunicationEntry" } } } ], "description": "Child wrapper object for CommunicationEntry, used in hierarchical API", "title": "Wrapper object for CommunicationEntry" }, "StringMapEntry": { "x-vmw-nsx-module": "VCExecuteOperation", "required": [ "key" ], "type": "object", "properties": { "value": { "readOnly": false, "maxLength": 8192, "type": "string", "description": "String value for the map entry", "title": "String value for the map entry" }, "key": { "readOnly": false, "type": "string", "description": "String key for the map", "title": "String key for the map" } } }, "GridConfiguration": { "x-vmw-nsx-module": "NsxDashboard", "allOf": [ { "$ref": "#/definitions/WidgetConfiguration" }, { "required": [ "row_list_fields", "columns" ], "x-vmw-nsx-module": "NsxDashboard", "type": "object", "properties": { "page_size": { "default": 30, "format": "int32", "type": "integer", "description": "Number of records per page. page_size will be effective only when the urls provided in the datasource support paging.", "title": "Page Size" }, "span": { "default": 2, "format": "int32", "type": "integer", "description": "Represents the horizontal span of the Grid.", "title": "Horizontal width of grid widget" }, "row_list_fields": { "minItems": 1, "items": { "$ref": "#/definitions/RowListField" }, "type": "array", "description": "Rows of grid or table are formed from the list of objects returned by a row list field.", "title": "List of fields from which rows are formed" }, "columns": { "items": { "$ref": "#/definitions/ColumnItem" }, "type": "array", "description": "Array of columns of a Grid widget", "title": "Columns" } } } ], "description": "Represents configuration of a Grid or Table widget.", "title": "Grid Configuration" }, "HostSwitchProfileTypeIdEntry": { "x-vmw-nsx-module": "BaseHostSwitchProfile", "required": [ "value" ], "type": "object", "properties": { "value": { "readOnly": false, "type": "string", "description": "key value" }, "key": { "description": "Supported HostSwitch profiles.", "enum": [ "UplinkHostSwitchProfile", "LldpHostSwitchProfile", "NiocProfile", "ExtraConfigHostSwitchProfile" ], "type": "string" } } }, "PacketCaptureOptionList": { "x-vmw-nsx-module": "PacketCapture", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "PacketCapture", "type": "object", "properties": { "values": { "items": { "$ref": "#/definitions/PacketCaptureOption" }, "type": "array", "description": "Packet capture option collection", "title": "Packet capture option collection" } } } ], "description": "List of packet capture options to filter data in capture process.", "title": "List of packet capture options" }, "Condition": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/Expression" }, { "required": [ "operator", "value", "key", "member_type" ], "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "operator": { "enum": [ "EQUALS", "CONTAINS", "STARTSWITH" ], "type": "string", "description": "operator", "title": "operator" }, "value": { "type": "string", "description": "Value", "title": "Value" }, "key": { "enum": [ "Tag", "Name" ], "type": "string", "description": "Key", "title": "Key" }, "member_type": { "enum": [ "VirtualMachine", "LogicalPort" ], "type": "string", "description": "Group member type", "title": "Group member type" } } } ], "description": "Represents the leaf level condition", "title": "Represents the leaf level condition" }, "LldpHostSwitchProfile": { "x-vmw-nsx-module": "LldpHostSwitchProfile", "allOf": [ { "$ref": "#/definitions/BaseHostSwitchProfile" }, { "required": [ "send_enabled" ], "x-vmw-nsx-module": "LldpHostSwitchProfile", "type": "object", "properties": { "send_enabled": { "type": "boolean", "description": "Enabled or disabled sending LLDP packets", "title": "Enabled or disabled sending LLDP packets" } } } ], "description": "Host Switch for LLDP", "title": "Host Switch for LLDP" }, "PBRRule": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/EmbeddedResource" }, { "x-vmw-nsx-module": "ManagerNode", "required": [ "action" ], "type": "object", "properties": { "disabled": { "default": false, "readOnly": false, "type": "boolean", "description": "Flag to disable rule. Disabled will only be persisted but never provisioned/realized.", "title": "Rule enable/disable flag" }, "sources": { "description": "List of sources. Null will be treated as any.", "title": "Source List", "items": { "$ref": "#/definitions/ResourceReference" }, "readOnly": false, "maxItems": 128, "type": "array" }, "rule_tag": { "readOnly": false, "maxLength": 32, "type": "string", "description": "User level field which will be printed in CLI and packet logs.", "title": "Tag" }, "services": { "description": "List of the services. Null will be treated as any.", "title": "Service List", "items": { "$ref": "#/definitions/PBRService" }, "readOnly": false, "maxItems": 128, "type": "array" }, "notes": { "readOnly": false, "maxLength": 2048, "type": "string", "description": "User notes specific to the rule.", "title": "Notes" }, "applied_tos": { "description": "List of object where rule will be enforced. field overrides this one. Null will be treated as any.", "title": "AppliedTo List", "items": { "$ref": "#/definitions/ResourceReference" }, "readOnly": false, "maxItems": 128, "type": "array" }, "logged": { "default": false, "readOnly": false, "type": "boolean", "description": "Flag to enable packet logging. Default is disabled.", "title": "Enable logging flag" }, "action": { "readOnly": false, "enum": [ "ROUTE_TO_UNDERLAY_NAT", "ROUTE_TO_OVERLAY_NAT", "ROUTE_TO_UNDERLAY", "ROUTE_TO_OVERLAY" ], "type": "string", "description": "Action enforced on the packets which matches the PBR rule.", "title": "Action" }, "destinations": { "description": "List of the destinations. Null will be treated as any.", "title": "Destination List", "items": { "$ref": "#/definitions/ResourceReference" }, "readOnly": false, "maxItems": 128, "type": "array" } } } ] }, "ControlConnStatus": { "x-vmw-nsx-module": "FabricNode", "type": "object", "properties": { "status": { "readOnly": true, "enum": [ "UP", "DOWN" ], "type": "string", "description": "Status of the control Node for e.g UP, DOWN.", "title": "Status of the control Node for e.g UP, DOWN." }, "control_node_ip": { "readOnly": true, "type": "string", "description": "IP address of the control Node.", "title": "IP address of the control Node." }, "failure_status": { "readOnly": true, "enum": [ "CONNECTION_REFUSED", "INCOMPLETE_HOST_CERT", "INCOMPLETE_CONTROLLER_CERT", "CONTROLLER_REJECTED_HOST_CERT", "HOST_REJECTED_CONTROLLER_CERT", "KEEP_ALIVE_TIMEOUT", "OTHER_SSL_ERROR", "OTHER_ERROR" ], "type": "string", "description": "Failure status of the control Node for e.g CONNECTION_REFUSED,INCOMPLETE_HOST_CERT.", "title": "Failure status of the control Node for e.g CONNECTION_REFUSED,INCOMPLETE_HOST_CERT." } } }, "LbHttpRequestHeaderCondition": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbRuleCondition" }, { "required": [ "header_value", "header_name" ], "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "header_value": { "type": "string", "description": "Value of HTTP header", "title": "Value of HTTP header" }, "case_sensitive": { "default": true, "type": "boolean", "description": "If true, case is significant when comparing HTTP header value.\n", "title": "A case sensitive flag for HTTP header value comparing" }, "match_type": { "description": "Match type of HTTP header value", "default": "REGEX", "enum": [ "STARTS_WITH", "ENDS_WITH", "EQUALS", "CONTAINS", "REGEX" ], "type": "string" }, "header_name": { "type": "string", "description": "Name of HTTP header", "title": "Name of HTTP header" } } } ], "description": "This condition is used to match HTTP request messages by HTTP header\nfields. HTTP header fields are components of the header section of HTTP\nrequest and response messages. They define the operating parameters of an\nHTTP transaction. For example, Cookie, Authorization, User-Agent, etc. One\ncondition can be used to match one header field, to match multiple header\nfields, multiple conditions must be specified.\nThe match_type field defines how header_value field is used to match HTTP\nrequests. The header_name field does not support match types.\n", "title": "Condition to match HTTP request header" }, "LBFastUdpProfile": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/LBAppProfile" }, { "x-vmw-nsx-module": "ManagerNode", "type": "object" } ] }, "InstanceRuntimeListResult": { "x-vmw-nsx-module": "ServiceInsertionVMDeployment", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "ServiceInsertionVMDeployment", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/InstanceRuntime" }, "type": "array", "description": "Array of existing InstanceRuntimes in database\n", "title": "Results" } } } ], "description": "Result of List of InstanceRuntimes", "title": "InstanceRuntime list result" }, "L7ServiceEntry": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/ServiceEntry" }, { "required": [ "l7_protocol" ], "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "operations": { "items": { "type": "string" }, "type": "array", "description": "If the L7 protocol is REST/HTTP then possible operations are PUT, GET, DELETE, etc.\n", "title": "L7 appliction operations" }, "destination_ports": { "items": { "description": "Examples- Single port \"8080\", Range of ports \"8090-8095\"\n", "format": "port-or-range", "type": "string" }, "type": "array", "maxItems": 15 }, "l7_protocol": { "type": "string" }, "source_ports": { "items": { "description": "Examples- Single port \"8080\", Range of ports \"8090-8095\"\n", "format": "port-or-range", "type": "string" }, "type": "array", "maxItems": 15 }, "entity": { "type": "string", "description": "Example - If REST/HTTP then the entity coulb be a resource URI.\n", "title": "Application entity details" } } } ], "description": "A ServiceEntry that represents L7 services", "title": "A ServiceEntry that represents L7 services" }, "VsphereClusterNodeVMDeploymentConfig": { "x-vmw-nsx-module": "ClusterNodeVMDeployment", "allOf": [ { "$ref": "#/definitions/ClusterNodeVMDeploymentConfig" }, { "required": [ "storage_id", "management_network_id", "hostname", "vc_id", "compute_id" ], "x-vmw-nsx-module": "ClusterNodeVMDeployment", "type": "object", "properties": { "dns_servers": { "items": { "description": "IPv4 address", "format": "ipv4", "type": "string" }, "type": "array", "description": "List of DNS servers.\nIf DHCP is used, the default DNS servers associated with\nthe DHCP server will be used instead.\n", "title": "DNS servers." }, "ntp_servers": { "items": { "description": "Hostname or IPv4 address", "format": "hostname-or-ipv4", "type": "string" }, "type": "array", "description": "List of NTP servers.\nTo use hostnames, a DNS server must be defined. If not using DHCP,\na DNS server should be specified under dns_servers.\n", "title": "NTP servers." }, "management_network_id": { "type": "string", "description": "Distributed portgroup identifier to which the management vnic of\ncluster node VM will be connected.\n", "title": "Portgroup identifier for management network connectivity" }, "enable_ssh": { "default": false, "type": "boolean", "description": "If true, the SSH service will automatically be started on the VM.\nEnabling SSH service is not recommended for security reasons.\n", "title": "Enable SSH." }, "allow_ssh_root_login": { "default": false, "type": "boolean", "description": "If true, the root user will be allowed to log into the VM.\nAllowing root SSH logins is not recommended for security reasons.\n", "title": "Allow root SSH logins." }, "compute_id": { "type": "string", "description": "The cluster node VM will be deployed on the specified cluster or\nresourcepool for specified VC server.\n", "title": "Cluster identifier or resourcepool identifier" }, "vc_id": { "type": "string", "description": "The VC-specific identifiers will be resolved on this VC, so all other\nidentifiers specified in the config must belong to this Vcenter server.\n", "title": "Vsphere compute identifier for identifying VC server" }, "storage_id": { "type": "string", "description": "The cluster node VM will be deployed on the specified datastore in\nthe specified VC server. User must ensure that storage is accessible\nby the specified cluster/host.\n", "title": "Storage/datastore identifier" }, "default_gateway_addresses": { "description": "The default gateway for the VM to be deployed must be specified if all\nthe other VMs it communicates with are not in the same subnet.\nDo not specify this field and management_port_subnets to use DHCP.\nNote: only single IPv4 default gateway address is supported and it\nmust belong to management network.\nIMPORTANT: Controllers deployed using DHCP are currently not supported,\nso this parameter should be specified for deploying Controllers.\n", "title": "Default gateway for the VM", "minItems": 1, "items": { "description": "IPv4 or IPv6 address", "format": "ip", "type": "string" }, "maxItems": 1, "type": "array" }, "management_port_subnets": { "description": "IP Address and subnet configuration for the management port.\nDo not specify this field and default_gateway_addresses to use DHCP.\nNote: only one IPv4 address is supported for the management port.\nIMPORTANT: Controllers deployed using DHCP are currently not supported,\nso this parameter should be specified for deploying Controllers.\n", "title": "Port subnets for management port", "minItems": 1, "items": { "$ref": "#/definitions/IPSubnet" }, "maxItems": 1, "type": "array" }, "host_id": { "type": "string", "description": "The cluster node VM will be deployed on the specified host in the\nspecified VC server within the cluster if host_id is specified.\nNote: User must ensure that storage and specified networks are\naccessible by this host.\n", "title": "Host identifier" }, "hostname": { "type": "string", "description": "Desired host name/FQDN for the VM to be deployed", "title": "Host name or FQDN for the VM" } } } ], "description": "Config for deploying a cluster node VM through a Vcenter server\n", "title": "Deployment config on the Vsphere platform" }, "DhcpOption121": { "x-vmw-nsx-module": "Dhcp", "required": [ "static_routes" ], "type": "object", "properties": { "static_routes": { "description": "dhcp classless static routes", "title": "dhcp classless static routes", "minItems": 1, "items": { "$ref": "#/definitions/ClasslessStaticRoute" }, "maxItems": 27, "type": "array" } } }, "VtepLabelPoolListResult": { "x-vmw-nsx-module": "VtepLabel", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "VtepLabel", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/VtepLabelPool" }, "type": "array", "description": "Virtual tunnel endpoint label pool list results", "title": "Virtual tunnel endpoint label pool list results" } } } ] }, "FabricModuleListResult": { "x-vmw-nsx-module": "HostPrepServiceFabric", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "HostPrepServiceFabric", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/FabricModule" }, "readOnly": true, "type": "array", "description": "Fabric Module list results", "title": "Fabric Module list results" } } } ], "description": "Fabric Module list result", "title": "Fabric Module list result" }, "DiscoverySessionListResult": { "x-vmw-nsx-module": "PolicyOperations", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "PolicyOperations", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/DiscoverySession" }, "type": "array", "description": "Discovery session list results", "title": "Discovery session list results" } } } ], "description": "Collection of discovery sessions", "title": "Collection of discovery sessions" }, "SVMDeploymentSpec": { "description": "Deployment Specs holds information required to deploy the Service-VMs.i.e. OVF url where the partner Service-VM OVF is hosted. The host type on which the OVF(Open Virtualization Format) can be deployed, Form factor to name a few.", "title": "Service-VM Deployment Spec", "required": [ "ovf_url", "host_type" ], "x-vmw-nsx-module": "ServiceInsertionCommonTypes", "type": "object", "properties": { "ovf_url": { "readOnly": false, "type": "string", "description": "Location of the partner VM OVF to be deployed.", "title": "OVF url" }, "service_form_factor": { "description": "Supported ServiceInsertion Form Factor for the OVF deployment. The default FormFactor is Medium.", "title": "Service Form Factor", "default": "MEDIUM", "enum": [ "SMALL", "MEDIUM", "LARGE" ], "readOnly": false, "type": "string" }, "host_type": { "readOnly": false, "enum": [ "ESXI", "RHELKVM", "UBUNTUKVM" ], "type": "string", "description": "Host Type on which the specified OVF can be deployed.", "title": "HostType" }, "name": { "readOnly": false, "type": "string", "description": "Deployment Spec name for ease of use, since multiple DeploymentSpec can be specified.", "title": "name" } } }, "PrincipalIdentity": { "x-vmw-nsx-module": "CertificateManager", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "CertificateManager", "required": [ "certificate_id", "node_id", "name" ], "type": "object", "properties": { "is_protected": { "readOnly": false, "type": "boolean", "description": "Indicator whether the entities created by this principal should be protected", "title": "Protection indicator" }, "role": { "readOnly": false, "type": "string", "description": "Role", "title": "Role" }, "name": { "readOnly": false, "maxLength": 255, "type": "string", "description": "Name of the principal", "title": "Name" }, "permission_group": { "description": "Use the 'role' field instead and pass in 'auditor' for read_only_api_users or 'enterprise_admin' for the others.", "enum": [ "read_only_api_users", "read_write_api_users", "superusers", "undefined" ], "x-deprecated": true, "readOnly": false, "type": "string" }, "certificate_id": { "readOnly": false, "type": "string", "description": "Id of the stored certificate", "title": "Id of the stored certificate" }, "node_id": { "readOnly": false, "maxLength": 255, "type": "string", "description": "Unique node-id of a principal", "title": "Unique node-id" } } } ] }, "VirtualMachineListResult": { "x-vmw-nsx-module": "Inventory", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "Inventory", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/VirtualMachine" }, "type": "array", "description": "VirtualMachine list results", "title": "VirtualMachine list results" } } } ] }, "PropertyItem": { "description": "Represents a label-value pair.", "title": "LabelValue Property", "required": [ "field", "type" ], "x-vmw-nsx-module": "NsxDashboard", "type": "object", "properties": { "field": { "maxLength": 1024, "type": "string", "description": "Represents field value of the property.", "title": "Field of the Property" }, "render_configuration": { "items": { "$ref": "#/definitions/RenderConfiguration" }, "type": "array", "description": "Render configuration to be applied, if any.", "title": "Render Configuration" }, "type": { "description": "Data type of the field.", "title": "field data type", "default": "String", "enum": [ "String", "Number", "Date", "Url" ], "maxLength": 255, "type": "string" }, "heading": { "default": false, "type": "boolean", "description": "Set to true if the field is a heading. Default is false.", "title": "If true, represents the field as a heading" }, "condition": { "maxLength": 1024, "type": "string", "description": "If the condition is met then the property will be displayed. Examples of expression syntax are provided under 'example_request' section of 'CreateWidgetConfiguration' API.", "title": "Expression for evaluating condition" }, "label": { "title": "Label of the property", "description": "If a field represents a heading, then label is not needed", "$ref": "#/definitions/Label" } } }, "LbRuleAction": { "description": "Load balancer rule actions are used to manipulate application traffic.\nCurrently load balancer rules can be used at three load balancer processing\nphases. Each phase has its own supported type of actions.\nSupported actions in HTTP_REQUST_REWRITE phase are:\n LbHttpRequestUriRewriteAction\n LbHttpRequestHeaderRewriteAction\n LbHttpRequestHeaderDeleteAction\n LbVariableAssignmentAction\nSupported actions in HTTP_FORWARDING phase are:\n LbHttpRejectAction\n LbHttpRedirectAction\n LbSelectPoolAction\nSupported action in HTTP_RESPONSE_REWRITE phase is:\n LbHttpResponseHeaderRewriteAction\n LbHttpResponseHeaderDeleteAction\n\nIf the match type of an LbRuleCondition field is specified as REGEX and\nnamed capturing groups are used in the specified regular expression. The\ngroups can be used as variables in LbRuleAction fields.\nFor example, define a rule with LbHttpRequestUriCondition as match\ncondition and LbHttpRequestUriRewriteAction as action. Set match_type field\nof LbHttpRequestUriCondition to REGEX, and set uri field to\n \"/news/(?<year>\\d+)/(?<month>\\d+)/(?<article>.*)\".\nSet uri field of LbHttpRequestUriRewriteAction to:\n \"/news/$year-$month/$article\"\nIn uri field of LbHttpRequestUriCondition, the (?<year>\\d+),\n(?<month>\\d+) and (?<article>.*) are named capturing groups,\nthey define variables named $year, $month and $article respectively. The\ndefined variables are used in LbHttpRequestUriRewriteAction.\nFor a matched HTTP request with URI \"/news/2017/06/xyz.html\", the substring\n\"2017\" is captured in variable $year, \"06\" is captured in variable $month,\nand \"xyz.html\" is captured in variable $article. The\nLbHttpRequestUriRewriteAction will rewrite the URI to:\n \"/news/2017-06/xyz.html\"\nA set of built-in variables can be used in LbRuleAction as well. The name\nof built-in variables start with underscore, the name of user defined\nvariables is not allowed to start with underscore.\nFollowing are some of the built-in variables:\n $_scheme: Reference the scheme part of matched HTTP messages, could be\n\"http\" or \"https\".\n $_host: Host of matched HTTP messages, for example \"www.example.com\".\n $_server_port: Port part of URI, it is also the port of the server which\naccepted a request. Default port is 80 for http and 443 for https.\n $_uri: The URI path, for example \"/products/sample.html\".\n $_request_uri: Full original request URI with arguments, for example,\n \"/products/sample.html?a=b&c=d\".\n $_args: URI arguments, for instance \"a=b&c=d\"\n $_is_args: \"?\" if a request has URI arguments, or an empty string\notherwise.\nFor the full list of built-in variables, please reference the NSX-T\nAdministrator's Guide.\n", "title": "Load balancer rule action", "required": [ "type" ], "discriminator": "type", "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "type": { "description": "Type of load balancer rule action", "enum": [ "LbHttpRequestUriRewriteAction", "LbHttpRequestHeaderRewriteAction", "LbHttpRejectAction", "LbHttpRedirectAction", "LbSelectPoolAction", "LbSelectServerAction", "LbHttpResponseHeaderRewriteAction", "LbHttpRequestHeaderDeleteAction", "LbHttpResponseHeaderDeleteAction", "LbVariableAssignmentAction" ], "type": "string" } } }, "LBServerSslProfileListResult": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "ManagerNode", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/LBServerSslProfile" }, "type": "array", "description": "paginated list of load balancer server SSL profiles", "title": "paginated list of load balancer server SSL profiles" } } } ] }, "NSServiceListResult": { "x-vmw-nsx-module": "NSService", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "NSService", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/NSService" }, "type": "array", "description": "Paged collection of NSServices", "title": "Paged collection of NSServices" } } } ], "description": "List result of NSservices", "title": "List result of NSservices" }, "ChildPolicyConfigResource": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "Policy", "type": "object" } ], "description": "Represents an object on the desired state", "title": "Represents the desired state object as child resource" }, "SavedSearchRequest": { "x-vmw-nsx-module": "Search", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "required": [ "query", "is_saved" ], "x-vmw-nsx-module": "Search", "type": "object", "properties": { "query": { "type": "string", "description": "The search query that has to be saved.", "title": "search query" }, "is_saved": { "type": "boolean", "description": "The flag indicates whether the query is recent or saved search.", "title": "Flag" } } } ], "description": "The request will contain the query to be saved and the flag indicating whether it is recent or\nsaved search.\n", "title": "Save a search request" }, "FieldSanityConstraintExpression": { "x-vmw-nsx-module": "PolicyConstraints", "allOf": [ { "$ref": "#/definitions/ConstraintExpression" }, { "required": [ "operator", "checks" ], "x-vmw-nsx-module": "PolicyConstraints", "type": "object", "properties": { "operator": { "enum": [ "OR", "AND" ], "type": "string", "description": "A conditional operator", "title": "A conditional operator" }, "checks": { "items": { "enum": [ "ALL_PUBLIC_IPS", "ALL_PRIVATE_IPS" ], "type": "string" }, "type": "array", "description": "List of sanity checks.", "title": "Array of sanity checks to be performed on field value" } } } ], "description": "Represents the field value constraint to constrain specified field\nvalue based on defined sanity checks.\nExample - For DNS.upstream_servers, all the IP addresses must either be\npublic or private.\n {\n \"target\": {\n \"target_resource_type\": \"DnsForwarderZone\",\n \"attribute\": \"upstreamServers\",\n \"path_prefix\": \"/infra/dns-forwarder-zones/\"\n },\n \"constraint_expression\": {\n \"resource_type\": \"FieldSanityConstraintExpression\",\n \"operator\": \"OR\",\n \"checks\": [\"ALL_PUBLIC_IPS\", \"ALL_PRIVATE_IPS\"]\n }\n }\n", "title": "Represents the field value sanity constraint" }, "LbHttpRequestHeader": { "x-vmw-nsx-module": "LoadBalancer", "required": [ "header_value", "header_name" ], "type": "object", "properties": { "header_value": { "type": "string", "description": "Value of HTTP request header", "title": "Value of HTTP request header" }, "header_name": { "type": "string", "description": "Name of HTTP request header", "title": "Name of HTTP request header" } } }, "ChildTlsCertificate": { "x-vmw-nsx-module": "PolicyCertificate", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "TlsCertificate" ], "x-vmw-nsx-module": "PolicyCertificate", "type": "object", "properties": { "TlsCertificate": { "title": "TlsCertificate", "description": "Contains the actual TlsCertificate object\n", "$ref": "#/definitions/TlsCertificate" } } } ], "description": "Child wrapper for TlsCertificate, used in hierarchical API", "title": "Wrapper object for TlsCertificate" }, "IPSecVPNPolicyRule": { "x-vmw-nsx-module": "IPSecVPN", "allOf": [ { "$ref": "#/definitions/EmbeddedResource" }, { "x-vmw-nsx-module": "IPSecVPN", "type": "object", "properties": { "sources": { "items": { "$ref": "#/definitions/IPSecVPNPolicySubnet" }, "type": "array", "description": "List of local subnets.", "maxItems": 128, "title": "Source list" }, "action": { "description": "PROTECT - Protect rules are defined per policy based\nIPSec VPN session.\nBYPASS - Bypass rules are defined per IPSec VPN\nservice and affects all policy based IPSec VPN sessions.\nBypass rules are prioritized over protect rules.\n", "title": "Action to be applied", "default": "PROTECT", "enum": [ "PROTECT", "BYPASS" ], "readOnly": true, "type": "string" }, "enabled": { "default": true, "type": "boolean", "description": "A flag to enable/disable the policy rule.", "title": "Enabled flag" }, "logged": { "default": false, "type": "boolean", "description": "A flag to enable/disable the logging for the policy rule.", "title": "Logging flag" }, "id": { "type": "string", "description": "Unique policy id.", "title": "Unique policy id" }, "destinations": { "items": { "$ref": "#/definitions/IPSecVPNPolicySubnet" }, "type": "array", "description": "List of peer subnets.", "maxItems": 128, "title": "Destination list" } } } ], "description": "For policy-based IPsec VPNs, a security policy specifies as its action the VPN tunnel to be used for transit traffic that meets the policy's match criteria.", "title": "IPSec VPN policy rules" }, "DSSectionState": { "x-vmw-nsx-module": "DistributedServices", "allOf": [ { "$ref": "#/definitions/ConfigurationState" }, { "x-vmw-nsx-module": "DistributedServices", "type": "object", "properties": { "revision_desired": { "readOnly": true, "format": "int64", "type": "integer", "description": "revision number of the desired state", "title": "revision number of the desired state" } } } ] }, "MirrorSource": { "discriminator": "resource_type", "x-vmw-nsx-module": "PortMirroring", "required": [ "resource_type" ], "type": "object", "properties": { "resource_type": { "description": "Resource types of mirror source", "enum": [ "LogicalPortMirrorSource", "PnicMirrorSource", "VlanMirrorSource", "LogicalSwitchMirrorSource" ], "type": "string" } } }, "SpoofGuardSwitchingProfile": { "x-vmw-nsx-module": "SpoofGuardSwitchingProfile", "allOf": [ { "$ref": "#/definitions/BaseSwitchingProfile" }, { "required": [ "white_list_providers" ], "x-vmw-nsx-module": "SpoofGuardSwitchingProfile", "type": "object", "properties": { "white_list_providers": { "items": { "description": "Ways to provide white listed addresses for SpoofGuard", "enum": [ "LPORT_BINDINGS", "LSWITCH_BINDINGS" ], "type": "string" }, "readOnly": false, "type": "array", "description": "List of providers for white listed address bindings.", "title": "List of providers for white listed address bindings." } } } ], "description": "SpoofGuard configuration", "title": "SpoofGuard configuration" }, "DiscoveredResource": { "x-vmw-nsx-module": "Common", "allOf": [ { "$ref": "#/definitions/Resource" }, { "x-vmw-nsx-module": "Common", "type": "object", "properties": { "_last_sync_time": { "description": "Timestamp of last modification", "format": "int64", "readOnly": true, "type": "integer" }, "display_name": { "maxLength": 255, "type": "string", "description": "Defaults to ID if not set", "title": "Identifier to use when displaying entity in logs or GUI" }, "description": { "maxLength": 1024, "type": "string", "description": "Description of this resource", "title": "Description of this resource" }, "resource_type": { "readOnly": false, "type": "string", "description": "The type of this resource." }, "tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array", "description": "Opaque identifiers meaningful to the API user", "maxItems": 30, "title": "Opaque identifiers meaningful to the API user" } } } ], "description": "Base class for resources that are discovered and automatically updated", "title": "Base class for resources that are discovered and automatically updated" }, "RouterNexthop": { "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "description": "Next hop configuration for network", "properties": { "scope": { "items": { "type": "string" }, "type": "array", "description": "Interface path associated with current route.", "maxItems": 1, "title": "Interface paths associated with current route" }, "ip_address": { "description": "Next hop gateway IP address.", "format": "ip", "type": "string" }, "admin_distance": { "description": "Cost associated with next hop route.", "title": "Cost associated with next hop route", "default": 1, "format": "int32", "maximum": 255, "minimum": 1, "type": "integer" } }, "title": "Next hop configuration for network" }, "LogicalSwitchStateListResult": { "x-vmw-nsx-module": "LogicalSwitch", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "LogicalSwitch", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/LogicalSwitchState" }, "readOnly": true, "type": "array", "description": "Logical Switch State Results", "title": "Logical Switch State Results" } } } ], "description": "Logical Switch state queries result", "title": "Logical Switch state queries result" }, "ConsolidatedRealizedStatus": { "x-vmw-nsx-module": "PolicyRealizedState", "type": "object", "description": "Represents aggregated realized status for intent entity across associated\nrealized entities and enforcement points.\n", "properties": { "consolidated_status_per_enforcement_point": { "items": { "$ref": "#/definitions/ConsolidatedStatusPerEnforcementPoint" }, "type": "array", "description": "Aggregated consolidated status by enforcement point", "title": "Consolidated status per enforcement point" }, "consolidated_status": { "title": "Consolidated Realized status", "description": "Consolidated state across enforcement points.", "$ref": "#/definitions/ConsolidatedStatus" }, "intent_path": { "type": "string", "description": "Intent path of the object representing this consolidated state\n", "title": "Intent path" } }, "title": "Consolidated realized status for an intent entity" }, "FooterAction": { "description": "Action specified at the footer of a widget to provide additional information or to provide a clickable url for navigation. An example usage of footer action is provided under the 'example_request' section of 'CreateWidgetConfiguration' API.", "title": "Widget Footer Action", "required": [ "label" ], "x-vmw-nsx-module": "NsxDashboard", "type": "object", "properties": { "url": { "maxLength": 1024, "type": "string", "description": "Hyperlink to the UI page that provides details of action.", "title": "Clickable hyperlink, if any" }, "dock_to_container_footer": { "default": true, "type": "boolean", "description": "If true, the footer will appear in the underlying container that holds the widget.", "title": "Dock the footer at container" }, "label": { "title": "Label for action", "description": "Label to be displayed against the footer action.", "$ref": "#/definitions/Label" } } }, "IpBlockSubnet": { "x-vmw-nsx-module": "Ipam", "description": "A set of IPv4 addresses defined by a start address and a mask/prefix which will typically be associated with a layer-2 broadcast domain.", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "Ipam", "required": [ "block_id", "size" ], "type": "object", "properties": { "cidr": { "readOnly": true, "format": "ipv4-cidr-block", "type": "string", "description": "Represents network address and the prefix length which will be associated with a layer-2 broadcast domain", "title": "Represents network address and the prefix length which will be associated with a layer-2 broadcast domain" }, "allocation_ranges": { "items": { "$ref": "#/definitions/IpPoolRange" }, "readOnly": true, "type": "array", "description": "A collection of IPv4 IP ranges used for IP allocation.", "title": "A collection of IPv4 IP ranges used for IP allocation." }, "block_id": { "readOnly": false, "type": "string", "description": "Block id for which the subnet is created.", "title": "Block id for which the subnet is created." }, "size": { "format": "int64", "type": "integer", "description": "Represents the size or number of ip addresses in the subnet", "title": "Represents the size or number of ip addresses in the subnet" } } } ] }, "Tier0DeploymentMapListResult": { "x-vmw-nsx-module": "PolicyEnforcementPointManagement", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "PolicyEnforcementPointManagement", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/Tier0DeploymentMap" }, "type": "array", "description": "Tier-0 Deployment Maps", "title": "Tier-0 Deployment Maps" } } } ], "description": "Paged Collection of Tier-0 Deployment map", "title": "Paged Collection of Tier-0 Deployment map" }, "RouteMap": { "x-vmw-nsx-module": "Routing", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "Routing", "required": [ "sequences" ], "type": "object", "properties": { "logical_router_id": { "readOnly": true, "type": "string", "description": "Logical router id", "title": "Logical router id" }, "sequences": { "description": "Ordered list of routeMap sequences", "title": "Ordered list of routeMap sequences", "minItems": 1, "items": { "$ref": "#/definitions/RouteMapSequence" }, "maxItems": 1000, "type": "array" } } } ] }, "TransportZoneProfileListResult": { "x-vmw-nsx-module": "TransportZoneProfile", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "TransportZoneProfile", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/TransportZoneProfile" }, "readOnly": true, "type": "array", "description": "Transport zone profile results", "title": "Transport zone profile results" } } } ], "description": "Transport zone profile queries result", "title": "Transport zone profile queries result" }, "EdgeCommunicationMap": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/CommunicationMap" }, { "x-vmw-nsx-module": "Policy", "type": "object" } ], "description": "Contains ordered list of CommunicationEntries for EdgeCommunicationMap", "title": "Contains ordered list of CommunicationEntries for EdgeCommunicationMap" }, "ConditionalValueConstraintExpression": { "description": "Represents the leaf level expression to restrict the target attribute value\nbased on the set of existing values. Generally, used in combination with\nRelatedAttributeConditionalExpression to constraint the values related to\nanother attribute on the same resource. This object is always used in\nconjunction with some exression.\nExample -\n{\n \"condition\" : {\n \"operator\":\"INCLUDES\",\n \"rhs_value\": [\"/infra/domains/mgw/groups/VCENTER\", \"/infra/domains/mgw/groups/SRM\", \"/infra/domains/mgw/groups/NSX\"],\n \"value_constraint\": {\n \"resource_type\": \"ValueConstraintExpression\",\n \"operator\":\"EXCLUDES\",\n \"values\":[\"/infra/domains/mgw/groups/VCENTER\", \"/infra/domains/mgw/groups/SRM\", \"/infra/domains/mgw/groups/NSX\"]\n }\n}\n", "title": "Represents the leaf level conditional value constraint.", "required": [ "operator", "value_constraint", "rhs_value" ], "x-vmw-nsx-module": "PolicyConstraints", "type": "object", "properties": { "operator": { "enum": [ "INCLUDES", "EXCLUDES", "EQUALS" ], "type": "string", "description": "Set operation to constraint values.", "title": "Set operation to constraint values." }, "value_constraint": { "title": "Value Constraint", "description": "Values to apply the conditional constraint on target.\n", "$ref": "#/definitions/ValueConstraintExpression" }, "rhs_value": { "items": { "type": "string" }, "type": "array", "description": "List of values.", "title": "Array of values to perform operation." } } }, "BgpNeighborStatus": { "x-vmw-nsx-module": "AggSvcLogicalRouter", "type": "object", "properties": { "transport_node": { "readOnly": true, "title": "Transport node id and name", "description": "Transport node id and name", "$ref": "#/definitions/ResourceReference" }, "connection_state": { "readOnly": true, "enum": [ "INVALID", "IDLE", "CONNECT", "ACTIVE", "OPEN_SENT", "OPEN_CONFIRM", "ESTABLISHED" ], "type": "string", "description": "Current state of the BGP session.", "title": "Current state of the BGP session." }, "neighbor_address": { "description": "The IP of the BGP neighbor", "format": "ip", "readOnly": true, "type": "string" }, "messages_sent": { "readOnly": true, "format": "int64", "type": "integer", "description": "Count of messages sent to the neighbor", "title": "Count of messages sent to the neighbor" }, "connection_drop_count": { "readOnly": true, "format": "int64", "type": "integer", "description": "Count of connection drop", "title": "Count of connection drop" }, "remote_port": { "description": "TCP port number of remote BGP Connection", "title": "TCP port number of remote BGP Connection", "format": "int64", "maximum": 65535, "readOnly": true, "minimum": 1, "type": "integer" }, "source_address": { "description": "The Ip address of logical port", "format": "ip", "readOnly": true, "type": "string" }, "total_in_prefix_count": { "readOnly": true, "format": "int64", "type": "integer", "description": "Count of in prefixes", "title": "Count of in prefixes" }, "messages_received": { "readOnly": true, "format": "int64", "type": "integer", "description": "Count of messages received from the neighbor", "title": "Count of messages received from the neighbor" }, "neighbor_router_id": { "description": "Router ID of the BGP neighbor.", "format": "ip", "readOnly": true, "additionalProperties": false, "type": "string" }, "total_out_prefix_count": { "readOnly": true, "format": "int64", "type": "integer", "description": "Count of out prefixes", "title": "Count of out prefixes" }, "lr_component_id": { "readOnly": true, "type": "string", "description": "Logical router component(Service Router/Distributed Router) id", "title": "Logical router component(Service Router/Distributed Router) id" }, "graceful_restart": { "readOnly": true, "type": "boolean", "description": "Indicate current state of graceful restart where graceful_restart = true indicate graceful restart is enabled and graceful_restart = false indicate graceful restart is disabled.", "title": "Indicate current state of graceful restart where graceful_restart = true indicate graceful restart is enabled and graceful_restart = false indicate graceful restart is disabled." }, "remote_as_number": { "readOnly": true, "type": "string", "description": "AS number of the BGP neighbor", "title": "AS number of the BGP neighbor" }, "announced_capabilities": { "items": { "type": "string" }, "readOnly": true, "type": "array", "description": "BGP capabilities sent to BGP neighbor.", "title": "BGP capabilities sent to BGP neighbor." }, "local_port": { "description": "TCP port number of Local BGP connection", "title": "TCP port number of Local BGP connection", "format": "int64", "maximum": 65535, "readOnly": true, "minimum": 1, "type": "integer" }, "keep_alive_interval": { "readOnly": true, "format": "int64", "type": "integer", "description": "Time in ms to wait for HELLO packet from BGP peer", "title": "Time in ms to wait for HELLO packet from BGP peer" }, "time_since_established": { "readOnly": true, "format": "int64", "type": "integer", "description": "Time(in milliseconds) since connection was established.", "title": "Time(in milliseconds) since connection was established." }, "hold_time": { "readOnly": true, "format": "int64", "type": "integer", "description": "Time in ms to wait for HELLO from BGP peer. If a HELLO packet is not seen from BGP Peer withing hold_time then BGP neighbor will be marked as down.", "title": "Time in ms to wait for HELLO from BGP peer. If a HELLO packet is not seen from BGP Peer withing hold_time then BGP neighbor will be marked as down." }, "negotiated_capability": { "items": { "type": "string" }, "readOnly": true, "type": "array", "description": "BGP capabilities negotiated with BGP neighbor.", "title": "BGP capabilities negotiated with BGP neighbor." }, "established_connection_count": { "readOnly": true, "format": "int64", "type": "integer", "description": "Count of connections established", "title": "Count of connections established" } } }, "GenericDhcpOption": { "x-vmw-nsx-module": "Dhcp", "required": [ "code", "values" ], "type": "object", "properties": { "code": { "description": "dhcp option code, [0-255]", "format": "int64", "title": "dhcp option code, [0-255]", "maximum": 255, "minimum": 0, "type": "integer" }, "values": { "description": "dhcp option value", "title": "dhcp option value", "minItems": 1, "items": { "type": "string" }, "maxItems": 10, "type": "array" } } }, "NSServiceGroup": { "x-vmw-nsx-module": "NSServiceGroup", "description": "A Networking and Security Service Group that represents a group of NSServices\n", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "NSServiceGroup", "required": [ "members" ], "type": "object", "properties": { "default_service": { "readOnly": true, "type": "boolean", "description": "The default NSServiceGroups are created in the system by default. These\nNSServiceGroups can't be modified/deleted\n", "title": "NSServiceGroups created in the system by default" }, "service_type": { "readOnly": true, "enum": [ "ETHER", "NON_ETHER" ], "type": "string", "description": "Type of the NSServiceGroup", "title": "Type of the NSServiceGroup" }, "members": { "items": { "$ref": "#/definitions/ResourceReference" }, "type": "array", "description": "List of NSService or NSServiceGroup resources that can be added as members\nto an NSServiceGroup.\n", "maxItems": 50 } } } ] }, "EdgeNode": { "x-vmw-nsx-module": "FabricNode", "allOf": [ { "$ref": "#/definitions/Node" }, { "x-vmw-nsx-module": "FabricNode", "type": "object", "properties": { "deployment_config": { "title": "Config for automatic deployment of edge node virtual machine.", "description": "When this configuration is specified, edge fabric node of deployment_type VIRTUAL_MACHINE\nwill be deployed and registered with MP.\n", "$ref": "#/definitions/EdgeNodeDeploymentConfig" }, "allocation_list": { "items": { "type": "string" }, "readOnly": true, "type": "array", "description": "List of logical router ids to which this edge node is allocated.", "title": "Allocation list" }, "deployment_type": { "description": "Supported edge deployment type.", "enum": [ "VIRTUAL_MACHINE", "PHYSICAL_MACHINE", "UNKNOWN" ], "readOnly": true, "type": "string" } } } ] }, "ChildTier0DeploymentMap": { "x-vmw-nsx-module": "PolicyEnforcementPointManagement", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "Tier0DeploymentMap" ], "x-vmw-nsx-module": "PolicyEnforcementPointManagement", "type": "object", "properties": { "Tier0DeploymentMap": { "title": "Tier0DeploymentMap", "description": "Contains the actual Tier0DeploymentMap object\n", "$ref": "#/definitions/Tier0DeploymentMap" } } } ], "description": "Child wrapper object for Tier0DeploymentMap, used in hierarchical API\n", "title": "Wrapper object for Tier0DeploymentMap" }, "NeighborProperties": { "x-vmw-nsx-module": "Lldp", "type": "object", "description": "Neighbor properties", "properties": { "system_name": { "readOnly": true, "type": "string", "description": "System name", "title": "System name" }, "system_desc": { "readOnly": true, "type": "string", "description": "System description", "title": "System description" }, "system_port_number": { "readOnly": true, "format": "int64", "type": "integer", "description": "System port number", "title": "System port number" }, "name": { "readOnly": true, "type": "string", "description": "Interface name", "title": "Interface name" }, "oid": { "readOnly": true, "type": "string", "description": "Object identifier", "title": "Object identifier" }, "mgmt_addr": { "readOnly": true, "type": "string", "description": "Management address", "title": "Management address" }, "capabilities": { "readOnly": true, "type": "string", "description": "Capabilities", "title": "Capabilities" }, "link_aggregation_status": { "readOnly": true, "type": "boolean", "description": "True if currently in aggregation", "title": "Aggregation Status" }, "ifindex": { "readOnly": true, "format": "int64", "type": "integer", "description": "Interface index", "title": "Interface index" }, "mac": { "readOnly": true, "type": "string", "description": "Interface MAC address", "title": "Interface MAC address" }, "link_aggregation_capable": { "readOnly": true, "type": "boolean", "description": "Aggregation Capability", "title": "Aggregation Capability" }, "port_desc": { "readOnly": true, "type": "string", "description": "Port description", "title": "Port description" }, "enabled_capabilities": { "readOnly": true, "type": "string", "description": "Enabled capabilities", "title": "Enabled capabilities" }, "link_aggregation_port_id": { "readOnly": true, "type": "string", "description": "Aggregation port id", "title": "Aggregation port id" } }, "title": "Neighbor properties" }, "DhcpOptions": { "x-vmw-nsx-module": "Dhcp", "type": "object", "properties": { "option121": { "title": "option 121", "description": "option 121", "$ref": "#/definitions/DhcpOption121" }, "others": { "minItems": 0, "items": { "$ref": "#/definitions/GenericDhcpOption" }, "type": "array", "maxItems": 255 } } }, "IpfixSwitchConfig": { "x-vmw-nsx-module": "Ipfix", "allOf": [ { "$ref": "#/definitions/IpfixConfig" }, { "x-vmw-nsx-module": "Ipfix", "type": "object", "properties": { "active_timeout": { "description": "The time in seconds after a Flow is expired even if more packets\nmatching this Flow are received by the cache.\n", "title": "Active timeout", "default": 300, "format": "int32", "maximum": 3600, "minimum": 60, "type": "integer" }, "idle_timeout": { "description": "The time in seconds after a Flow is expired if no more packets matching\nthis Flow are received by the cache.\n", "title": "Idle timeout", "default": 300, "format": "int32", "maximum": 3600, "minimum": 60, "type": "integer" }, "packet_sample_probability": { "description": "The probability in percentage that a packet is sampled, in range\n0-100. The probability is equal for every packet.\n", "title": "Packet sample probability", "default": 0.1, "exclusiveMinimum": true, "maximum": 100, "minimum": 0, "type": "number" }, "max_flows": { "description": "The maximum number of flow entries in each exporter flow cache.\n", "title": "Max flows", "default": 16384, "format": "int64", "maximum": 4294967295, "minimum": 0, "type": "integer" } } } ], "description": "This is deprecated. Please use IpfixSwitchUpmProfile instead which can\nspecify its own collectors and observation ID.\n", "title": "IPFIX Config for the Switching Module" }, "PolicyDnsForwarderListResult": { "x-vmw-nsx-module": "PolicyDnsForwarder", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "PolicyDnsForwarder", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/PolicyDnsForwarder" }, "type": "array", "description": "DNS Forwarder list results", "title": "DNS Forwarder list results" } } } ], "description": "Paged Collection of Dns Forwarders", "title": "Paged Collection of Dns Forwarders" }, "DestinationFilteringConfiguration": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "required": [ "provider_url", "customer_id" ], "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "provider_url": { "readOnly": false, "type": "string", "description": "URL of the provider which provides the reputation and category databases.", "title": "Provider URL" }, "customer_id": { "readOnly": false, "type": "string", "description": "The unique ID assigned to a customer.", "title": "Customer ID" }, "enabled": { "default": true, "readOnly": false, "type": "boolean", "description": "Flag to enable or disable the feature.", "title": "Enable feature" } } } ], "description": "It is used to configure the reputation and category provider. It can also be used to enable or disable the destination filtering feature by setting the enable property.", "title": "Destination filtering configuration" }, "LogicalSwitchListResult": { "x-vmw-nsx-module": "LogicalSwitch", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "LogicalSwitch", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/LogicalSwitch" }, "readOnly": true, "type": "array", "description": "Logical Switch Results", "title": "Logical Switch Results" } } } ], "description": "Logical Switch queries result", "title": "Logical Switch queries result" }, "IpAllocationBase": { "x-vmw-nsx-module": "Dhcp", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "Dhcp", "type": "object", "properties": { "lease_time": { "description": "lease time, in seconds, [60-(2^32-1)], default 86400", "title": "lease time, in seconds, [60-(2^32-1)], default 86400", "default": 86400, "format": "int64", "maximum": 4294967295, "minimum": 60, "type": "integer" }, "gateway_ip": { "description": "gateway ip", "format": "ip", "type": "string" }, "options": { "title": "dhcp options", "description": "If an option is defined at server level and not configred at\nip-pool/static-binding level, the option will be inherited to\nip-pool/static-binding. If both define a same-code option, the\noption defined at ip-pool/static-binding level take precedence\nover that defined at server level.\n", "$ref": "#/definitions/DhcpOptions" } } } ] }, "NSGroupComplexExpression": { "x-vmw-nsx-module": "NSGroup", "allOf": [ { "$ref": "#/definitions/NSGroupExpression" }, { "required": [ "expressions" ], "x-vmw-nsx-module": "NSGroup", "type": "object", "properties": { "expressions": { "description": "Represents expressions which are to be logically 'AND'ed.The array cannot contain\nNSGroupComplexExpression.Only NSGroupTagExpression and NSGroupSimpleExpressions\nare accepted.\n", "title": "List of simple and tag expressions", "minItems": 2, "items": { "$ref": "#/definitions/NSGroupExpression" }, "maxItems": 5, "type": "array" } } } ], "description": "Complex expressions to represent NSGroup membership", "title": "Complex expressions to represent NSGroup membership" }, "PnicMirrorDestination": { "x-vmw-nsx-module": "PortMirroring", "allOf": [ { "$ref": "#/definitions/MirrorDestination" }, { "x-vmw-nsx-module": "PortMirroring", "required": [ "dest_pnics", "node_id" ], "type": "object", "properties": { "dest_pnics": { "description": "Physical NIC device names to which to send the mirrored packets", "title": "Physical NIC device names to which to send the mirrored packets", "minItems": 1, "items": { "type": "string" }, "maxItems": 3, "type": "array" }, "node_id": { "type": "string", "description": "Transport node to which to send the mirrored packets", "title": "Transport node to which to send the mirrored packets" } } } ] }, "RealizationStateBarrierConfig": { "x-vmw-nsx-module": "RealizationStateBarrier", "description": "The configuration data for setting the global realization state barrier\n", "allOf": [ { "$ref": "#/definitions/RevisionedResource" }, { "x-vmw-nsx-module": "RealizationStateBarrier", "required": [ "interval" ], "type": "object", "properties": { "interval": { "description": "The interval in milliseconds used for auto incrementing the barrier number\n", "format": "int64", "title": "Interval in milliseconds", "readOnly": false, "minimum": 0, "type": "integer" } } } ] }, "AllocationIpAddressListResult": { "x-vmw-nsx-module": "Ipam", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "Ipam", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/AllocationIpAddress" }, "type": "array", "description": "Pool allocation list results", "title": "Pool allocation list results" } } } ] }, "BridgeEndpoint": { "x-vmw-nsx-module": "BridgeEndpoint", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "required": [ "vlan" ], "x-vmw-nsx-module": "BridgeEndpoint", "type": "object", "properties": { "ha_enable": { "default": true, "type": "boolean", "description": "This field will not be used if an edge cluster is being used for the\nbridge endpoint\n", "title": "Controls the enabling of HA on the VLAN for this endpoint" }, "bridge_cluster_id": { "maxLength": 36, "type": "string", "description": "This field will not be used if an edge cluster is being used for the\nbridge endpoint\n", "title": "UUID of the bridge cluster for this bridge endpoint" }, "vlan": { "type": "integer", "description": "Virtual Local Area Network Identifier", "format": "int64" }, "vlan_transport_zone_id": { "type": "string", "description": "This field will not be used if a bridge cluster is being used for the\nbridge endpoint\n", "title": "VLAN transport zone id by the edge cluster" }, "bridge_endpoint_profile_id": { "type": "string", "description": "This field will not be used if a bridge cluster is being used for the\nbridge endpoint\n", "title": "Bridge endpoint profile used by the edge cluster" } } } ], "description": "A bridge endpoint can be created on a bridge cluster or on an edge\ncluster. Few of the properties of this class will not be used depending on\nthe type of bridge endpoint being created. When creating a bridge endpoint\non a bridge cluster, following propeties will be used: vlan,\nbridge_cluster_id and ha_enable. Similarly, for creating a bridge endpoint\non an edge cluster following properties will be used: vlan,\nbridge_endpoint_profile_id and vlan_transport_zone_id.\n", "title": "Bridge Endpoint" }, "PortMirroringSession": { "x-vmw-nsx-module": "PortMirroring", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "PortMirroring", "required": [ "direction", "mirror_sources", "mirror_destination" ], "type": "object", "properties": { "direction": { "description": "Port mirroring session direction", "enum": [ "INGRESS", "EGRESS", "BIDIRECTIONAL" ], "type": "string" }, "encapsulation_vlan_id": { "type": "integer", "description": "Only for Remote SPAN Port Mirror.", "format": "int64" }, "session_type": { "description": "If this property is unset, this session will be treated as\nLocalPortMirrorSession.\n", "default": "LocalPortMirrorSession", "enum": [ "LogicalPortMirrorSession", "UplinkPortMirrorSession", "RspanSrcMirrorSession", "RspanDstMirrorSession", "LocalPortMirrorSession", "LogicalLocalPortMirrorSession", "L3PortMirrorSession" ], "type": "string" }, "snap_length": { "description": "If this property is set, the packet will be truncated to the provided\nlength. If this property is unset, entire packet will be mirrored.\n", "format": "int64", "title": "Maximum packet length for packet truncation", "maximum": 65535, "minimum": 60, "type": "integer" }, "mirror_sources": { "description": "Mirror sources", "title": "Mirror sources", "minItems": 1, "items": { "$ref": "#/definitions/MirrorSource" }, "maxItems": 6, "type": "array" }, "preserve_original_vlan": { "default": false, "type": "boolean", "description": "Only for Remote SPAN Port Mirror. Whether to preserve original VLAN.", "title": "Only for Remote SPAN Port Mirror. Whether to preserve original VLAN." }, "mirror_destination": { "title": "Mirror destination", "description": "Mirror destination", "$ref": "#/definitions/MirrorDestination" } } } ] }, "DirectoryDomainSyncRemoteNodes": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "results": { "items": { "type": "string" }, "type": "array", "description": "Directory domain sync remote node candidate", "title": "Domain synchronzation node list" } } } ], "description": "List of Directory Domain sync remote nodes", "title": "List of Directory Domain sync remote nodes" }, "LbClientCertificateSubjectDnCondition": { "description": "Match condition for client certficate subject DN", "title": "Match condition for client certficate subject DN", "required": [ "subject_dn" ], "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "case_sensitive": { "default": true, "type": "boolean", "description": "If true, case is significant when comparing subject DN value.\n", "title": "A case sensitive flag for subject DN comparing" }, "match_type": { "description": "Match type of subject DN", "default": "REGEX", "enum": [ "STARTS_WITH", "ENDS_WITH", "EQUALS", "CONTAINS", "REGEX" ], "type": "string" }, "subject_dn": { "type": "string", "description": "Value of subject DN", "title": "Value of subject DN" } } }, "LogicalRouterPortElement": { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "allOf": [ { "$ref": "#/definitions/Element" }, { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "type": "object", "properties": { "subnets": { "items": { "type": "string" }, "readOnly": true, "type": "array", "description": "Logical router port subnets", "title": "Logical router port subnets" }, "mac_address": { "readOnly": true, "type": "string", "description": "MAC address", "title": "MAC address" } } } ], "description": "Logical router port element extends from Element class. This class contains\nlogical port information of logical router.\n", "title": "Logical router port element" }, "BGPCommunityList": { "x-vmw-nsx-module": "Routing", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "Routing", "required": [ "communities" ], "type": "object", "properties": { "communities": { "items": { "type": "string" }, "type": "array", "description": "Array of BGP communities", "title": "BGP community list" }, "logical_router_id": { "readOnly": true, "type": "string", "description": "Logical router id", "title": "Logical router id" }, "community_type": { "default": "NormalBGPCommunity", "enum": [ "NormalBGPCommunity" ], "type": "string", "description": "Specifies the BGP community type. Currently, only NormalBGPCommunity is\nsupported.\n", "title": "BGP community type" } } } ] }, "PolicyRealizedResource": { "x-vmw-nsx-module": "PolicyRealizedState", "allOf": [ { "$ref": "#/definitions/PolicyResource" }, { "required": [ "state" ], "x-vmw-nsx-module": "PolicyRealizedState", "type": "object", "properties": { "intent_reference": { "items": { "type": "string" }, "type": "array", "description": "Desire state paths of this object", "title": "Desire state paths of this object" }, "realization_specific_identifier": { "type": "string", "description": "Realization id of this object", "title": "Realization id of this object" }, "state": { "enum": [ "UNAVAILABLE", "UNREALIZED", "REALIZED", "ERROR" ], "type": "string", "description": "Realization state of this object", "title": "Realization state of this object" }, "alarms": { "items": { "$ref": "#/definitions/PolicyAlarmResource" }, "type": "array", "description": "Alarm info detail", "title": "Alarm info detail" }, "runtime_status": { "type": "string", "description": "Possible values could be UP, DOWN, UNKNOWN, DEGRADED\nThis list is not exhaustive.\n", "title": "String representation of runtime status" } } } ], "description": "Abstract base class for all the realized policy objects", "title": "Abstract base class for all the realized policy objects" }, "BaseTier0Interface": { "x-vmw-nsx-module": "PolicyConnectivity", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "required": [ "subnets" ], "x-vmw-nsx-module": "PolicyConnectivity", "type": "object", "properties": { "subnets": { "items": { "$ref": "#/definitions/InterfaceSubnet" }, "type": "array", "description": "Specify IP address and network prefix for interface.\n", "title": "IP address and subnet specification for interface" } } } ], "description": "Tier-0 interface configuration for external connectivity.", "title": "Tier-0 interface configuration" }, "VifAttachmentContext": { "x-vmw-nsx-module": "LogicalPort", "allOf": [ { "$ref": "#/definitions/AttachmentContext" }, { "x-vmw-nsx-module": "LogicalPort", "required": [ "vif_type" ], "type": "object", "properties": { "vif_type": { "enum": [ "PARENT", "CHILD", "INDEPENDENT" ], "type": "string", "description": "Type of the VIF attached to logical port", "title": "Type of the VIF attached to logical port" }, "parent_vif_id": { "type": "string", "description": "VIF ID of the parent VIF if vif_type is CHILD", "title": "VIF ID of the parent VIF if vif_type is CHILD" }, "app_id": { "type": "string", "description": "An application ID used to identify / look up a child VIF\nbehind a parent VIF. Only effective when vif_type is CHILD.\n", "title": "ID used to identify/look up a child VIF behind a parent VIF" }, "traffic_tag": { "format": "int32", "type": "integer", "description": "Current we use VLAN id as the traffic tag.\nOnly effective when vif_type is CHILD.\nEach logical port inside a container must have a\nunique traffic tag. If the traffic_tag is not\nunique, no error is generated, but traffic will\nnot be delivered to any port with a non-unique tag.\n", "title": "Tag used for the traffic between this VIF and parent VIF" }, "transport_node_uuid": { "type": "string", "description": "Only effective when vif_type is INDEPENDENT.\nEach logical port inside a bare metal server\nor container must have a transport node UUID.\nWe use transport node ID as transport node UUID.\n", "title": "The UUID of the transport node" } } } ] }, "TelemetryConfig": { "x-vmw-nsx-module": "TelemetryConfig", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "TelemetryConfig", "required": [ "schedule_enabled", "ceip_acceptance" ], "type": "object", "properties": { "schedule_enabled": { "type": "boolean", "description": "Enable this to schedule data collection and upload times. If enabled,\nand a schedule is not provided, a default schedule (WEEKLY, Sunday at 2:00 a.m)\nwill be applied.\n", "title": "Flag to indicate if data collection is enabled" }, "telemetry_proxy": { "title": "Set config for proxy to be used to send out telemetry data", "description": "Specify the proxy configuration (scheme, server, port) here.", "$ref": "#/definitions/TelemetryProxy" }, "ceip_acceptance": { "type": "boolean", "description": "Enable this flag to participate in the Customer Experience Improvement Program.\n", "title": "Flag to indicate if CEIP has been accepted" }, "telemetry_schedule": { "title": "Set schedule for when telemetry data should be collected", "description": "Specify one of Daily, Weekly or Monthly schedules.", "$ref": "#/definitions/TelemetrySchedule" }, "proxy_enabled": { "default": false, "type": "boolean", "description": "Enable this flag to specify a proxy, and provide the proxy settings.", "title": "Flag to indicate if proxy has been configured" } } } ] }, "IPPrefixListListResult": { "x-vmw-nsx-module": "Routing", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "Routing", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/IPPrefixList" }, "type": "array", "description": "Paginated list of IPPrefixLists", "title": "Paginated list of IPPrefixLists" } } } ] }, "ServiceEntryListResult": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/ServiceEntry" }, "type": "array", "description": "Service entry list results", "title": "Service entry list results" } } } ], "description": "Paged Collection of Service entries", "title": "Paged Collection of Service entries" }, "ClasslessStaticRoute": { "x-vmw-nsx-module": "Dhcp", "required": [ "next_hop", "network" ], "type": "object", "properties": { "next_hop": { "description": "router", "format": "ip", "type": "string" }, "network": { "description": "destination in cidr", "format": "address-or-block-or-range", "type": "string" } } }, "BridgeClusterListResult": { "x-vmw-nsx-module": "BridgeCluster", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "BridgeCluster", "type": "object", "properties": { "results": { "description": "BridgeCluster Results", "title": "BridgeCluster Results", "minItems": 0, "items": { "$ref": "#/definitions/BridgeCluster" }, "readOnly": true, "type": "array" } } } ], "description": "Bridge cluster queries result", "title": "Bridge cluster queries result" }, "LbFastUdpProfile": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbAppProfile" }, { "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "idle_timeout": { "description": "Though UDP is a connectionless protocol, for the purposes of load\nbalancing, all UDP packets with the same flow signature (source and\ndestination IP/ports and IP protocol) received within the idle timeout\nperiod are considered to belong to the same connection and are sent to\nthe same backend server. If no packets are received for idle timeout\nperiod, the connection (association between flow signature and the\nselected server) is cleaned up.\n", "title": "UDP idle timeout in seconds", "default": 300, "format": "int64", "maximum": 2147483647, "minimum": 1, "type": "integer" }, "flow_mirroring_enabled": { "default": false, "type": "boolean", "description": "If flow mirroring is enabled, all the flows to the bounded virtual\nserver are mirrored to the standby node.\n", "title": "flow mirroring enabled flag" } } } ] }, "RealizedFirewall": { "x-vmw-nsx-module": "PolicyRealizedState", "allOf": [ { "$ref": "#/definitions/PolicyRealizedResource" }, { "required": [ "resource_type" ], "discriminator": "resource_type", "x-vmw-nsx-module": "PolicyRealizedState", "type": "object", "properties": { "resource_type": { "enum": [ "RealizedFirewallSection" ], "type": "string" } } } ], "description": "Realized firewall", "title": "Realized firewall" }, "L3VpnSubnet": { "description": "Used to specify subnets in L3Vpn rule.\n", "title": "Subnet used in L3Vpn Rule", "required": [ "subnet" ], "x-vmw-nsx-module": "PolicyL3Vpn", "type": "object", "properties": { "subnet": { "description": "Subnet used in L3Vpn Rule.\n", "format": "ipv4-cidr-block", "type": "string" } } }, "IPProtocolNSService": { "x-vmw-nsx-module": "Types", "allOf": [ { "$ref": "#/definitions/NSServiceElement" }, { "required": [ "protocol_number" ], "x-vmw-nsx-module": "Types", "type": "object", "properties": { "protocol_number": { "format": "int64", "type": "integer", "description": "The IP protocol number", "title": "The IP protocol number" } } } ], "description": "An NSService element that represents an IP protocol", "title": "An NSService element that represents an IP protocol" }, "EffectiveMemberResourceListResult": { "x-vmw-nsx-module": "NSGroup", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "NSGroup", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "title": "effective members resource list results", "$ref": "#/definitions/ResourceReference" }, "type": "array", "description": "Paged Collection of resources which are the effective members of an NSGroup.", "title": "Paged Collection of resources which are the effective members of an NSGroup." } } } ] }, "ChildServiceEntry": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "Service" ], "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "Service": { "title": "ServiceEntry", "description": "Contains the actual ServiceEntry object\n", "$ref": "#/definitions/ServiceEntry" } } } ], "description": "Child wrapper object for ServiceEntry, used in hierarchical API", "title": "Wrapper object for ServiceEntry" }, "LbSessionCookieTime": { "x-vmw-nsx-module": "LoadBalancer", "allOf": [ { "$ref": "#/definitions/LbCookieTime" }, { "x-vmw-nsx-module": "LoadBalancer", "type": "object", "properties": { "cookie_max_idle": { "description": "Instead of using HTTP Cookie max-age and relying on client to expire\nthe cookie, max idle time and/or max lifetime of the cookie can be used.\nMax idle time, if configured, specifies the maximum interval the cookie\nis valid for from the last time it was seen in a request.\nIt is available for insert mode.\n", "format": "int64", "title": "session cookie max idle time in seconds", "maximum": 2147483647, "minimum": 1, "type": "integer" }, "cookie_max_life": { "description": "Max life time, if configured, specifies the maximum interval the cookie\nis valid for from the first time the cookie was seen in a request.\nIt is available for insert mode.\n", "format": "int64", "title": "session cookie max lifetime in seconds", "maximum": 2147483647, "minimum": 1, "type": "integer" } } } ] }, "ApiError": { "x-vmw-nsx-module": "Common", "allOf": [ { "$ref": "#/definitions/RelatedApiError" }, { "x-vmw-nsx-module": "Common", "type": "object", "properties": { "related_errors": { "items": { "$ref": "#/definitions/RelatedApiError" }, "type": "array", "description": "Other errors related to this error", "title": "Other errors related to this error" } } } ], "description": "Detailed information about an API Error", "title": "Detailed information about an API Error" }, "L3Vpn": { "x-vmw-nsx-module": "PolicyL3Vpn", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "required": [ "local_address", "remote_public_address", "l3vpn_session" ], "x-vmw-nsx-module": "PolicyL3Vpn", "type": "object", "properties": { "remote_private_address": { "type": "string", "description": "This field is used to resolve conflicts in case of a remote site being\nbehind NAT as remote public ip address is not enough. If it is not the\ncase the remote public address should be provided here. If not provided,\nthe value of this field is set to remote_public_address.\n", "title": "Identifier of the remote site" }, "tunnel_digest_algorithms": { "description": "Algorithm to be used for message digest during tunnel establishment.\nDefault algorithm is empty.\n", "title": "Digest Algorithm for Tunnel Establishment", "items": { "description": "The TunnelDigestAlgorithms are used to verify message integrity during tunnel establishment.\nSHA1 produces 160 bits hash and SHA2_256 produces 256 bit hash.\n", "enum": [ "SHA1", "SHA2_256" ], "type": "string" }, "maxItems": 1, "uniqueItems": true, "type": "array" }, "passphrases": { "description": "List of IPSec pre-shared keys used for IPSec authentication. If not\nspecified, the older passphrase values are retained if there are any.\n", "title": "List of IPSec pre-shared keys", "items": { "type": "string" }, "maxItems": 1, "uniqueItems": true, "type": "array" }, "enable_perfect_forward_secrecy": { "default": true, "type": "boolean", "description": "If true, perfect forward secrecy (PFS) is enabled.\n", "title": "Enable perfect forward secrecy" }, "ike_digest_algorithms": { "description": "Algorithm to be used for message digest during Internet Key Exchange(IKE)\nnegotiation. Default is SHA2_256.\n", "title": "Digest Algorithm for IKE", "items": { "description": "The IKEDigestAlgorithms are used to verify message integrity during IKE negotiation.\nSHA1 produces 160 bits hash and SHA2_256 produces 256 bit hash.\n", "enum": [ "SHA1", "SHA2_256" ], "type": "string" }, "maxItems": 1, "uniqueItems": true, "type": "array" }, "ike_version": { "description": "IKE protocol version to be used. IKE-Flex will initiate IKE-V2 and responds\nto both IKE-V1 and IKE-V2.\n", "default": "IKE_V2", "enum": [ "IKE_V1", "IKE_V2", "IKE_FLEX" ], "type": "string" }, "ike_encryption_algorithms": { "description": "Algorithm to be used during Internet Key Exchange(IKE) negotiation.\nDefault is AES_128.\n", "title": "Encryption algorithm for IKE", "items": { "description": "IKEEncryption algorithms are used to ensure confidentiality of the messages\nexchanged during IKE negotiations. AES stands for Advanced Encryption Standards.\nAES_128 uses 128-bit keys whereas AES_256 uses 256-bit keys for encryption and\ndecryption. AES_GCM stands for Advanced Encryption Standard(AES) in Galois/Counter\nMode(GCM) and is used to provide both confidentiality and data origin authentication.\nAES_GCM composed of two separate functions one for encryption(AES) and one for\nauthentication(GMAC). AES_GCM algorithms will be available with IKE_V2 version only.\nAES_GMAC_128 uses 128-bit keys.\nAES_GMAC_192 uses 192-bit keys.\nAES_GMAC_256 uses 256-bit keys.\n", "enum": [ "AES_128", "AES_256", "AES_GCM_128", "AES_GCM_192", "AES_GCM_256" ], "type": "string" }, "maxItems": 1, "uniqueItems": true, "type": "array" }, "local_address": { "description": "IPv4 address of local gateway", "format": "ipv4", "type": "string" }, "l3vpn_session": { "title": "L3Vpn Session", "description": "L3Vpn Session", "$ref": "#/definitions/L3VpnSession" }, "dh_groups": { "description": "Diffie-Hellman group to be used if PFS is enabled. Default group is GROUP14.\n", "title": "DH group", "items": { "description": "Diffie-Hellman groups represent algorithm used to derive shared keys between\nIPSec VPN initiator and responder over an unsecured network.\nGROUP2 uses 1024-bit Modular Exponentiation (MODP) group.\nGROUP5 uses 1536-bit MODP group.\nGROUP14 uses 2048-bit MODP group.\nGROUP15 uses 3072-bit MODP group.\nGROUP16 uses 4096-bit MODP group.\n", "enum": [ "GROUP2", "GROUP5", "GROUP14", "GROUP15", "GROUP16" ], "type": "string" }, "maxItems": 1, "uniqueItems": true, "type": "array" }, "tunnel_encryption_algorithms": { "description": "Encryption algorithm to encrypt/decrypt the messages exchanged between\nIPSec VPN initiator and responder during tunnel negotiation. Default is\nAES_GCM_128.\n", "title": "Encryption algorithm for Tunnel Establishement", "items": { "description": "TunnelEncryption algorithms are used to ensure confidentiality of the messages exchanged\nduring Tunnel negotiations. AES stands for Advanced Encryption Standards. AES_128 uses\n128-bit keys whereas AES_256 uses 256-bit keys for encryption and decryption. AES_GCM\nstands for Advanced Encryption Standard(AES) in Galois/Counter Mode (GCM) and is used to\nprovide both confidentiality and data origin authentication.\n", "enum": [ "AES_128", "AES_256", "AES_GCM_128", "AES_GCM_192", "AES_GCM_256" ], "type": "string" }, "maxItems": 1, "uniqueItems": true, "type": "array" }, "enabled": { "default": true, "type": "boolean", "description": "Flag to enable L3Vpn. Default is enabled.\n", "title": "Enable L3Vpn" }, "remote_public_address": { "description": "Public IPv4 address of remote gateway", "format": "ipv4", "type": "string" } } } ], "description": "Contains information necessary to configure IPSec VPN.\n", "title": "L3 Virtual Private Network Configuration" }, "LoadBalancerAllocationPool": { "x-vmw-nsx-module": "LogicalRouter", "allOf": [ { "$ref": "#/definitions/EdgeClusterMemberAllocationPool" }, { "x-vmw-nsx-module": "LogicalRouter", "required": [ "allocation_size" ], "type": "object", "properties": { "allocation_size": { "default": "SMALL", "enum": [ "SMALL", "MEDIUM", "LARGE" ], "type": "string", "description": "To address varied customer performance and scalability requirements,\ndifferent sizes for load balancer service are supported: SMALL, MEDIUM\nand LARGE, each with its own set of resource and performance. Specify\nsize of load balancer service which you will bind to TIER1 router.\n", "title": "Size of load balancer service" } } } ] }, "Element": { "x-vmw-nsx-module": "PolicyOperationsRealizedState", "type": "object", "description": "Abstract base class of the realized element. Element can be VM,\nGroup, Process, LogicalSwitch, LogicalT0Router, LogicalT1Router element.\n", "properties": { "element_id": { "type": "string", "description": "Unique identifier of the element", "title": "Unique identifier of the element" }, "resource_name": { "type": "string", "description": "Resource name of the element", "title": "Resource name of the element" }, "elements": { "items": { "$ref": "#/definitions/Element" }, "type": "array", "description": "An element can contain an array of elements. For ex, a group element\ncan contain an array of VMs belonging to the group or an array of processes\nrunning inside the VM belonging to the group.\n", "title": "Array of elements" }, "resource_type": { "enum": [ "VMElement", "GroupElement", "ProcessElement", "LogicalSwitchElement", "LogicalT0RouterElement", "LogicalT1RouterElement", "VirtualNetworkInterfaceElement", "LogicalSwitchPortElement", "LogicalRouterPortElement", "HostNodeElement", "EdgeNodeElement", "LoadBalancerServiceElement", "LBVirtualServerElement" ], "type": "string", "description": "Resource type of the element", "title": "Resource type of the element" } }, "title": "Element" }, "TypeGroup": { "x-vmw-nsx-module": "Search", "required": [ "count", "group_by_field_value" ], "type": "object", "properties": { "count": { "format": "int64", "type": "integer", "description": "Total count per group by field value", "title": "Total count per group by field value" }, "hits": { "items": { "type": "object" }, "type": "array", "description": "Hits per resource type", "title": "Hits per resource type" }, "group_by_field_value": { "type": "string", "description": "Group By Field Value", "title": "Group By Field Value" } } }, "LogicalRouterPortArpTable": { "x-vmw-nsx-module": "AggSvcLogicalRouterPort", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "AggSvcLogicalRouterPort", "required": [ "logical_router_port_id" ], "type": "object", "properties": { "last_update_timestamp": { "description": "Timestamp when the data was last updated; unset if data source has never updated the data.", "format": "int64", "readOnly": true, "type": "integer" }, "results": { "items": { "$ref": "#/definitions/LogicalRouterPortArpEntry" }, "type": "array" }, "logical_router_port_id": { "type": "string", "description": "The ID of the logical router port", "title": "The ID of the logical router port" } } } ] }, "QosBaseRateShaper": { "description": "A shaper configuration entry that specifies type and metrics", "title": "A shaper configuration entry that specifies type and metrics", "required": [ "enabled" ], "x-vmw-nsx-module": "QosSwitchingProfile", "type": "object", "properties": { "enabled": { "type": "boolean" }, "resource_type": { "default": "IngressRateShaper", "enum": [ "IngressRateShaper", "IngressBroadcastRateShaper", "EgressRateShaper" ], "type": "string" } } }, "DonutSection": { "description": "Represents high level logical grouping of portions or segments of a donut / stats chart.", "title": "Section of a donut or stats chart", "required": [ "parts" ], "x-vmw-nsx-module": "NsxDashboard", "type": "object", "properties": { "row_list_field": { "maxLength": 1024, "type": "string", "description": "Field of the root of the api result set for forming parts.", "title": "Field from which parts of the donut or stats chart are formed" }, "parts": { "minItems": 1, "items": { "$ref": "#/definitions/DonutPart" }, "type": "array", "description": "Array of portions or parts of the donut or stats chart.", "title": "Parts of a donut / stats chart" }, "template": { "default": false, "type": "boolean", "description": "If true, the section will be appled as template for forming parts. Only one part will be formed from each element of 'row_list_field'.", "title": "Template, if any, for automatically forming the donut or stats parts" } } }, "ServiceListResult": { "x-vmw-nsx-module": "Policy", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "Policy", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/Service" }, "type": "array", "description": "Service list results", "title": "Service list results" } } } ], "description": "Paged Collection of Services", "title": "Paged Collection of Services" }, "VirtualMachineTagsUpdate": { "description": "List of tags applied to the virtual machine. Based on the enforcement\npoint, the virtual_machine_id will be different. It could be an external\nid for NSX T or a moid for NSX V\n", "title": "Payload to update the tags on a Virtual Machine", "required": [ "virtual_machine_id", "tags" ], "x-vmw-nsx-module": "PolicyRealizedState", "type": "object", "properties": { "virtual_machine_id": { "type": "string", "description": "The identifier that is used in the enforcement point that uniquely\nidentifies the virtual machine. In case of NSXT it would be the\nvalue of the external_id of the virtual machine.\n", "title": "This is the value of the identifier on the enforcement point that\nuniquely identifies the virtual machine\n" }, "tags": { "items": { "$ref": "#/definitions/Tag" }, "type": "array", "description": "List of tags to be applied on the virtual machine\n", "title": "List of tags to be applied to the virtual machine" } } }, "NSServiceDeleteRequestParameters": { "x-vmw-nsx-module": "NSService", "allOf": [ { "$ref": "#/definitions/DeleteRequestParameters" }, { "x-vmw-nsx-module": "NSService", "type": "object" } ], "description": "NSService delete request parameters", "title": "NSService delete request parameters" }, "MultiWidgetConfiguration": { "x-vmw-nsx-module": "NsxDashboard", "allOf": [ { "$ref": "#/definitions/WidgetConfiguration" }, { "required": [ "widgets" ], "x-vmw-nsx-module": "NsxDashboard", "type": "object", "properties": { "widgets": { "description": "Array of widgets that are part of the multi-widget.", "title": "Widgets", "minItems": 1, "items": { "$ref": "#/definitions/WidgetItem" }, "maxItems": 2, "type": "array" }, "navigation": { "maxLength": 1024, "type": "string", "description": "Hyperlink of the specified UI page that provides details.", "title": "Navigation to a specified UI page" } } } ], "description": "Combines two or more widgetconfigurations into a multi-widget", "title": "Multi-Widget" }, "PolicyDnsForwarder": { "x-vmw-nsx-module": "PolicyDnsForwarder", "allOf": [ { "$ref": "#/definitions/PolicyConfigResource" }, { "required": [ "default_forwarder_zone_path", "listener_ip" ], "x-vmw-nsx-module": "PolicyDnsForwarder", "type": "object", "properties": { "log_level": { "default": "INFO", "enum": [ "DISABLED", "TRACE", "DEBUG", "INFO", "WARNING", "ERROR", "FATAL" ], "type": "string", "description": "Set log_level to DISABLED will stop dumping fowarder log.\n", "title": "Log level of the dns forwarder" }, "conditional_forwarder_zone_paths": { "items": { "type": "string" }, "type": "array", "description": "Max of 5 DNS servers can be configured", "maxItems": 5, "title": "Path of conditional DNS zones" }, "default_forwarder_zone_path": { "type": "string", "description": "This is the zone to which DNS requests are forwarded by default\n", "title": "Path of the default DNS zone." }, "listener_ip": { "description": "This is the IP on which the DNS Forwarder listens.\n", "format": "ipv4", "type": "string" } } } ], "description": "Used to configure DNS Forwarder", "title": "DNS Forwarder" }, "LogicalPortMirrorSource": { "x-vmw-nsx-module": "PortMirroring", "allOf": [ { "$ref": "#/definitions/MirrorSource" }, { "x-vmw-nsx-module": "PortMirroring", "required": [ "port_ids" ], "type": "object", "properties": { "port_ids": { "items": { "type": "string" }, "type": "array", "description": "Source logical port identifier list", "title": "Source logical port identifier list" } } } ] }, "DhcpIpPoolListResult": { "x-vmw-nsx-module": "Dhcp", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "Dhcp", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/DhcpIpPool" }, "type": "array", "description": "paginated list of dhcp ip pools", "title": "paginated list of dhcp ip pools" } } } ] }, "IpAssignmentSpec": { "description": "Abstract base type for specification of IPs to be used with host switch virtual tunnel endpoints", "title": "Abstract base type for specification of IPs to be used with host switch virtual tunnel endpoints", "required": [ "resource_type" ], "discriminator": "resource_type", "x-vmw-nsx-module": "TransportNode", "type": "object", "properties": { "resource_type": { "enum": [ "StaticIpPoolSpec", "StaticIpListSpec", "AssignedByDhcp", "StaticIpMacListSpec" ], "type": "string" } } }, "ChildDeploymentZone": { "x-vmw-nsx-module": "PolicyEnforcementPointManagement", "allOf": [ { "$ref": "#/definitions/ChildPolicyConfigResource" }, { "required": [ "DeploymentZone" ], "x-vmw-nsx-module": "PolicyEnforcementPointManagement", "type": "object", "properties": { "DeploymentZone": { "title": "DeploymentZone", "description": "Contains the actual DeploymentZone object\n", "$ref": "#/definitions/DeploymentZone" } } } ], "description": "Child wrapper object for DeploymentZone, used in hierarchical API", "title": "Wrapper object for DeploymentZone" }, "FabricModule": { "x-vmw-nsx-module": "HostPrepServiceFabric", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "required": [ "deployment_specs", "current_version", "fabric_module_name" ], "x-vmw-nsx-module": "HostPrepServiceFabric", "type": "object", "properties": { "deployment_specs": { "items": { "$ref": "#/definitions/DeploymentSpec" }, "type": "array", "description": "List of deployment specs", "title": "List of deployment specs" }, "current_version": { "type": "string", "description": "current version on for the host prep fabric module.", "title": "current version on for the host prep fabric module." }, "fabric_module_name": { "type": "string", "description": "Name of the fabric module", "title": "Name of the fabric module" }, "source_authentication_mode": { "default": "NO_AUTHENTICATION", "enum": [ "NO_AUTHENTICATION", "BASIC_AUTHENTICATION", "MARKET_PLACE" ], "type": "string", "description": "This enum specifies the authentication supported\nat source i.e. for downloading VM.\nIf this attribute is not provided, then NO_AUTHENTICATION\nwill be considered.\n", "title": "Authentication needed by fabric module at source" }, "custom_data": { "items": { "$ref": "#/definitions/StringMapEntry" }, "type": "array", "description": "Slot for storing consumer data (fabric module's specific\ndata common across all the realizations of the fabric\nmodule)\n", "title": "Customer data" } } } ], "description": "Fabric module contains list of deployment specs and current version.\nEach deployment spec is a different version of same fabric module.\nIf fabric module have two deployment specs or say two different versions then\ncurrent version will specify which version needs to be installed.\n", "title": "Fabric Module contains list of deployment specs and current version." }, "ClusterBackupInfoListResult": { "x-vmw-nsx-module": "ClusterRestore", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "ClusterRestore", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/ClusterBackupInfo" }, "readOnly": true, "type": "array", "description": "List of timestamps of backed-up cluster files", "title": "List of timestamps of backed-up cluster files" } } } ] }, "MacPool": { "x-vmw-nsx-module": "MACAM", "description": "A collection of ranges of MAC addresses", "allOf": [ { "$ref": "#/definitions/ManagedResource" }, { "x-vmw-nsx-module": "MACAM", "required": [ "ranges" ], "type": "object", "properties": { "ranges": { "items": { "$ref": "#/definitions/MacRange" }, "type": "array", "description": "Array of ranges for MAC addresses", "title": "Array of ranges for MAC addresses" } } } ] }, "IPSecVpnPolicyTrafficStatistics": { "x-vmw-nsx-module": "PolicyStatistics", "type": "object", "description": "IPSec VPN policy traffic statistics.\n", "properties": { "aggregate_traffic_counters": { "readOnly": true, "title": "Traffic summary", "description": "Aggregate traffic statistics across all ipsec tunnels.", "$ref": "#/definitions/IPSecVpnTrafficCounters" }, "tunnel_statistics": { "items": { "$ref": "#/definitions/IPSecVpnTunnelTrafficStatistics" }, "readOnly": true, "type": "array", "description": "Tunnel statistics.", "title": "Tunnel statistics" }, "rule_path": { "readOnly": true, "type": "string", "description": "L3Vpn rule path.", "title": "L3Vpn rule path" } }, "title": "IPSec VPN policy traffic statistics" }, "LBIcmpMonitorProfile": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/LBActiveMonitor" }, { "x-vmw-nsx-module": "ManagerNode", "type": "object" } ], "description": "Active healthchecks are disabled by default and can be enabled for a\nserver pool by binding a health monitor to the Group through the LBRule\nobject. This represents active health monitoring over ICMP.\nActive healthchecks are initiated periodically, at a configurable\ninterval, to each member of the Group. Only if a healthcheck fails\nconsecutively for a specified number of times (fall_count) to a member will\nthe member status be marked DOWN. Once a member is DOWN, a specified\nnumber of consecutive successful healt hchecks (rise_count) will bring the\nmember back to UP state. After a healthcheck is initiated, if it does not\ncomplete within a certain period, then also the healthcheck is considered\nto be unsuccessful. Completing a healthcheck within timeout means establishing\na connection (TCP or SSL), if applicable, sending the request and\nreceiving the response, all within the configured timeout.\n", "title": "LBMonitorProfile for active health checks over ICMP" }, "ClusterNodeConfigListResult": { "x-vmw-nsx-module": "ClusterManagement", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "ClusterManagement", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/ClusterNodeConfig" }, "type": "array", "description": "Cluster node configuration results", "title": "Cluster node configuration results" } } } ] }, "RoleListResult": { "x-vmw-nsx-module": "AAA", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "x-vmw-nsx-module": "AAA", "required": [ "results" ], "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/Role" }, "type": "array", "description": "List results", "title": "List results" } } } ] }, "IpPoolDeleteRequestParameters": { "x-vmw-nsx-module": "Ipam", "allOf": [ { "$ref": "#/definitions/DeleteRequestParameters" }, { "x-vmw-nsx-module": "Ipam", "type": "object" } ], "description": "IpPool delete request parameters", "title": "IpPool delete request parameters" }, "ClusterBackupInfo": { "x-vmw-nsx-module": "ClusterRestore", "type": "object", "description": "Cluster backup details", "properties": { "timestamp": { "description": "timestamp of the cluster backup file", "format": "int64", "readOnly": true, "type": "integer" }, "node_id": { "readOnly": true, "type": "string", "description": "ID of the node from which the backup was taken", "title": "ID of the node from which the backup was taken" }, "ip_address": { "description": "IP address of the node from which the backup was taken", "format": "ip", "readOnly": true, "type": "string" } }, "title": "Cluster backup details" }, "NodeAggregateInfoListResult": { "x-vmw-nsx-module": "NsxQuery", "allOf": [ { "$ref": "#/definitions/ListResult" }, { "required": [ "results" ], "x-vmw-nsx-module": "NsxQuery", "type": "object", "properties": { "results": { "items": { "$ref": "#/definitions/NodeAggregateInfo" }, "type": "array", "description": "Node Aggregate Info Results", "title": "Node Aggregate Info Results" } } } ], "description": "Node aggregate state list result", "title": "Node aggregate state list result" }, "LBHttpsMonitorProfile": { "x-vmw-nsx-module": "ManagerNode", "allOf": [ { "$ref": "#/definitions/LBActiveMonitor" }, { "x-vmw-nsx-module": "ManagerNode", "type": "object", "properties": { "request_url": { "default": "/", "type": "string", "description": "For HTTPS active healthchecks, the HTTPS request url sent can be\ncustomized and can include query parameters.\n", "title": "Customized HTTPS request url for active health checks" } } } ], "description": "Active healthchecks are disabled by default and can be enabled for a\nserver pool by binding a health monitor to the Group through the LBRule\nobject. This represents active health monitoring over HTTPS. Active\nhealthchecks are initiated periodically, at a configurable interval, to\neach member of the Group. Only if a healthcheck fails consecutively for a\nspecified number of times (fall_count) to a member will the member status\nbe marked DOWN. Once a member is DOWN, a specified number of consecutive\nsuccessful healthchecks (rise_count) will bring the member back to UP\nstate. After a healthcheck is initiated, if it does not complete within a\ncertain period, then also the healthcheck is considered to be\nunsuccessful. Completing a healthcheck within timeout means establishing\na connection (TCP or SSL), if applicable, sending the request and\nreceiving the response, all within the configured timeout.\n", "title": "LBMonitorProfile for active health checks over HTTPS" } }, "parameters": {}, "responses": { "NotExtended": { "description": "Not Extended", "schema": { "$ref": "#/definitions/ApiError" } }, "RequestTimeout": { "description": "Request Timeout", "schema": { "$ref": "#/definitions/ApiError" } }, "RequestEntityTooLarge": { "description": "Request Entity Too Large", "schema": { "$ref": "#/definitions/ApiError" } }, "EnhanceYourCalm": { "description": "Enhance Your Calm", "schema": { "$ref": "#/definitions/ApiError" } }, "NetworkAuthenticationRequired": { "description": "Network Authentication Required", "schema": { "$ref": "#/definitions/ApiError" } }, "Conflict": { "description": "Conflict", "schema": { "$ref": "#/definitions/ApiError" } }, "ExpectationFailed": { "description": "Expectation Failed", "schema": { "$ref": "#/definitions/ApiError" } }, "PaymentRequired": { "description": "Payment Required", "schema": { "$ref": "#/definitions/ApiError" } }, "PreconditionRequired": { "description": "Precondition Required", "schema": { "$ref": "#/definitions/ApiError" } }, "BandwidthLimitExceeded": { "description": "Bandwidth Limit Exceeded", "schema": { "$ref": "#/definitions/ApiError" } }, "ReservedforWebDAV": { "description": "Reserved for WebDAV", "schema": { "$ref": "#/definitions/ApiError" } }, "RequestedRangeNotSatisfiable": { "description": "Requested Range Not Satisfiable", "schema": { "$ref": "#/definitions/ApiError" } }, "InsufficientStorage": { "description": "Insufficient Storage", "schema": { "$ref": "#/definitions/ApiError" } }, "NotFound": { "description": "Not Found", "schema": { "$ref": "#/definitions/ApiError" } }, "InternalServerError": { "description": "Internal Server Error", "schema": { "$ref": "#/definitions/ApiError" } }, "ClientClosedRequest": { "description": "Client Closed Request", "schema": { "$ref": "#/definitions/ApiError" } }, "UpgradeRequired": { "description": "Upgrade Required", "schema": { "$ref": "#/definitions/ApiError" } }, "MethodNotAllowed": { "description": "Method Not Allowed", "schema": { "$ref": "#/definitions/ApiError" } }, "LengthRequired": { "description": "Length Required", "schema": { "$ref": "#/definitions/ApiError" } }, "UnavailableForLegalReasons": { "description": "Unavailable For Legal Reasons", "schema": { "$ref": "#/definitions/ApiError" } }, "Iamateapot": { "description": "I am a teapot", "schema": { "$ref": "#/definitions/ApiError" } }, "FailedDependency": { "description": "Failed Dependency", "schema": { "$ref": "#/definitions/ApiError" } }, "GatewayTimeout": { "description": "Gateway Timeout", "schema": { "$ref": "#/definitions/ApiError" } }, "NoResponse": { "description": "No Response", "schema": { "$ref": "#/definitions/ApiError" } }, "ServiceUnavailable": { "description": "Service Unavailable", "schema": { "$ref": "#/definitions/ApiError" } }, "UnsupportedMediaType": { "description": "Unsupported Media Type", "schema": { "$ref": "#/definitions/ApiError" } }, "Locked": { "description": "Locked", "schema": { "$ref": "#/definitions/ApiError" } }, "BadGateway": { "description": "Bad Gateway", "schema": { "$ref": "#/definitions/ApiError" } }, "BadRequest": { "description": "Bad Request", "schema": { "$ref": "#/definitions/ApiError" } }, "NotAcceptable": { "description": "Not Acceptable", "schema": { "$ref": "#/definitions/ApiError" } }, "HTTPVersionNotSupported": { "description": "HTTP Version Not Supported", "schema": { "$ref": "#/definitions/ApiError" } }, "UnprocessableEntity": { "description": "Unprocessable Entity", "schema": { "$ref": "#/definitions/ApiError" } }, "RetryWith": { "description": "Retry With", "schema": { "$ref": "#/definitions/ApiError" } }, "NotImplemented": { "description": "Not Implemented", "schema": { "$ref": "#/definitions/ApiError" } }, "Request-URITooLong": { "description": "Request-URI Too Long", "schema": { "$ref": "#/definitions/ApiError" } }, "Unauthorized": { "description": "Unauthorized", "schema": { "$ref": "#/definitions/ApiError" } }, "PreconditionFailed": { "description": "Precondition Failed", "schema": { "$ref": "#/definitions/ApiError" } }, "LoopDetected": { "description": "Loop Detected", "schema": { "$ref": "#/definitions/ApiError" } }, "Gone": { "description": "Gone", "schema": { "$ref": "#/definitions/ApiError" } }, "Forbidden": { "description": "Forbidden", "schema": { "$ref": "#/definitions/ApiError" } }, "TooManyRequests": { "description": "Too Many Requests", "schema": { "$ref": "#/definitions/ApiError" } }, "BlockedbyWindowsParentalControls": { "description": "Blocked by Windows Parental Controls", "schema": { "$ref": "#/definitions/ApiError" } }, "ProxyAuthenticationRequired": { "description": "Proxy Authentication Required", "schema": { "$ref": "#/definitions/ApiError" } }, "VariantAlsoNegotiates": { "description": "Variant Also Negotiates", "schema": { "$ref": "#/definitions/ApiError" } }, "RequestHeaderFieldsTooLarge": { "description": "Request Header Fields Too Large", "schema": { "$ref": "#/definitions/ApiError" } } } }