diff --git a/contrib/openapi.json b/contrib/openapi.json index 6d814d61d42..e335d41c66f 100644 --- a/contrib/openapi.json +++ b/contrib/openapi.json @@ -664,12 +664,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableCircuitGroupAssignmentRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableCircuitGroupAssignmentRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableCircuitGroupAssignmentRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableCircuitGroupAssignmentRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableCircuitGroupAssignmentRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableCircuitGroupAssignmentRequest" + } + } + ] } } }, @@ -1985,12 +2005,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CircuitGroupRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/CircuitGroupRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/CircuitGroupRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/CircuitGroupRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/CircuitGroupRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/CircuitGroupRequest" + } + } + ] } } }, @@ -3843,242 +3883,262 @@ "post": { "operationId": "circuits_circuit_terminations_create", "description": "Post a list of circuit termination objects.", - "tags": [ - "circuits" - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CircuitTerminationRequest" - } - }, - "multipart/form-data": { - "schema": { - "$ref": "#/components/schemas/CircuitTerminationRequest" - } - } - }, - "required": true - }, - "security": [ - { - "cookieAuth": [] - }, - { - "tokenAuth": [] - } - ], - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CircuitTermination" - } - } - }, - "description": "" - } - } - }, - "put": { - "operationId": "circuits_circuit_terminations_bulk_update", - "description": "Put a list of circuit termination objects.", - "tags": [ - "circuits" - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CircuitTerminationRequest" - } - } - }, - "multipart/form-data": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CircuitTerminationRequest" - } - } - } - }, - "required": true - }, - "security": [ - { - "cookieAuth": [] - }, - { - "tokenAuth": [] - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CircuitTermination" - } - } - } - }, - "description": "" - } - } - }, - "patch": { - "operationId": "circuits_circuit_terminations_bulk_partial_update", - "description": "Patch a list of circuit termination objects.", - "tags": [ - "circuits" - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CircuitTerminationRequest" - } - } - }, - "multipart/form-data": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CircuitTerminationRequest" - } - } - } - }, - "required": true - }, - "security": [ - { - "cookieAuth": [] - }, - { - "tokenAuth": [] - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CircuitTermination" - } - } - } - }, - "description": "" - } - } - }, - "delete": { - "operationId": "circuits_circuit_terminations_bulk_destroy", - "description": "Delete a list of circuit termination objects.", - "tags": [ - "circuits" - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CircuitTerminationRequest" - } - } - }, - "multipart/form-data": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CircuitTerminationRequest" - } - } - } - }, - "required": true - }, - "security": [ - { - "cookieAuth": [] - }, - { - "tokenAuth": [] - } - ], - "responses": { - "204": { - "description": "No response body" - } - } - } - }, - "/api/circuits/circuit-terminations/{id}/": { - "get": { - "operationId": "circuits_circuit_terminations_retrieve", - "description": "Get a circuit termination object.", - "parameters": [ - { - "in": "path", - "name": "id", - "schema": { - "type": "integer" - }, - "description": "A unique integer value identifying this circuit termination.", - "required": true - } - ], - "tags": [ - "circuits" - ], - "security": [ - { - "cookieAuth": [] - }, - { - "tokenAuth": [] - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/CircuitTermination" - } - } - }, - "description": "" - } - } - }, - "put": { - "operationId": "circuits_circuit_terminations_update", - "description": "Put a circuit termination object.", - "parameters": [ - { - "in": "path", - "name": "id", - "schema": { - "type": "integer" - }, - "description": "A unique integer value identifying this circuit termination.", - "required": true - } - ], + "tags": [ + "circuits" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/CircuitTerminationRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/CircuitTerminationRequest" + } + } + ] + } + }, + "multipart/form-data": { + "schema": { + "oneOf": [ + { + "$ref": "#/components/schemas/CircuitTerminationRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/CircuitTerminationRequest" + } + } + ] + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CircuitTermination" + } + } + }, + "description": "" + } + } + }, + "put": { + "operationId": "circuits_circuit_terminations_bulk_update", + "description": "Put a list of circuit termination objects.", + "tags": [ + "circuits" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CircuitTerminationRequest" + } + } + }, + "multipart/form-data": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CircuitTerminationRequest" + } + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CircuitTermination" + } + } + } + }, + "description": "" + } + } + }, + "patch": { + "operationId": "circuits_circuit_terminations_bulk_partial_update", + "description": "Patch a list of circuit termination objects.", + "tags": [ + "circuits" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CircuitTerminationRequest" + } + } + }, + "multipart/form-data": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CircuitTerminationRequest" + } + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CircuitTermination" + } + } + } + }, + "description": "" + } + } + }, + "delete": { + "operationId": "circuits_circuit_terminations_bulk_destroy", + "description": "Delete a list of circuit termination objects.", + "tags": [ + "circuits" + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CircuitTerminationRequest" + } + } + }, + "multipart/form-data": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CircuitTerminationRequest" + } + } + } + }, + "required": true + }, + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "204": { + "description": "No response body" + } + } + } + }, + "/api/circuits/circuit-terminations/{id}/": { + "get": { + "operationId": "circuits_circuit_terminations_retrieve", + "description": "Get a circuit termination object.", + "parameters": [ + { + "in": "path", + "name": "id", + "schema": { + "type": "integer" + }, + "description": "A unique integer value identifying this circuit termination.", + "required": true + } + ], + "tags": [ + "circuits" + ], + "security": [ + { + "cookieAuth": [] + }, + { + "tokenAuth": [] + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CircuitTermination" + } + } + }, + "description": "" + } + } + }, + "put": { + "operationId": "circuits_circuit_terminations_update", + "description": "Put a circuit termination object.", + "parameters": [ + { + "in": "path", + "name": "id", + "schema": { + "type": "integer" + }, + "description": "A unique integer value identifying this circuit termination.", + "required": true + } + ], "tags": [ "circuits" ], @@ -5260,12 +5320,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CircuitTypeRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/CircuitTypeRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/CircuitTypeRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/CircuitTypeRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/CircuitTypeRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/CircuitTypeRequest" + } + } + ] } } }, @@ -7439,12 +7519,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableCircuitRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableCircuitRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableCircuitRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableCircuitRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableCircuitRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableCircuitRequest" + } + } + ] } } }, @@ -8786,12 +8886,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProviderAccountRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ProviderAccountRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProviderAccountRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/ProviderAccountRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ProviderAccountRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProviderAccountRequest" + } + } + ] } } }, @@ -10057,12 +10177,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProviderNetworkRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ProviderNetworkRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProviderNetworkRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/ProviderNetworkRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ProviderNetworkRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProviderNetworkRequest" + } + } + ] } } }, @@ -11558,12 +11698,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ProviderRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ProviderRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProviderRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/ProviderRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ProviderRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ProviderRequest" + } + } + ] } } }, @@ -12822,12 +12982,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableVirtualCircuitTerminationRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableVirtualCircuitTerminationRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableVirtualCircuitTerminationRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableVirtualCircuitTerminationRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableVirtualCircuitTerminationRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableVirtualCircuitTerminationRequest" + } + } + ] } } }, @@ -14232,12 +14412,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/VirtualCircuitTypeRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/VirtualCircuitTypeRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/VirtualCircuitTypeRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/VirtualCircuitTypeRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/VirtualCircuitTypeRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/VirtualCircuitTypeRequest" + } + } + ] } } }, @@ -15749,12 +15949,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableVirtualCircuitRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableVirtualCircuitRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableVirtualCircuitRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableVirtualCircuitRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableVirtualCircuitRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableVirtualCircuitRequest" + } + } + ] } } }, @@ -18791,12 +19011,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableDataSourceRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableDataSourceRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableDataSourceRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableDataSourceRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableDataSourceRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableDataSourceRequest" + } + } + ] } } }, @@ -19688,6 +19928,32 @@ "type": "string" } }, + { + "in": "query", + "name": "object_type_id", + "schema": { + "type": "array", + "items": { + "type": "integer", + "nullable": true + } + }, + "explode": true, + "style": "form" + }, + { + "in": "query", + "name": "object_type_id__n", + "schema": { + "type": "array", + "items": { + "type": "integer", + "nullable": true + } + }, + "explode": true, + "style": "form" + }, { "name": "offset", "required": false, @@ -21804,12 +22070,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CableTerminationRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/CableTerminationRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/CableTerminationRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/CableTerminationRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/CableTerminationRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/CableTerminationRequest" + } + } + ] } } }, @@ -23626,7 +23912,7 @@ "type": "array", "items": { "type": "string", - "x-spec-enum-id": "c731f2793fceac04", + "x-spec-enum-id": "8d6d8ba53d82f066", "nullable": true } }, @@ -23647,7 +23933,7 @@ "type": "array", "items": { "type": "string", - "x-spec-enum-id": "c731f2793fceac04", + "x-spec-enum-id": "8d6d8ba53d82f066", "nullable": true } }, @@ -23661,7 +23947,7 @@ "type": "array", "items": { "type": "string", - "x-spec-enum-id": "c731f2793fceac04", + "x-spec-enum-id": "8d6d8ba53d82f066", "nullable": true } }, @@ -23675,7 +23961,7 @@ "type": "array", "items": { "type": "string", - "x-spec-enum-id": "c731f2793fceac04", + "x-spec-enum-id": "8d6d8ba53d82f066", "nullable": true } }, @@ -23689,7 +23975,7 @@ "type": "array", "items": { "type": "string", - "x-spec-enum-id": "c731f2793fceac04", + "x-spec-enum-id": "8d6d8ba53d82f066", "nullable": true } }, @@ -23703,7 +23989,7 @@ "type": "array", "items": { "type": "string", - "x-spec-enum-id": "c731f2793fceac04", + "x-spec-enum-id": "8d6d8ba53d82f066", "nullable": true } }, @@ -23717,7 +24003,7 @@ "type": "array", "items": { "type": "string", - "x-spec-enum-id": "c731f2793fceac04", + "x-spec-enum-id": "8d6d8ba53d82f066", "nullable": true } }, @@ -23731,7 +24017,7 @@ "type": "array", "items": { "type": "string", - "x-spec-enum-id": "c731f2793fceac04", + "x-spec-enum-id": "8d6d8ba53d82f066", "nullable": true } }, @@ -23745,7 +24031,7 @@ "type": "array", "items": { "type": "string", - "x-spec-enum-id": "c731f2793fceac04", + "x-spec-enum-id": "8d6d8ba53d82f066", "nullable": true } }, @@ -23759,7 +24045,7 @@ "type": "array", "items": { "type": "string", - "x-spec-enum-id": "c731f2793fceac04", + "x-spec-enum-id": "8d6d8ba53d82f066", "nullable": true } }, @@ -23773,7 +24059,7 @@ "type": "array", "items": { "type": "string", - "x-spec-enum-id": "c731f2793fceac04", + "x-spec-enum-id": "8d6d8ba53d82f066", "nullable": true } }, @@ -23787,7 +24073,7 @@ "type": "array", "items": { "type": "string", - "x-spec-enum-id": "c731f2793fceac04", + "x-spec-enum-id": "8d6d8ba53d82f066", "nullable": true } }, @@ -23845,12 +24131,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableCableRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableCableRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableCableRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableCableRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableCableRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableCableRequest" + } + } + ] } } } @@ -25137,12 +25443,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableConsolePortTemplateRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableConsolePortTemplateRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableConsolePortTemplateRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableConsolePortTemplateRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableConsolePortTemplateRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableConsolePortTemplateRequest" + } + } + ] } } }, @@ -27286,12 +27612,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableConsolePortRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableConsolePortRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableConsolePortRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableConsolePortRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableConsolePortRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableConsolePortRequest" + } + } + ] } } }, @@ -28568,12 +28914,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableConsoleServerPortTemplateRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableConsoleServerPortTemplateRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableConsoleServerPortTemplateRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableConsoleServerPortTemplateRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableConsoleServerPortTemplateRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableConsoleServerPortTemplateRequest" + } + } + ] } } }, @@ -30717,12 +31083,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableConsoleServerPortRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableConsoleServerPortRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableConsoleServerPortRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableConsoleServerPortRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableConsoleServerPortRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableConsoleServerPortRequest" + } + } + ] } } }, @@ -31954,12 +32340,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DeviceBayTemplateRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/DeviceBayTemplateRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/DeviceBayTemplateRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/DeviceBayTemplateRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/DeviceBayTemplateRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/DeviceBayTemplateRequest" + } + } + ] } } }, @@ -33854,12 +34260,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/DeviceBayRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/DeviceBayRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/DeviceBayRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/DeviceBayRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/DeviceBayRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/DeviceBayRequest" + } + } + ] } } }, @@ -35361,12 +35787,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableDeviceRoleRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableDeviceRoleRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableDeviceRoleRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableDeviceRoleRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableDeviceRoleRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableDeviceRoleRequest" + } + } + ] } } }, @@ -38006,12 +38452,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableDeviceTypeRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableDeviceTypeRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableDeviceTypeRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableDeviceTypeRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableDeviceTypeRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableDeviceTypeRequest" + } + } + ] } } }, @@ -42049,12 +42515,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableDeviceWithConfigContextRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableDeviceWithConfigContextRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableDeviceWithConfigContextRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableDeviceWithConfigContextRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableDeviceWithConfigContextRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableDeviceWithConfigContextRequest" + } + } + ] } } }, @@ -43770,12 +44256,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableFrontPortTemplateRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableFrontPortTemplateRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableFrontPortTemplateRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableFrontPortTemplateRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableFrontPortTemplateRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableFrontPortTemplateRequest" + } + } + ] } } }, @@ -46128,12 +46634,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableFrontPortRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableFrontPortRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableFrontPortRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableFrontPortRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableFrontPortRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableFrontPortRequest" + } + } + ] } } }, @@ -48133,12 +48659,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableInterfaceTemplateRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableInterfaceTemplateRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableInterfaceTemplateRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableInterfaceTemplateRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableInterfaceTemplateRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableInterfaceTemplateRequest" + } + } + ] } } }, @@ -52620,12 +53166,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableInterfaceRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableInterfaceRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableInterfaceRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableInterfaceRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableInterfaceRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableInterfaceRequest" + } + } + ] } } }, @@ -54030,12 +54596,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/InventoryItemRoleRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/InventoryItemRoleRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/InventoryItemRoleRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/InventoryItemRoleRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/InventoryItemRoleRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/InventoryItemRoleRequest" + } + } + ] } } }, @@ -55619,12 +56205,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/InventoryItemTemplateRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/InventoryItemTemplateRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/InventoryItemTemplateRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/InventoryItemTemplateRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/InventoryItemTemplateRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/InventoryItemTemplateRequest" + } + } + ] } } }, @@ -58327,12 +58933,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableInventoryItemRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableInventoryItemRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableInventoryItemRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableInventoryItemRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableInventoryItemRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableInventoryItemRequest" + } + } + ] } } }, @@ -60288,12 +60914,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableLocationRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableLocationRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableLocationRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableLocationRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableLocationRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableLocationRequest" + } + } + ] } } }, @@ -61618,12 +62264,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/MACAddressRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/MACAddressRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/MACAddressRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/MACAddressRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/MACAddressRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/MACAddressRequest" + } + } + ] } } }, @@ -62913,12 +63579,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ManufacturerRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ManufacturerRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ManufacturerRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/ManufacturerRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ManufacturerRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ManufacturerRequest" + } + } + ] } } }, @@ -64291,12 +64977,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ModuleBayTemplateRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ModuleBayTemplateRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ModuleBayTemplateRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/ModuleBayTemplateRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ModuleBayTemplateRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ModuleBayTemplateRequest" + } + } + ] } } }, @@ -66368,12 +67074,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ModuleBayRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ModuleBayRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ModuleBayRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/ModuleBayRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ModuleBayRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ModuleBayRequest" + } + } + ] } } }, @@ -67436,12 +68162,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ModuleTypeProfileRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ModuleTypeProfileRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ModuleTypeProfileRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/ModuleTypeProfileRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ModuleTypeProfileRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ModuleTypeProfileRequest" + } + } + ] } } }, @@ -68928,12 +69674,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableModuleTypeRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableModuleTypeRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableModuleTypeRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableModuleTypeRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableModuleTypeRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableModuleTypeRequest" + } + } + ] } } }, @@ -70744,12 +71510,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableModuleRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableModuleRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableModuleRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableModuleRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableModuleRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableModuleRequest" + } + } + ] } } }, @@ -72152,12 +72938,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritablePlatformRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritablePlatformRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritablePlatformRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritablePlatformRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritablePlatformRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritablePlatformRequest" + } + } + ] } } }, @@ -74134,12 +74940,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritablePowerFeedRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritablePowerFeedRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritablePowerFeedRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritablePowerFeedRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritablePowerFeedRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritablePowerFeedRequest" + } + } + ] } } }, @@ -75640,12 +76466,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritablePowerOutletTemplateRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritablePowerOutletTemplateRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritablePowerOutletTemplateRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritablePowerOutletTemplateRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritablePowerOutletTemplateRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritablePowerOutletTemplateRequest" + } + } + ] } } }, @@ -78298,12 +79144,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritablePowerOutletRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritablePowerOutletRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritablePowerOutletRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritablePowerOutletRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritablePowerOutletRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritablePowerOutletRequest" + } + } + ] } } }, @@ -79654,12 +80520,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PowerPanelRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/PowerPanelRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/PowerPanelRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/PowerPanelRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/PowerPanelRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/PowerPanelRequest" + } + } + ] } } }, @@ -81075,12 +81961,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritablePowerPortTemplateRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritablePowerPortTemplateRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritablePowerPortTemplateRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritablePowerPortTemplateRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritablePowerPortTemplateRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritablePowerPortTemplateRequest" + } + } + ] } } }, @@ -83374,12 +84280,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritablePowerPortRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritablePowerPortRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritablePowerPortRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritablePowerPortRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritablePowerPortRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritablePowerPortRequest" + } + } + ] } } }, @@ -84919,12 +85845,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableRackReservationRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableRackReservationRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableRackReservationRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableRackReservationRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableRackReservationRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableRackReservationRequest" + } + } + ] } } }, @@ -86289,12 +87235,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/RackRoleRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/RackRoleRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/RackRoleRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/RackRoleRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/RackRoleRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/RackRoleRequest" + } + } + ] } } }, @@ -88608,12 +89574,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableRackTypeRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableRackTypeRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableRackTypeRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableRackTypeRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableRackTypeRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableRackTypeRequest" + } + } + ] } } }, @@ -91900,12 +92886,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableRackRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableRackRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableRackRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableRackRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableRackRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableRackRequest" + } + } + ] } } }, @@ -93675,12 +94681,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableRearPortTemplateRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableRearPortTemplateRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableRearPortTemplateRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableRearPortTemplateRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableRearPortTemplateRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableRearPortTemplateRequest" + } + } + ] } } }, @@ -96009,12 +97035,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableRearPortRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableRearPortRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableRearPortRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableRearPortRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableRearPortRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableRearPortRequest" + } + } + ] } } }, @@ -97446,12 +98492,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableRegionRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableRegionRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableRegionRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableRegionRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableRegionRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableRegionRequest" + } + } + ] } } }, @@ -98843,12 +99909,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableSiteGroupRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableSiteGroupRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableSiteGroupRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableSiteGroupRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableSiteGroupRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableSiteGroupRequest" + } + } + ] } } }, @@ -101022,12 +102108,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableSiteRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableSiteRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableSiteRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableSiteRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableSiteRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableSiteRequest" + } + } + ] } } }, @@ -102582,12 +103688,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableVirtualChassisRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableVirtualChassisRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableVirtualChassisRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableVirtualChassisRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableVirtualChassisRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableVirtualChassisRequest" + } + } + ] } } }, @@ -104190,12 +105316,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableVirtualDeviceContextRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableVirtualDeviceContextRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableVirtualDeviceContextRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableVirtualDeviceContextRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableVirtualDeviceContextRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableVirtualDeviceContextRequest" + } + } + ] } } }, @@ -104944,12 +106090,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/BookmarkRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/BookmarkRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/BookmarkRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/BookmarkRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/BookmarkRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/BookmarkRequest" + } + } + ] } } }, @@ -106160,12 +107326,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ConfigContextProfileRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ConfigContextProfileRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConfigContextProfileRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/ConfigContextProfileRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ConfigContextProfileRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConfigContextProfileRequest" + } + } + ] } } }, @@ -108153,12 +109339,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ConfigContextRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ConfigContextRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConfigContextRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/ConfigContextRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ConfigContextRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConfigContextRequest" + } + } + ] } } }, @@ -109884,12 +111090,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ConfigTemplateRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ConfigTemplateRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConfigTemplateRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/ConfigTemplateRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ConfigTemplateRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConfigTemplateRequest" + } + } + ] } } }, @@ -111064,12 +112290,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableCustomFieldChoiceSetRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableCustomFieldChoiceSetRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableCustomFieldChoiceSetRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableCustomFieldChoiceSetRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableCustomFieldChoiceSetRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableCustomFieldChoiceSetRequest" + } + } + ] } } }, @@ -113351,12 +114597,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableCustomFieldRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableCustomFieldRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableCustomFieldRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableCustomFieldRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableCustomFieldRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableCustomFieldRequest" + } + } + ] } } }, @@ -114772,12 +116038,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CustomLinkRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/CustomLinkRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomLinkRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/CustomLinkRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/CustomLinkRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomLinkRequest" + } + } + ] } } }, @@ -116366,12 +117652,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableEventRuleRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableEventRuleRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableEventRuleRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableEventRuleRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableEventRuleRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableEventRuleRequest" + } + } + ] } } }, @@ -118102,12 +119408,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ExportTemplateRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ExportTemplateRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ExportTemplateRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/ExportTemplateRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ExportTemplateRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ExportTemplateRequest" + } + } + ] } } }, @@ -119460,12 +120786,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ImageAttachmentRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ImageAttachmentRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ImageAttachmentRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/ImageAttachmentRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ImageAttachmentRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ImageAttachmentRequest" + } + } + ] } } }, @@ -120491,12 +121837,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableJournalEntryRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableJournalEntryRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableJournalEntryRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableJournalEntryRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableJournalEntryRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableJournalEntryRequest" + } + } + ] } } }, @@ -120910,12 +122276,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/NotificationGroupRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/NotificationGroupRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/NotificationGroupRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/NotificationGroupRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/NotificationGroupRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/NotificationGroupRequest" + } + } + ] } } }, @@ -121329,12 +122715,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/NotificationRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/NotificationRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/NotificationRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/NotificationRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/NotificationRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/NotificationRequest" + } + } + ] } } }, @@ -123275,12 +124681,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SavedFilterRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/SavedFilterRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/SavedFilterRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/SavedFilterRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/SavedFilterRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/SavedFilterRequest" + } + } + ] } } }, @@ -124232,12 +125658,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SubscriptionRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/SubscriptionRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/SubscriptionRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/SubscriptionRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/SubscriptionRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/SubscriptionRequest" + } + } + ] } } }, @@ -125601,12 +127047,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TableConfigRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/TableConfigRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/TableConfigRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/TableConfigRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/TableConfigRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/TableConfigRequest" + } + } + ] } } }, @@ -127432,12 +128898,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TagRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/TagRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/TagRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/TagRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/TagRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/TagRequest" + } + } + ] } } }, @@ -129135,12 +130621,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WebhookRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WebhookRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WebhookRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WebhookRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WebhookRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WebhookRequest" + } + } + ] } } }, @@ -130382,12 +131888,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableAggregateRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableAggregateRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableAggregateRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableAggregateRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableAggregateRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableAggregateRequest" + } + } + ] } } }, @@ -131925,12 +133451,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ASNRangeRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ASNRangeRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ASNRangeRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/ASNRangeRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ASNRangeRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ASNRangeRequest" + } + } + ] } } }, @@ -133336,12 +134882,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ASNRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ASNRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ASNRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/ASNRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ASNRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ASNRequest" + } + } + ] } } }, @@ -134306,12 +135872,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FHRPGroupAssignmentRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/FHRPGroupAssignmentRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/FHRPGroupAssignmentRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/FHRPGroupAssignmentRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/FHRPGroupAssignmentRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/FHRPGroupAssignmentRequest" + } + } + ] } } }, @@ -135972,12 +137558,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/FHRPGroupRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/FHRPGroupRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/FHRPGroupRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/FHRPGroupRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/FHRPGroupRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/FHRPGroupRequest" + } + } + ] } } }, @@ -138057,12 +139663,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableIPAddressRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableIPAddressRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableIPAddressRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableIPAddressRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableIPAddressRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableIPAddressRequest" + } + } + ] } } }, @@ -139589,12 +141215,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableIPRangeRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableIPRangeRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableIPRangeRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableIPRangeRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableIPRangeRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableIPRangeRequest" + } + } + ] } } }, @@ -141785,12 +143431,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritablePrefixRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritablePrefixRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritablePrefixRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritablePrefixRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritablePrefixRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritablePrefixRequest" + } + } + ] } } }, @@ -143217,12 +144883,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/RIRRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/RIRRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/RIRRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/RIRRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/RIRRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/RIRRequest" + } + } + ] } } }, @@ -144521,12 +146207,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/RoleRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/RoleRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/RoleRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/RoleRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/RoleRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/RoleRequest" + } + } + ] } } }, @@ -145923,12 +147629,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/RouteTargetRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/RouteTargetRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/RouteTargetRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/RouteTargetRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/RouteTargetRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/RouteTargetRequest" + } + } + ] } } }, @@ -147054,12 +148780,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableServiceTemplateRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableServiceTemplateRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableServiceTemplateRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableServiceTemplateRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableServiceTemplateRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableServiceTemplateRequest" + } + } + ] } } }, @@ -148487,12 +150233,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableServiceRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableServiceRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableServiceRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableServiceRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableServiceRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableServiceRequest" + } + } + ] } } }, @@ -149963,12 +151729,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/VLANGroupRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/VLANGroupRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/VLANGroupRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/VLANGroupRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/VLANGroupRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/VLANGroupRequest" + } + } + ] } } }, @@ -151134,12 +152920,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/VLANTranslationPolicyRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/VLANTranslationPolicyRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/VLANTranslationPolicyRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/VLANTranslationPolicyRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/VLANTranslationPolicyRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/VLANTranslationPolicyRequest" + } + } + ] } } }, @@ -152273,12 +154079,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/VLANTranslationRuleRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/VLANTranslationRuleRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/VLANTranslationRuleRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/VLANTranslationRuleRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/VLANTranslationRuleRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/VLANTranslationRuleRequest" + } + } + ] } } }, @@ -154374,12 +156200,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableVLANRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableVLANRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableVLANRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableVLANRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableVLANRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableVLANRequest" + } + } + ] } } }, @@ -155806,12 +157652,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/VRFRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/VRFRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/VRFRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/VRFRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/VRFRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/VRFRequest" + } + } + ] } } }, @@ -156943,12 +158809,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableContactAssignmentRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableContactAssignmentRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableContactAssignmentRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableContactAssignmentRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableContactAssignmentRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableContactAssignmentRequest" + } + } + ] } } }, @@ -158290,12 +160176,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableContactGroupRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableContactGroupRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableContactGroupRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableContactGroupRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableContactGroupRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableContactGroupRequest" + } + } + ] } } }, @@ -159509,12 +161415,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ContactRoleRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ContactRoleRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ContactRoleRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/ContactRoleRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ContactRoleRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ContactRoleRequest" + } + } + ] } } }, @@ -161380,12 +163306,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ContactRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ContactRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ContactRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/ContactRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ContactRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ContactRequest" + } + } + ] } } }, @@ -162701,12 +164647,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableTenantGroupRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableTenantGroupRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableTenantGroupRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableTenantGroupRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableTenantGroupRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableTenantGroupRequest" + } + } + ] } } }, @@ -164044,12 +166010,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TenantRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/TenantRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/TenantRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/TenantRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/TenantRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/TenantRequest" + } + } + ] } } }, @@ -164966,12 +166952,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/GroupRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/GroupRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/GroupRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/GroupRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupRequest" + } + } + ] } } }, @@ -166051,12 +168057,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ObjectPermissionRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectPermissionRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPermissionRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/ObjectPermissionRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectPermissionRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ObjectPermissionRequest" + } + } + ] } } }, @@ -167057,12 +169083,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TokenRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/TokenRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/TokenRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/TokenRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/TokenRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/TokenRequest" + } + } + ] } } }, @@ -168523,12 +170569,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/UserRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/UserRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/UserRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/UserRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/UserRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/UserRequest" + } + } + ] } } }, @@ -169818,12 +171884,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ClusterGroupRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ClusterGroupRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ClusterGroupRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/ClusterGroupRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ClusterGroupRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ClusterGroupRequest" + } + } + ] } } }, @@ -171037,12 +173123,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ClusterTypeRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ClusterTypeRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ClusterTypeRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/ClusterTypeRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/ClusterTypeRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/ClusterTypeRequest" + } + } + ] } } }, @@ -172847,12 +174953,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableClusterRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableClusterRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableClusterRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableClusterRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableClusterRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableClusterRequest" + } + } + ] } } }, @@ -174731,12 +176857,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableVMInterfaceRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableVMInterfaceRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableVMInterfaceRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableVMInterfaceRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableVMInterfaceRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableVMInterfaceRequest" + } + } + ] } } }, @@ -175936,12 +178082,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/VirtualDiskRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/VirtualDiskRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/VirtualDiskRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/VirtualDiskRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/VirtualDiskRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/VirtualDiskRequest" + } + } + ] } } }, @@ -178673,12 +180839,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableVirtualMachineWithConfigContextRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableVirtualMachineWithConfigContextRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableVirtualMachineWithConfigContextRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableVirtualMachineWithConfigContextRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableVirtualMachineWithConfigContextRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableVirtualMachineWithConfigContextRequest" + } + } + ] } } }, @@ -180275,12 +182461,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableIKEPolicyRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableIKEPolicyRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableIKEPolicyRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableIKEPolicyRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableIKEPolicyRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableIKEPolicyRequest" + } + } + ] } } }, @@ -182149,12 +184355,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableIKEProposalRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableIKEProposalRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableIKEProposalRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableIKEProposalRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableIKEProposalRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableIKEProposalRequest" + } + } + ] } } }, @@ -183445,12 +185671,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableIPSecPolicyRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableIPSecPolicyRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableIPSecPolicyRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableIPSecPolicyRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableIPSecPolicyRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableIPSecPolicyRequest" + } + } + ] } } }, @@ -184780,12 +187026,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableIPSecProfileRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableIPSecProfileRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableIPSecProfileRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableIPSecProfileRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableIPSecProfileRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableIPSecProfileRequest" + } + } + ] } } }, @@ -186444,12 +188710,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableIPSecProposalRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableIPSecProposalRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableIPSecProposalRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableIPSecProposalRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableIPSecProposalRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableIPSecProposalRequest" + } + } + ] } } }, @@ -187729,12 +190015,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/L2VPNTerminationRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/L2VPNTerminationRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/L2VPNTerminationRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/L2VPNTerminationRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/L2VPNTerminationRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/L2VPNTerminationRequest" + } + } + ] } } }, @@ -189641,12 +191947,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableL2VPNRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableL2VPNRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableL2VPNRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableL2VPNRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableL2VPNRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableL2VPNRequest" + } + } + ] } } }, @@ -190936,12 +193262,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TunnelGroupRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/TunnelGroupRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/TunnelGroupRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/TunnelGroupRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/TunnelGroupRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/TunnelGroupRequest" + } + } + ] } } }, @@ -192146,12 +194492,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableTunnelTerminationRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableTunnelTerminationRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableTunnelTerminationRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableTunnelTerminationRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableTunnelTerminationRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableTunnelTerminationRequest" + } + } + ] } } }, @@ -193911,12 +196277,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableTunnelRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableTunnelRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableTunnelRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableTunnelRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableTunnelRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableTunnelRequest" + } + } + ] } } }, @@ -195228,12 +197614,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableWirelessLANGroupRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableWirelessLANGroupRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableWirelessLANGroupRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableWirelessLANGroupRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableWirelessLANGroupRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableWirelessLANGroupRequest" + } + } + ] } } }, @@ -197479,12 +199885,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableWirelessLANRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableWirelessLANRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableWirelessLANRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableWirelessLANRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableWirelessLANRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableWirelessLANRequest" + } + } + ] } } }, @@ -199486,12 +201912,32 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/WritableWirelessLinkRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableWirelessLinkRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableWirelessLinkRequest" + } + } + ] } }, "multipart/form-data": { "schema": { - "$ref": "#/components/schemas/WritableWirelessLinkRequest" + "oneOf": [ + { + "$ref": "#/components/schemas/WritableWirelessLinkRequest" + }, + { + "type": "array", + "items": { + "$ref": "#/components/schemas/WritableWirelessLinkRequest" + } + } + ] } } }, @@ -205023,6 +207469,15 @@ "dac-active", "dac-passive", "coaxial", + "rg-6", + "rg-8", + "rg-11", + "rg-59", + "rg-62", + "rg-213", + "lmr-100", + "lmr-200", + "lmr-400", "mmf", "mmf-om1", "mmf-om2", @@ -205039,8 +207494,8 @@ null ], "type": "string", - "description": "* `cat3` - CAT3\n* `cat5` - CAT5\n* `cat5e` - CAT5e\n* `cat6` - CAT6\n* `cat6a` - CAT6a\n* `cat7` - CAT7\n* `cat7a` - CAT7a\n* `cat8` - CAT8\n* `mrj21-trunk` - MRJ21 Trunk\n* `dac-active` - Direct Attach Copper (Active)\n* `dac-passive` - Direct Attach Copper (Passive)\n* `coaxial` - Coaxial\n* `mmf` - Multimode Fiber\n* `mmf-om1` - Multimode Fiber (OM1)\n* `mmf-om2` - Multimode Fiber (OM2)\n* `mmf-om3` - Multimode Fiber (OM3)\n* `mmf-om4` - Multimode Fiber (OM4)\n* `mmf-om5` - Multimode Fiber (OM5)\n* `smf` - Single-mode Fiber\n* `smf-os1` - Single-mode Fiber (OS1)\n* `smf-os2` - Single-mode Fiber (OS2)\n* `aoc` - Active Optical Cabling (AOC)\n* `power` - Power\n* `usb` - USB", - "x-spec-enum-id": "c731f2793fceac04", + "description": "* `cat3` - CAT3\n* `cat5` - CAT5\n* `cat5e` - CAT5e\n* `cat6` - CAT6\n* `cat6a` - CAT6a\n* `cat7` - CAT7\n* `cat7a` - CAT7a\n* `cat8` - CAT8\n* `mrj21-trunk` - MRJ21 Trunk\n* `dac-active` - Direct Attach Copper (Active)\n* `dac-passive` - Direct Attach Copper (Passive)\n* `coaxial` - Coaxial\n* `rg-6` - RG-6\n* `rg-8` - RG-8\n* `rg-11` - RG-11\n* `rg-59` - RG-59\n* `rg-62` - RG-62\n* `rg-213` - RG-213\n* `lmr-100` - LMR-100\n* `lmr-200` - LMR-200\n* `lmr-400` - LMR-400\n* `mmf` - Multimode Fiber\n* `mmf-om1` - Multimode Fiber (OM1)\n* `mmf-om2` - Multimode Fiber (OM2)\n* `mmf-om3` - Multimode Fiber (OM3)\n* `mmf-om4` - Multimode Fiber (OM4)\n* `mmf-om5` - Multimode Fiber (OM5)\n* `smf` - Single-mode Fiber\n* `smf-os1` - Single-mode Fiber (OS1)\n* `smf-os2` - Single-mode Fiber (OS2)\n* `aoc` - Active Optical Cabling (AOC)\n* `power` - Power\n* `usb` - USB", + "x-spec-enum-id": "8d6d8ba53d82f066", "nullable": true }, "a_terminations": { @@ -205193,6 +207648,15 @@ "dac-active", "dac-passive", "coaxial", + "rg-6", + "rg-8", + "rg-11", + "rg-59", + "rg-62", + "rg-213", + "lmr-100", + "lmr-200", + "lmr-400", "mmf", "mmf-om1", "mmf-om2", @@ -205209,8 +207673,8 @@ null ], "type": "string", - "description": "* `cat3` - CAT3\n* `cat5` - CAT5\n* `cat5e` - CAT5e\n* `cat6` - CAT6\n* `cat6a` - CAT6a\n* `cat7` - CAT7\n* `cat7a` - CAT7a\n* `cat8` - CAT8\n* `mrj21-trunk` - MRJ21 Trunk\n* `dac-active` - Direct Attach Copper (Active)\n* `dac-passive` - Direct Attach Copper (Passive)\n* `coaxial` - Coaxial\n* `mmf` - Multimode Fiber\n* `mmf-om1` - Multimode Fiber (OM1)\n* `mmf-om2` - Multimode Fiber (OM2)\n* `mmf-om3` - Multimode Fiber (OM3)\n* `mmf-om4` - Multimode Fiber (OM4)\n* `mmf-om5` - Multimode Fiber (OM5)\n* `smf` - Single-mode Fiber\n* `smf-os1` - Single-mode Fiber (OS1)\n* `smf-os2` - Single-mode Fiber (OS2)\n* `aoc` - Active Optical Cabling (AOC)\n* `power` - Power\n* `usb` - USB", - "x-spec-enum-id": "c731f2793fceac04", + "description": "* `cat3` - CAT3\n* `cat5` - CAT5\n* `cat5e` - CAT5e\n* `cat6` - CAT6\n* `cat6a` - CAT6a\n* `cat7` - CAT7\n* `cat7a` - CAT7a\n* `cat8` - CAT8\n* `mrj21-trunk` - MRJ21 Trunk\n* `dac-active` - Direct Attach Copper (Active)\n* `dac-passive` - Direct Attach Copper (Passive)\n* `coaxial` - Coaxial\n* `rg-6` - RG-6\n* `rg-8` - RG-8\n* `rg-11` - RG-11\n* `rg-59` - RG-59\n* `rg-62` - RG-62\n* `rg-213` - RG-213\n* `lmr-100` - LMR-100\n* `lmr-200` - LMR-200\n* `lmr-400` - LMR-400\n* `mmf` - Multimode Fiber\n* `mmf-om1` - Multimode Fiber (OM1)\n* `mmf-om2` - Multimode Fiber (OM2)\n* `mmf-om3` - Multimode Fiber (OM3)\n* `mmf-om4` - Multimode Fiber (OM4)\n* `mmf-om5` - Multimode Fiber (OM5)\n* `smf` - Single-mode Fiber\n* `smf-os1` - Single-mode Fiber (OS1)\n* `smf-os2` - Single-mode Fiber (OS2)\n* `aoc` - Active Optical Cabling (AOC)\n* `power` - Power\n* `usb` - USB", + "x-spec-enum-id": "8d6d8ba53d82f066", "nullable": true }, "a_terminations": { @@ -219171,6 +221635,10 @@ "format": "int64", "nullable": true }, + "object": { + "nullable": true, + "readOnly": true + }, "name": { "type": "string", "maxLength": 200 @@ -219264,6 +221732,7 @@ "id", "job_id", "name", + "object", "object_type", "status", "url", @@ -229004,6 +231473,7 @@ }, "key": { "type": "string", + "writeOnly": true, "maxLength": 40, "minLength": 40 }, @@ -229509,6 +231979,15 @@ "dac-active", "dac-passive", "coaxial", + "rg-6", + "rg-8", + "rg-11", + "rg-59", + "rg-62", + "rg-213", + "lmr-100", + "lmr-200", + "lmr-400", "mmf", "mmf-om1", "mmf-om2", @@ -229525,8 +232004,8 @@ null ], "type": "string", - "description": "* `cat3` - CAT3\n* `cat5` - CAT5\n* `cat5e` - CAT5e\n* `cat6` - CAT6\n* `cat6a` - CAT6a\n* `cat7` - CAT7\n* `cat7a` - CAT7a\n* `cat8` - CAT8\n* `mrj21-trunk` - MRJ21 Trunk\n* `dac-active` - Direct Attach Copper (Active)\n* `dac-passive` - Direct Attach Copper (Passive)\n* `coaxial` - Coaxial\n* `mmf` - Multimode Fiber\n* `mmf-om1` - Multimode Fiber (OM1)\n* `mmf-om2` - Multimode Fiber (OM2)\n* `mmf-om3` - Multimode Fiber (OM3)\n* `mmf-om4` - Multimode Fiber (OM4)\n* `mmf-om5` - Multimode Fiber (OM5)\n* `smf` - Single-mode Fiber\n* `smf-os1` - Single-mode Fiber (OS1)\n* `smf-os2` - Single-mode Fiber (OS2)\n* `aoc` - Active Optical Cabling (AOC)\n* `power` - Power\n* `usb` - USB", - "x-spec-enum-id": "c731f2793fceac04", + "description": "* `cat3` - CAT3\n* `cat5` - CAT5\n* `cat5e` - CAT5e\n* `cat6` - CAT6\n* `cat6a` - CAT6a\n* `cat7` - CAT7\n* `cat7a` - CAT7a\n* `cat8` - CAT8\n* `mrj21-trunk` - MRJ21 Trunk\n* `dac-active` - Direct Attach Copper (Active)\n* `dac-passive` - Direct Attach Copper (Passive)\n* `coaxial` - Coaxial\n* `rg-6` - RG-6\n* `rg-8` - RG-8\n* `rg-11` - RG-11\n* `rg-59` - RG-59\n* `rg-62` - RG-62\n* `rg-213` - RG-213\n* `lmr-100` - LMR-100\n* `lmr-200` - LMR-200\n* `lmr-400` - LMR-400\n* `mmf` - Multimode Fiber\n* `mmf-om1` - Multimode Fiber (OM1)\n* `mmf-om2` - Multimode Fiber (OM2)\n* `mmf-om3` - Multimode Fiber (OM3)\n* `mmf-om4` - Multimode Fiber (OM4)\n* `mmf-om5` - Multimode Fiber (OM5)\n* `smf` - Single-mode Fiber\n* `smf-os1` - Single-mode Fiber (OS1)\n* `smf-os2` - Single-mode Fiber (OS2)\n* `aoc` - Active Optical Cabling (AOC)\n* `power` - Power\n* `usb` - USB", + "x-spec-enum-id": "8d6d8ba53d82f066", "nullable": true }, "a_terminations": { @@ -245238,11 +247717,6 @@ "format": "date-time", "nullable": true }, - "key": { - "type": "string", - "maxLength": 40, - "minLength": 40 - }, "write_enabled": { "type": "boolean", "description": "Permit create/update/delete operations using this key" @@ -245389,6 +247863,7 @@ }, "key": { "type": "string", + "writeOnly": true, "maxLength": 40, "minLength": 40 }, @@ -249743,6 +252218,15 @@ "dac-active", "dac-passive", "coaxial", + "rg-6", + "rg-8", + "rg-11", + "rg-59", + "rg-62", + "rg-213", + "lmr-100", + "lmr-200", + "lmr-400", "mmf", "mmf-om1", "mmf-om2", @@ -249759,8 +252243,8 @@ null ], "type": "string", - "description": "* `cat3` - CAT3\n* `cat5` - CAT5\n* `cat5e` - CAT5e\n* `cat6` - CAT6\n* `cat6a` - CAT6a\n* `cat7` - CAT7\n* `cat7a` - CAT7a\n* `cat8` - CAT8\n* `mrj21-trunk` - MRJ21 Trunk\n* `dac-active` - Direct Attach Copper (Active)\n* `dac-passive` - Direct Attach Copper (Passive)\n* `coaxial` - Coaxial\n* `mmf` - Multimode Fiber\n* `mmf-om1` - Multimode Fiber (OM1)\n* `mmf-om2` - Multimode Fiber (OM2)\n* `mmf-om3` - Multimode Fiber (OM3)\n* `mmf-om4` - Multimode Fiber (OM4)\n* `mmf-om5` - Multimode Fiber (OM5)\n* `smf` - Single-mode Fiber\n* `smf-os1` - Single-mode Fiber (OS1)\n* `smf-os2` - Single-mode Fiber (OS2)\n* `aoc` - Active Optical Cabling (AOC)\n* `power` - Power\n* `usb` - USB", - "x-spec-enum-id": "c731f2793fceac04", + "description": "* `cat3` - CAT3\n* `cat5` - CAT5\n* `cat5e` - CAT5e\n* `cat6` - CAT6\n* `cat6a` - CAT6a\n* `cat7` - CAT7\n* `cat7a` - CAT7a\n* `cat8` - CAT8\n* `mrj21-trunk` - MRJ21 Trunk\n* `dac-active` - Direct Attach Copper (Active)\n* `dac-passive` - Direct Attach Copper (Passive)\n* `coaxial` - Coaxial\n* `rg-6` - RG-6\n* `rg-8` - RG-8\n* `rg-11` - RG-11\n* `rg-59` - RG-59\n* `rg-62` - RG-62\n* `rg-213` - RG-213\n* `lmr-100` - LMR-100\n* `lmr-200` - LMR-200\n* `lmr-400` - LMR-400\n* `mmf` - Multimode Fiber\n* `mmf-om1` - Multimode Fiber (OM1)\n* `mmf-om2` - Multimode Fiber (OM2)\n* `mmf-om3` - Multimode Fiber (OM3)\n* `mmf-om4` - Multimode Fiber (OM4)\n* `mmf-om5` - Multimode Fiber (OM5)\n* `smf` - Single-mode Fiber\n* `smf-os1` - Single-mode Fiber (OS1)\n* `smf-os2` - Single-mode Fiber (OS2)\n* `aoc` - Active Optical Cabling (AOC)\n* `power` - Power\n* `usb` - USB", + "x-spec-enum-id": "8d6d8ba53d82f066", "nullable": true }, "a_terminations": { diff --git a/netbox/core/api/schema.py b/netbox/core/api/schema.py index c61675cf380..879712162b0 100644 --- a/netbox/core/api/schema.py +++ b/netbox/core/api/schema.py @@ -12,6 +12,7 @@ from netbox.api.fields import ChoiceField from netbox.api.serializers import WritableNestedSerializer +from netbox.api.viewsets import NetBoxModelViewSet # see netbox.api.routers.NetBoxRouter BULK_ACTIONS = ("bulk_destroy", "bulk_partial_update", "bulk_update") @@ -49,6 +50,11 @@ def map_serializer_field(self, auto_schema, direction): ) +def viewset_handles_bulk_create(view): + """Check if view automatically provides list-based bulk create""" + return isinstance(view, NetBoxModelViewSet) + + class NetBoxAutoSchema(AutoSchema): """ Overrides to drf_spectacular.openapi.AutoSchema to fix following issues: @@ -128,6 +134,36 @@ def get_response_serializers(self) -> typing.Any: return response_serializers + def _get_request_for_media_type(self, serializer, direction='request'): + """ + Override to generate oneOf schema for serializers that support both + single object and array input (NetBoxModelViewSet POST operations). + + Refs: #20638 + """ + # Get the standard schema first + schema, required = super()._get_request_for_media_type(serializer, direction) + + # If this serializer supports arrays (marked in get_request_serializer), + # wrap the schema in oneOf to allow single object OR array + if ( + direction == 'request' and + schema is not None and + getattr(self.view, 'action', None) == 'create' and + viewset_handles_bulk_create(self.view) + ): + return { + 'oneOf': [ + schema, # Single object + { + 'type': 'array', + 'items': schema, # Array of objects + } + ] + }, required + + return schema, required + def _get_serializer_name(self, serializer, direction, bypass_extensions=False) -> str: name = super()._get_serializer_name(serializer, direction, bypass_extensions) diff --git a/netbox/core/tests/test_openapi_schema.py b/netbox/core/tests/test_openapi_schema.py new file mode 100644 index 00000000000..7fbe5662a2e --- /dev/null +++ b/netbox/core/tests/test_openapi_schema.py @@ -0,0 +1,108 @@ +""" +Unit tests for OpenAPI schema generation. + +Refs: #20638 +""" +import json +from django.test import TestCase + + +class OpenAPISchemaTestCase(TestCase): + """Tests for OpenAPI schema generation.""" + + def setUp(self): + """Fetch schema via API endpoint.""" + response = self.client.get('/api/schema/', {'format': 'json'}) + self.assertEqual(response.status_code, 200) + self.schema = json.loads(response.content) + + def test_post_operation_documents_single_or_array(self): + """ + POST operations on NetBoxModelViewSet endpoints should document + support for both single objects and arrays via oneOf. + + Refs: #20638 + """ + # Test representative endpoints across different apps + test_paths = [ + '/api/core/data-sources/', + '/api/dcim/sites/', + '/api/users/users/', + '/api/ipam/ip-addresses/', + ] + + for path in test_paths: + with self.subTest(path=path): + operation = self.schema['paths'][path]['post'] + + # Get the request body schema + request_schema = operation['requestBody']['content']['application/json']['schema'] + + # Should have oneOf with two options + self.assertIn('oneOf', request_schema, f"POST {path} should have oneOf schema") + self.assertEqual( + len(request_schema['oneOf']), 2, + f"POST {path} oneOf should have exactly 2 options" + ) + + # First option: single object (has $ref or properties) + single_schema = request_schema['oneOf'][0] + self.assertTrue( + '$ref' in single_schema or 'properties' in single_schema, + f"POST {path} first oneOf option should be single object" + ) + + # Second option: array of objects + array_schema = request_schema['oneOf'][1] + self.assertEqual( + array_schema['type'], 'array', + f"POST {path} second oneOf option should be array" + ) + self.assertIn('items', array_schema, f"POST {path} array should have items") + + def test_bulk_update_operations_require_array_only(self): + """ + Bulk update/patch operations should require arrays only, not oneOf. + They don't support single object input. + + Refs: #20638 + """ + test_paths = [ + '/api/dcim/sites/', + '/api/users/users/', + ] + + for path in test_paths: + for method in ['put', 'patch']: + with self.subTest(path=path, method=method): + operation = self.schema['paths'][path][method] + request_schema = operation['requestBody']['content']['application/json']['schema'] + + # Should be array-only, not oneOf + self.assertNotIn( + 'oneOf', request_schema, + f"{method.upper()} {path} should NOT have oneOf (array-only)" + ) + self.assertEqual( + request_schema['type'], 'array', + f"{method.upper()} {path} should require array" + ) + self.assertIn( + 'items', request_schema, + f"{method.upper()} {path} array should have items" + ) + + def test_bulk_delete_requires_array(self): + """ + Bulk delete operations should require arrays. + + Refs: #20638 + """ + path = '/api/dcim/sites/' + operation = self.schema['paths'][path]['delete'] + request_schema = operation['requestBody']['content']['application/json']['schema'] + + # Should be array-only + self.assertNotIn('oneOf', request_schema, "DELETE should NOT have oneOf") + self.assertEqual(request_schema['type'], 'array', "DELETE should require array") + self.assertIn('items', request_schema, "DELETE array should have items") diff --git a/netbox/netbox/api/viewsets/__init__.py b/netbox/netbox/api/viewsets/__init__.py index 6241be4cd0f..287399e0b7b 100644 --- a/netbox/netbox/api/viewsets/__init__.py +++ b/netbox/netbox/api/viewsets/__init__.py @@ -128,6 +128,10 @@ def get_queryset(self): qs = super().get_queryset() return reapply_model_ordering(qs) + # Declare that this viewset accepts either single objects or arrays for creation + # Refs: #20638 + bulk_create_enabled = True + def get_serializer(self, *args, **kwargs): # If a list of objects has been provided, initialize the serializer with many=True if isinstance(kwargs.get('data', {}), list):