diff --git a/katapult-core-openapi.json b/katapult-core-openapi.json index 93514115..b9f22522 100644 --- a/katapult-core-openapi.json +++ b/katapult-core-openapi.json @@ -1,7 +1,7 @@ { "openapi": "3.0.0", "info": { - "x-katapult-version": "2.60.0", + "x-katapult-version": "2.62.1", "version": "1.0.0", "title": "Katapult Core API", "description": "Welcome to the documentation for the Katapult Core API" @@ -64,7 +64,7 @@ "type": "string" } }, - "description": "An array of annotations to filter by. \n\n All 'annotations[]' params are mutually exclusive, only one can be provided. \n\n All `annotations[]` params should have the same amount of elements." + "description": "An array of annotations to filter by. \n\n All `annotations[]` params should have the same amount of elements." }, { "in": "query", @@ -75,7 +75,7 @@ "type": "string" } }, - "description": "An array of annotations to filter by. \n\n All 'annotations[]' params are mutually exclusive, only one can be provided. \n\n All `annotations[]` params should have the same amount of elements." + "description": "An array of annotations to filter by. \n\n All `annotations[]` params should have the same amount of elements." }, { "name": "page", @@ -493,36 +493,128 @@ } } }, - "/address_lists/address_list/entries": { + "/organizations/organization/object_storage/object_storage_cluster/access_keys": { + "post": { + "operationId": "post:organization_object_storage_object_storage_cluster_access_keys", + "summary": "Create object storage access key", + "description": "Create a new access key in an object storage account\n## Scopes\n- `object_storage`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "tags": [ + "Access keys" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/object_storage" + ] + }, + { + "Authenticator": [ + "object_storage" + ] + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "organization": { + "$ref": "#/components/schemas/OrganizationLookup" + }, + "object_storage_cluster": { + "$ref": "#/components/schemas/ObjectStorageClusterLookup" + }, + "properties": { + "$ref": "#/components/schemas/ObjectStorageAccessKeyArguments" + } + }, + "required": [ + "organization", + "object_storage_cluster", + "properties" + ] + } + } + } + }, + "responses": { + "201": { + "description": "Create a new access key in an object storage account", + "content": { + "application/json": { + "schema": { + "properties": { + "object_storage_access_key": { + "$ref": "#/components/schemas/ObjectStorageAccessKey" + } + }, + "required": [ + "object_storage_access_key" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/ObjectStorageAccountNotProvisionedOrganizationSuspendedPermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/ObjectStorageAccountNotFoundObjectStorageClusterNotFoundOrganizationNotFound404Res" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + } + }, + "/organizations/organization/object_storage/access_keys": { "get": { - "operationId": "get:address_list_entries", - "summary": "List address list entries", - "description": "Returns a list of all address list entries for a given address list\n## Scopes\n- `address_lists`\n- `address_lists:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:organization_object_storage_access_keys", + "summary": "List object storage access keys", + "description": "Returns a list of all object storage access keys for a given organization\n## Scopes\n- `object_storage`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Address list entries" + "Access keys" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/address_lists", - "api.katapult.io/core/v1/address_lists:read" + "api.katapult.io/core/v1/object_storage" ] }, { "Authenticator": [ - "address_lists", - "address_lists:read" + "object_storage" ] } ], "parameters": [ { "in": "query", - "name": "address_list[id]", + "name": "organization[id]", + "schema": { + "type": "string" + }, + "description": "The organization to return access keys for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." + }, + { + "in": "query", + "name": "organization[sub_domain]", "schema": { "type": "string" }, - "description": "The address list for which the entries should be returned. \n\n All 'address_list[]' params are mutually exclusive, only one can be provided." + "description": "The organization to return access keys for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." }, { "name": "page", @@ -547,7 +639,7 @@ ], "responses": { "200": { - "description": "Returns a list of all address list entries for a given address list", + "description": "Returns a list of all object storage access keys for a given organization", "content": { "application/json": { "schema": { @@ -555,17 +647,17 @@ "pagination": { "$ref": "#/components/schemas/PaginationObject" }, - "address_list_entries": { + "object_storage_access_keys": { "type": "array", "items": { - "$ref": "#/components/schemas/AddressListEntry" + "$ref": "#/components/schemas/ObjectStorageAccessKey" }, - "description": "A list of all address list entries for the given address list." + "description": "The object storage access keys for the organization" } }, "required": [ "pagination", - "address_list_entries" + "object_storage_access_keys" ] } } @@ -575,10 +667,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/AddressListNotFoundResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -587,23 +679,25 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, + } + }, + "/object_storage/access_keys/access_key/generate_credentials": { "post": { - "operationId": "post:address_list_entries", - "summary": "Create address list entry", - "description": "Create a new address list entry for a given address list.\n## Scopes\n- `address_lists`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "post:object_storage_access_key_generate_credentials", + "summary": "Generate object storage S3 access key credentials", + "description": "Returns new S3 credentials for an object storage access key. Existing credentials cannot be retrieved. Credentials may take a few minutes to become active.\n## Scopes\n- `object_storage`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Address list entries" + "Access keys" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/address_lists" + "api.katapult.io/core/v1/object_storage" ] }, { "Authenticator": [ - "address_lists" + "object_storage" ] } ], @@ -612,39 +706,35 @@ "application/json": { "schema": { "properties": { - "address_list": { - "$ref": "#/components/schemas/AddressListLookup" - }, - "properties": { - "$ref": "#/components/schemas/AddressListEntryArguments" + "access_key": { + "$ref": "#/components/schemas/ObjectStorageAccessKeyLookup" } }, "required": [ - "address_list", - "properties" + "access_key" ] } } } }, "responses": { - "201": { - "description": "Create a new address list entry for a given address list.", + "200": { + "description": "Returns new S3 credentials for an object storage access key. Existing credentials cannot be retrieved. Credentials may take a few minutes to become active.", "content": { "application/json": { "schema": { "properties": { - "address_list_entry": { - "description": "The address list entry.", + "object_storage_access_key": { + "description": "The object storage access key with newly generated credentials", "allOf": [ { - "$ref": "#/components/schemas/AddressListEntry" + "$ref": "#/components/schemas/ObjectStorageAccessKey" } ] } }, "required": [ - "address_list_entry" + "object_storage_access_key" ] } } @@ -657,10 +747,13 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/AddressListNotFoundResponse" + "$ref": "#/components/responses/ObjectStorageAccessKeyNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/TaskQueueingErrorResponse" }, "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/ObjectStorageProvisioningErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -671,56 +764,49 @@ } } }, - "/address_list_entries/address_list_entry": { + "/object_storage/access_keys/access_key": { "get": { - "operationId": "get:address_list_entry", - "summary": "Get address list entry", - "description": "Returns details for an address list entry.\n## Scopes\n- `address_lists`\n- `address_lists:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:object_storage_access_key", + "summary": "Get object storage access key details", + "description": "Returns object storage access key details.\n## Scopes\n- `object_storage`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Address list entries" + "Access keys" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/address_lists", - "api.katapult.io/core/v1/address_lists:read" + "api.katapult.io/core/v1/object_storage" ] }, { "Authenticator": [ - "address_lists", - "address_lists:read" + "object_storage" ] } ], "parameters": [ { "in": "query", - "name": "address_list_entry[id]", + "name": "access_key[id]", "schema": { "type": "string" }, - "description": "The address list entry to return. \n\n All 'address_list_entry[]' params are mutually exclusive, only one can be provided." + "description": "The object storage access key to find." } ], "responses": { "200": { - "description": "Returns details for an address list entry.", + "description": "Returns object storage access key details.", "content": { "application/json": { "schema": { "properties": { - "address_list_entry": { - "description": "The address list entry.", - "allOf": [ - { - "$ref": "#/components/schemas/AddressListEntry" - } - ] + "object_storage_access_key": { + "$ref": "#/components/schemas/ObjectStorageAccessKey" } }, "required": [ - "address_list_entry" + "object_storage_access_key" ] } } @@ -730,10 +816,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/AddressListEntryNotFoundResponse" + "$ref": "#/components/responses/ObjectStorageAccessKeyNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -744,21 +830,21 @@ } }, "patch": { - "operationId": "patch:address_list_entry", - "summary": "Update address list entry", - "description": "Update an address list entry with new properties.\n## Scopes\n- `address_lists`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "patch:object_storage_access_key", + "summary": "Update object storage access key", + "description": "Updates an object storage access key with new properties\n## Scopes\n- `object_storage`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Address list entries" + "Access keys" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/address_lists" + "api.katapult.io/core/v1/object_storage" ] }, { "Authenticator": [ - "address_lists" + "object_storage" ] } ], @@ -767,15 +853,15 @@ "application/json": { "schema": { "properties": { - "address_list_entry": { - "$ref": "#/components/schemas/AddressListEntryLookup" + "access_key": { + "$ref": "#/components/schemas/ObjectStorageAccessKeyLookup" }, "properties": { - "$ref": "#/components/schemas/AddressListEntryArguments" + "$ref": "#/components/schemas/ObjectStorageAccessKeyArguments" } }, "required": [ - "address_list_entry", + "access_key", "properties" ] } @@ -784,22 +870,22 @@ }, "responses": { "200": { - "description": "Update an address list entry with new properties.", + "description": "Updates an object storage access key with new properties", "content": { "application/json": { "schema": { "properties": { - "address_list_entry": { - "description": "The address list entry.", + "object_storage_access_key": { + "description": "The new properties for the object storage access key", "allOf": [ { - "$ref": "#/components/schemas/AddressListEntry" + "$ref": "#/components/schemas/ObjectStorageAccessKey" } ] } }, "required": [ - "address_list_entry" + "object_storage_access_key" ] } } @@ -812,10 +898,13 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/AddressListEntryNotFoundResponse" + "$ref": "#/components/responses/ObjectStorageAccessKeyNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/TaskQueueingErrorResponse" }, "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/ObjectStorageProvisioningErrorValidationError422Res" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -826,21 +915,21 @@ } }, "delete": { - "operationId": "delete:address_list_entry", - "summary": "Delete address list entry", - "description": "Delete an address list entry.\n## Scopes\n- `address_lists`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "delete:object_storage_access_key", + "summary": "Delete object storage access key", + "description": "Delete an object storage access key\n## Scopes\n- `object_storage`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Address list entries" + "Access keys" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/address_lists" + "api.katapult.io/core/v1/object_storage" ] }, { "Authenticator": [ - "address_lists" + "object_storage" ] } ], @@ -849,12 +938,12 @@ "application/json": { "schema": { "properties": { - "address_list_entry": { - "$ref": "#/components/schemas/AddressListEntryLookup" + "access_key": { + "$ref": "#/components/schemas/ObjectStorageAccessKeyLookup" } }, "required": [ - "address_list_entry" + "access_key" ] } } @@ -862,22 +951,17 @@ }, "responses": { "200": { - "description": "Delete an address list entry.", + "description": "Delete an object storage access key", "content": { "application/json": { "schema": { "properties": { - "address_list_entry": { - "description": "The address list entry that has been destroyed.", - "allOf": [ - { - "$ref": "#/components/schemas/AddressListEntry" - } - ] + "success": { + "type": "boolean" } }, "required": [ - "address_list_entry" + "success" ] } } @@ -890,244 +974,50 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/AddressListEntryNotFoundResponse" + "$ref": "#/components/responses/ObjectStorageAccessKeyNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, "503": { "$ref": "#/components/responses/APIAuthenticator503Response" + }, + "504": { + "$ref": "#/components/responses/NetworkErrorResponse" } } } }, - "/address_lists/address_list/entries/bulk": { - "post": { - "operationId": "post:address_list_entries_bulk", - "summary": "Bulk change address list entries", - "description": "Create or delete multiple address list entries for a given address list.\n## Scopes\n- `address_lists`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "/address_lists/address_list/entries": { + "get": { + "operationId": "get:address_list_entries", + "summary": "List address list entries", + "description": "Returns a list of all address list entries for a given address list\n## Scopes\n- `address_lists`\n- `address_lists:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ "Address list entries" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/address_lists" + "api.katapult.io/core/v1/address_lists", + "api.katapult.io/core/v1/address_lists:read" ] }, { "Authenticator": [ - "address_lists" - ] - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "address_list": { - "$ref": "#/components/schemas/AddressListLookup" - }, - "add": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AddressListEntryArguments" - } - }, - "remove": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AddressListEntryArguments" - } - } - }, - "required": [ - "address_list" - ] - } - } - } - }, - "responses": { - "200": { - "description": "Create or delete multiple address list entries for a given address list.", - "content": { - "application/json": { - "schema": { - "properties": { - - } - } - } - } - }, - "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" - }, - "403": { - "$ref": "#/components/responses/PermissionDenied403Res" - }, - "404": { - "$ref": "#/components/responses/AddressListNotFoundResponse" - }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" - }, - "429": { - "$ref": "#/components/responses/APIAuthenticator429Response" - }, - "503": { - "$ref": "#/components/responses/APIAuthenticator503Response" - } - } - } - }, - "/address_lists": { - "get": { - "operationId": "get:address_lists", - "summary": "List global address lists", - "description": "Returns a list of all global address lists.\n## Scopes\n- `address_lists`\n- `address_lists:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", - "tags": [ - "Address lists" - ], - "security": [ - { - "OAuth2": [ - "api.katapult.io/core/v1/address_lists", - "api.katapult.io/core/v1/address_lists:read" - ] - }, - { - "Authenticator": [ - "address_lists", - "address_lists:read" - ] - } - ], - "parameters": [ - { - "name": "page", - "in": "query", - "schema": { - "type": "integer", - "default": 1, - "minimum": 1 - }, - "description": "The page number to request. If not provided, the first page will be returned." - }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer", - "default": 30, - "minimum": 1 - }, - "description": "The number of items to return per page. If not provided, the default value will be used." - } - ], - "responses": { - "200": { - "description": "Returns a list of all global address lists.", - "content": { - "application/json": { - "schema": { - "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "address_lists": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetAddressLists200ResponseAddressLists" - }, - "description": "A list of all global address lists." - } - }, - "required": [ - "pagination", - "address_lists" - ] - } - } - } - }, - "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" - }, - "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" - }, - "429": { - "$ref": "#/components/responses/APIAuthenticator429Response" - }, - "503": { - "$ref": "#/components/responses/APIAuthenticator503Response" - } - } - } - }, - "/organizations/organization/address_lists": { - "get": { - "operationId": "get:organization_address_lists", - "summary": "List address lists", - "description": "Returns a list of all address lists for a given organization\n## Scopes\n- `address_lists`\n- `address_lists:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", - "tags": [ - "Address lists" - ], - "security": [ - { - "OAuth2": [ - "api.katapult.io/core/v1/address_lists", - "api.katapult.io/core/v1/address_lists:read" - ] - }, - { - "Authenticator": [ - "address_lists", - "address_lists:read" + "address_lists", + "address_lists:read" ] } ], "parameters": [ { "in": "query", - "name": "organization[id]", - "schema": { - "type": "string" - }, - "description": "The organization for which the address lists should be returned. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "in": "query", - "name": "organization[sub_domain]", + "name": "address_list[id]", "schema": { "type": "string" }, - "description": "The organization for which the address lists should be returned. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "in": "query", - "name": "annotations[][key]", - "schema": { - "type": "array", - "items": { - "type": "string" - } - }, - "description": "An array of annotations to filter by. \n\n All 'annotations[]' params are mutually exclusive, only one can be provided. \n\n All `annotations[]` params should have the same amount of elements." - }, - { - "in": "query", - "name": "annotations[][value]", - "schema": { - "type": "array", - "items": { - "type": "string" - } - }, - "description": "An array of annotations to filter by. \n\n All 'annotations[]' params are mutually exclusive, only one can be provided. \n\n All `annotations[]` params should have the same amount of elements." + "description": "The address list for which the entries should be returned." }, { "name": "page", @@ -1152,7 +1042,7 @@ ], "responses": { "200": { - "description": "Returns a list of all address lists for a given organization", + "description": "Returns a list of all address list entries for a given address list", "content": { "application/json": { "schema": { @@ -1160,17 +1050,17 @@ "pagination": { "$ref": "#/components/schemas/PaginationObject" }, - "address_lists": { + "address_list_entries": { "type": "array", "items": { - "$ref": "#/components/schemas/GetOrganizationAddressLists200ResponseAddressLists" + "$ref": "#/components/schemas/AddressListEntry" }, - "description": "A list of all address lists for the given organization." + "description": "A list of all address list entries for the given address list." } }, "required": [ "pagination", - "address_lists" + "address_list_entries" ] } } @@ -1180,10 +1070,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/AddressListNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -1194,11 +1084,11 @@ } }, "post": { - "operationId": "post:organization_address_lists", - "summary": "Create address list", - "description": "Create a new address list for a given organization.\n## Scopes\n- `address_lists`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "post:address_list_entries", + "summary": "Create address list entry", + "description": "Create a new address list entry for a given address list.\n## Scopes\n- `address_lists`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Address lists" + "Address list entries" ], "security": [ { @@ -1217,21 +1107,15 @@ "application/json": { "schema": { "properties": { - "organization": { - "$ref": "#/components/schemas/OrganizationLookup" + "address_list": { + "$ref": "#/components/schemas/AddressListLookup" }, "properties": { - "$ref": "#/components/schemas/AddressListArguments" - }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } + "$ref": "#/components/schemas/AddressListEntryArguments" } }, "required": [ - "organization", + "address_list", "properties" ] } @@ -1240,29 +1124,22 @@ }, "responses": { "201": { - "description": "Create a new address list for a given organization.", + "description": "Create a new address list entry for a given address list.", "content": { "application/json": { "schema": { "properties": { - "address_list": { - "description": "The address list.", + "address_list_entry": { + "description": "The address list entry.", "allOf": [ { - "$ref": "#/components/schemas/AddressList" + "$ref": "#/components/schemas/AddressListEntry" } ] - }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } } }, "required": [ - "address_list", - "annotations" + "address_list_entry" ] } } @@ -1272,10 +1149,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/AddressListNotFoundResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -1289,13 +1166,13 @@ } } }, - "/address_lists/address_list": { + "/address_list_entries/address_list_entry": { "get": { - "operationId": "get:address_list", - "summary": "Get address list", - "description": "Returns details for a address list.\n## Scopes\n- `address_lists`\n- `address_lists:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:address_list_entry", + "summary": "Get address list entry", + "description": "Returns details for an address list entry.\n## Scopes\n- `address_lists`\n- `address_lists:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Address lists" + "Address list entries" ], "security": [ { @@ -1314,38 +1191,31 @@ "parameters": [ { "in": "query", - "name": "address_list[id]", + "name": "address_list_entry[id]", "schema": { "type": "string" }, - "description": "The address list to return. \n\n All 'address_list[]' params are mutually exclusive, only one can be provided." + "description": "The address list entry to return." } ], "responses": { "200": { - "description": "Returns details for a address list.", + "description": "Returns details for an address list entry.", "content": { "application/json": { "schema": { "properties": { - "address_list": { - "description": "The address list.", + "address_list_entry": { + "description": "The address list entry.", "allOf": [ { - "$ref": "#/components/schemas/AddressList" + "$ref": "#/components/schemas/AddressListEntry" } ] - }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } } }, "required": [ - "address_list", - "annotations" + "address_list_entry" ] } } @@ -1358,7 +1228,7 @@ "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/AddressListNotFoundResponse" + "$ref": "#/components/responses/AddressListEntryNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -1369,11 +1239,11 @@ } }, "patch": { - "operationId": "patch:address_list", - "summary": "Update address list", - "description": "Update a address list with new properties.\n## Scopes\n- `address_lists`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "patch:address_list_entry", + "summary": "Update address list entry", + "description": "Update an address list entry with new properties.\n## Scopes\n- `address_lists`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Address lists" + "Address list entries" ], "security": [ { @@ -1392,21 +1262,15 @@ "application/json": { "schema": { "properties": { - "address_list": { - "$ref": "#/components/schemas/AddressListLookup" + "address_list_entry": { + "$ref": "#/components/schemas/AddressListEntryLookup" }, "properties": { - "$ref": "#/components/schemas/AddressListArguments" - }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } + "$ref": "#/components/schemas/AddressListEntryArguments" } }, "required": [ - "address_list", + "address_list_entry", "properties" ] } @@ -1415,29 +1279,22 @@ }, "responses": { "200": { - "description": "Update a address list with new properties.", + "description": "Update an address list entry with new properties.", "content": { "application/json": { "schema": { "properties": { - "address_list": { - "description": "The address list.", + "address_list_entry": { + "description": "The address list entry.", "allOf": [ { - "$ref": "#/components/schemas/AddressList" + "$ref": "#/components/schemas/AddressListEntry" } ] - }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } } }, "required": [ - "address_list", - "annotations" + "address_list_entry" ] } } @@ -1450,7 +1307,7 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/AddressListNotFoundResponse" + "$ref": "#/components/responses/AddressListEntryNotFoundResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -1464,11 +1321,11 @@ } }, "delete": { - "operationId": "delete:address_list", - "summary": "Delete address list", - "description": "Delete a address list.\n## Scopes\n- `address_lists`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "delete:address_list_entry", + "summary": "Delete address list entry", + "description": "Delete an address list entry.\n## Scopes\n- `address_lists`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Address lists" + "Address list entries" ], "security": [ { @@ -1487,12 +1344,12 @@ "application/json": { "schema": { "properties": { - "address_list": { - "$ref": "#/components/schemas/AddressListLookup" + "address_list_entry": { + "$ref": "#/components/schemas/AddressListEntryLookup" } }, "required": [ - "address_list" + "address_list_entry" ] } } @@ -1500,22 +1357,22 @@ }, "responses": { "200": { - "description": "Delete a address list.", + "description": "Delete an address list entry.", "content": { "application/json": { "schema": { "properties": { - "address_list": { - "description": "The address list that has been destroyed.", + "address_list_entry": { + "description": "The address list entry that has been destroyed.", "allOf": [ { - "$ref": "#/components/schemas/AddressList" + "$ref": "#/components/schemas/AddressListEntry" } ] } }, "required": [ - "address_list" + "address_list_entry" ] } } @@ -1528,7 +1385,7 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/AddressListNotFoundResponse" + "$ref": "#/components/responses/AddressListEntryNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -1539,23 +1396,23 @@ } } }, - "/organizations/organization/object_storage/object_storage_cluster/buckets": { + "/address_lists/address_list/entries/bulk": { "post": { - "operationId": "post:organization_object_storage_object_storage_cluster_buckets", - "summary": "Create object storage bucket", - "description": "Create a new bucket in an object storage account\n## Scopes\n- `object_storage`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "post:address_list_entries_bulk", + "summary": "Bulk change address list entries", + "description": "Create or delete multiple address list entries for a given address list.\n## Scopes\n- `address_lists`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Buckets" + "Address list entries" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/object_storage" + "api.katapult.io/core/v1/address_lists" ] }, { "Authenticator": [ - "object_storage" + "address_lists" ] } ], @@ -1564,39 +1421,38 @@ "application/json": { "schema": { "properties": { - "organization": { - "$ref": "#/components/schemas/OrganizationLookup" + "address_list": { + "$ref": "#/components/schemas/AddressListLookup" }, - "object_storage_cluster": { - "$ref": "#/components/schemas/ObjectStorageClusterLookup" + "add": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AddressListEntryArguments" + } }, - "properties": { - "$ref": "#/components/schemas/ObjectStorageBucketArguments" + "remove": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AddressListEntryArguments" + } } }, "required": [ - "organization", - "object_storage_cluster", - "properties" + "address_list" ] } } } }, "responses": { - "201": { - "description": "Create a new bucket in an object storage account", + "200": { + "description": "Create or delete multiple address list entries for a given address list.", "content": { "application/json": { "schema": { "properties": { - "object_storage_bucket": { - "$ref": "#/components/schemas/ObjectStorageBucket" - } - }, - "required": [ - "object_storage_bucket" - ] + + } } } } @@ -1605,13 +1461,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/ObjectStorageAccountNotProvisionedOrganizationSuspendedPermissionDenied403Res" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/ObjectStorageAccountNotFoundObjectStorageClusterNotFoundOrganizationNotFound404Res" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "$ref": "#/components/responses/AddressListNotFoundResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -1625,63 +1478,71 @@ } } }, - "/object_storage/object_storage_cluster/buckets/bucket": { - "patch": { - "operationId": "patch:object_storage_object_storage_cluster_bucket", - "summary": "Update object storage bucket", - "description": "Configure an object storage bucket with new properties\n## Scopes\n- `object_storage`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "/address_lists": { + "get": { + "operationId": "get:address_lists", + "summary": "List global address lists", + "description": "Returns a list of all global address lists.\n## Scopes\n- `address_lists`\n- `address_lists:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Buckets" + "Address lists" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/object_storage" + "api.katapult.io/core/v1/address_lists", + "api.katapult.io/core/v1/address_lists:read" ] }, { "Authenticator": [ - "object_storage" + "address_lists", + "address_lists:read" ] } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "object_storage_cluster": { - "$ref": "#/components/schemas/ObjectStorageClusterLookup" - }, - "bucket": { - "$ref": "#/components/schemas/ObjectStorageBucketLookup" - }, - "properties": { - "$ref": "#/components/schemas/ObjectStorageBucketArguments" - } - }, - "required": [ - "object_storage_cluster", - "bucket", - "properties" - ] - } - } + "parameters": [ + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "default": 1, + "minimum": 1 + }, + "description": "The page number to request. If not provided, the first page will be returned." + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer", + "default": 30, + "minimum": 1 + }, + "description": "The number of items to return per page. If not provided, the default value will be used." } - }, + ], "responses": { "200": { - "description": "Configure an object storage bucket with new properties", + "description": "Returns a list of all global address lists.", "content": { "application/json": { "schema": { "properties": { - "object_storage_bucket": { - "$ref": "#/components/schemas/ObjectStorageBucket" + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "address_lists": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetAddressLists200ResponseAddressLists" + }, + "description": "A list of all global address lists." } }, "required": [ - "object_storage_bucket" + "pagination", + "address_lists" ] } } @@ -1691,161 +1552,120 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" - }, - "404": { - "$ref": "#/components/responses/ObjectStorageBucketNotFoundObjectStorageClusterNotFound404Res" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" - }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, - "500": { - "$ref": "#/components/responses/MultipleObjectStorageBucketsFoundResponse" - }, "503": { "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, - "delete": { - "operationId": "delete:object_storage_object_storage_cluster_bucket", - "summary": "Delete object storage bucket", - "description": "Delete an object storage bucket\n## Scopes\n- `object_storage`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + } + }, + "/organizations/organization/address_lists": { + "get": { + "operationId": "get:organization_address_lists", + "summary": "List address lists", + "description": "Returns a list of all address lists for a given organization\n## Scopes\n- `address_lists`\n- `address_lists:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Buckets" + "Address lists" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/object_storage" + "api.katapult.io/core/v1/address_lists", + "api.katapult.io/core/v1/address_lists:read" ] }, { "Authenticator": [ - "object_storage" + "address_lists", + "address_lists:read" ] } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "object_storage_cluster": { - "$ref": "#/components/schemas/ObjectStorageClusterLookup" - }, - "bucket": { - "$ref": "#/components/schemas/ObjectStorageBucketLookup" - } - }, - "required": [ - "object_storage_cluster", - "bucket" - ] - } - } - } - }, - "responses": { - "200": { - "description": "Delete an object storage bucket", - "content": { - "application/json": { - "schema": { - "properties": { - "success": { - "type": "boolean" - } - }, - "required": [ - "success" - ] - } - } - } - }, - "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" - }, - "403": { - "$ref": "#/components/responses/ObjectStorageBucketDeletionErrorPermissionDenied403Res" - }, - "404": { - "$ref": "#/components/responses/ObjectStorageBucketNotFoundObjectStorageClusterNotFound404Res" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" - }, - "429": { - "$ref": "#/components/responses/APIAuthenticator429Response" - }, - "500": { - "$ref": "#/components/responses/MultipleObjectStorageBucketsFoundResponse" + "parameters": [ + { + "in": "query", + "name": "organization[id]", + "schema": { + "type": "string" + }, + "description": "The organization for which the address lists should be returned. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." }, - "503": { - "$ref": "#/components/responses/APIAuthenticator503Response" + { + "in": "query", + "name": "organization[sub_domain]", + "schema": { + "type": "string" + }, + "description": "The organization for which the address lists should be returned. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." }, - "504": { - "$ref": "#/components/responses/NetworkErrorResponse" - } - } - }, - "get": { - "operationId": "get:object_storage_object_storage_cluster_bucket", - "summary": "Get an object storage bucket", - "description": "Returns object storage bucket details\n## Scopes\n- `object_storage:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", - "tags": [ - "Buckets" - ], - "security": [ { - "OAuth2": [ - "api.katapult.io/core/v1/object_storage:read" - ] + "in": "query", + "name": "annotations[][key]", + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "An array of annotations to filter by. \n\n All `annotations[]` params should have the same amount of elements." }, { - "Authenticator": [ - "object_storage:read" - ] - } - ], - "parameters": [ + "in": "query", + "name": "annotations[][value]", + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "An array of annotations to filter by. \n\n All `annotations[]` params should have the same amount of elements." + }, { + "name": "page", "in": "query", - "name": "object_storage_cluster[region]", "schema": { - "type": "string" + "type": "integer", + "default": 1, + "minimum": 1 }, - "description": "The object storage cluster region for the bucket. \n\n All 'object_storage_cluster[]' params are mutually exclusive, only one can be provided." + "description": "The page number to request. If not provided, the first page will be returned." }, { + "name": "per_page", "in": "query", - "name": "bucket[name]", "schema": { - "type": "string" + "type": "integer", + "default": 30, + "minimum": 1 }, - "description": "The name of the object storage bucket. \n\n All 'bucket[]' params are mutually exclusive, only one can be provided." + "description": "The number of items to return per page. If not provided, the default value will be used." } ], "responses": { "200": { - "description": "Returns object storage bucket details", + "description": "Returns a list of all address lists for a given organization", "content": { "application/json": { "schema": { "properties": { - "object_storage_bucket": { - "$ref": "#/components/schemas/ObjectStorageBucket" + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "address_lists": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetOrganizationAddressLists200ResponseAddressLists" + }, + "description": "A list of all address lists for the given organization." } }, "required": [ - "object_storage_bucket" + "pagination", + "address_lists" ] } } @@ -1855,43 +1675,35 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/ObjectStorageBucketNotFoundObjectStorageClusterNotFound404Res" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, - "500": { - "$ref": "#/components/responses/MultipleObjectStorageBucketsFoundResponse" - }, "503": { "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/object_storage/object_storage_cluster/buckets/bucket/revoke_presigned_urls": { + }, "post": { - "operationId": "post:object_storage_object_storage_cluster_bucket_revoke_presigned_urls", - "summary": "Revoke object storage bucket presigned URLs", - "description": "Revoke presigned URLs for all objects within an object storage bucket\n## Scopes\n- `object_storage`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "post:organization_address_lists", + "summary": "Create address list", + "description": "Create a new address list for a given organization.\n## Scopes\n- `address_lists`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Buckets" + "Address lists" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/object_storage" + "api.katapult.io/core/v1/address_lists" ] }, { "Authenticator": [ - "object_storage" + "address_lists" ] } ], @@ -1900,34 +1712,52 @@ "application/json": { "schema": { "properties": { - "object_storage_cluster": { - "$ref": "#/components/schemas/ObjectStorageClusterLookup" + "organization": { + "$ref": "#/components/schemas/OrganizationLookup" }, - "bucket": { - "$ref": "#/components/schemas/ObjectStorageBucketLookup" + "properties": { + "$ref": "#/components/schemas/AddressListArguments" + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } } }, "required": [ - "object_storage_cluster", - "bucket" + "organization", + "properties" ] } } } }, "responses": { - "200": { - "description": "Revoke presigned URLs for all objects within an object storage bucket", + "201": { + "description": "Create a new address list for a given organization.", "content": { "application/json": { "schema": { "properties": { - "success": { - "type": "boolean" + "address_list": { + "description": "The address list.", + "allOf": [ + { + "$ref": "#/components/schemas/AddressList" + } + ] + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } } }, "required": [ - "success" + "address_list", + "annotations" ] } } @@ -1937,90 +1767,80 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/ObjectStorageBucketNotFoundObjectStorageClusterNotFound404Res" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, - "500": { - "$ref": "#/components/responses/MultipleObjectStorageBucketsFoundResponse" - }, "503": { "$ref": "#/components/responses/APIAuthenticator503Response" - }, - "504": { - "$ref": "#/components/responses/NetworkErrorResponse" } } } }, - "/object_storage/object_storage_cluster/buckets/bucket/object": { + "/address_lists/address_list": { "get": { - "operationId": "get:object_storage_object_storage_cluster_bucket_object", - "summary": "Get an object storage object", - "description": "Returns object storage object details\n## Scopes\n- `object_storage:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:address_list", + "summary": "Get address list", + "description": "Returns details for a address list.\n## Scopes\n- `address_lists`\n- `address_lists:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Buckets" + "Address lists" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/object_storage:read" + "api.katapult.io/core/v1/address_lists", + "api.katapult.io/core/v1/address_lists:read" ] }, { "Authenticator": [ - "object_storage:read" + "address_lists", + "address_lists:read" ] } ], "parameters": [ { "in": "query", - "name": "object_storage_cluster[region]", - "schema": { - "type": "string" - }, - "description": "The object storage cluster region for the bucket. \n\n All 'object_storage_cluster[]' params are mutually exclusive, only one can be provided." - }, - { - "in": "query", - "name": "bucket[name]", + "name": "address_list[id]", "schema": { "type": "string" }, - "description": "The name of the object storage bucket. \n\n All 'bucket[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "path", - "in": "query", - "schema": { - "type": "string", - "description": "The name or path for the object" - }, - "description": "The name or path for the object", - "required": true + "description": "The address list to return." } ], "responses": { "200": { - "description": "Returns object storage object details", + "description": "Returns details for a address list.", "content": { "application/json": { "schema": { "properties": { - "object_details": { - "$ref": "#/components/schemas/ObjectStorageObject" + "address_list": { + "description": "The address list.", + "allOf": [ + { + "$ref": "#/components/schemas/AddressList" + } + ] + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } } }, "required": [ - "object_details" + "address_list", + "annotations" ] } } @@ -2030,46 +1850,35 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/ObjectNotFoundObjectStorageBucketNotFoundObjectStorageClusterNotFound404Res" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "$ref": "#/components/responses/AddressListNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, - "500": { - "$ref": "#/components/responses/MultipleObjectStorageBucketsFoundResponse" - }, "503": { "$ref": "#/components/responses/APIAuthenticator503Response" - }, - "504": { - "$ref": "#/components/responses/NetworkErrorResponse" } } - } - }, - "/object_storage/object_storage_cluster/buckets/bucket/presigned_url": { - "post": { - "operationId": "post:object_storage_object_storage_cluster_bucket_presigned_url", - "summary": "Create a presigned url for an object storage object", - "description": "Returns temporary url to download the object storage object\n## Scopes\n- `object_storage`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + }, + "patch": { + "operationId": "patch:address_list", + "summary": "Update address list", + "description": "Update a address list with new properties.\n## Scopes\n- `address_lists`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Buckets" + "Address lists" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/object_storage" + "api.katapult.io/core/v1/address_lists" ] }, { "Authenticator": [ - "object_storage" + "address_lists" ] } ], @@ -2078,24 +1887,21 @@ "application/json": { "schema": { "properties": { - "object_storage_cluster": { - "$ref": "#/components/schemas/ObjectStorageClusterLookup" - }, - "bucket": { - "$ref": "#/components/schemas/ObjectStorageBucketLookup" - }, - "path": { - "type": "string", - "description": "The name or path for the object" + "address_list": { + "$ref": "#/components/schemas/AddressListLookup" }, "properties": { - "$ref": "#/components/schemas/ObjectStorageObjectPresignedURLArguments" + "$ref": "#/components/schemas/AddressListArguments" + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } } }, "required": [ - "object_storage_cluster", - "bucket", - "path", + "address_list", "properties" ] } @@ -2104,17 +1910,29 @@ }, "responses": { "200": { - "description": "Returns temporary url to download the object storage object", + "description": "Update a address list with new properties.", "content": { "application/json": { "schema": { "properties": { - "url": { - "type": "string" + "address_list": { + "description": "The address list.", + "allOf": [ + { + "$ref": "#/components/schemas/AddressList" + } + ] + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } } }, "required": [ - "url" + "address_list", + "annotations" ] } } @@ -2127,10 +1945,7 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/ObjectStorageBucketNotFoundObjectStorageClusterNotFound404Res" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "$ref": "#/components/responses/AddressListNotFoundResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -2138,35 +1953,27 @@ "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, - "500": { - "$ref": "#/components/responses/MultipleObjectStorageBucketsFoundResponse" - }, "503": { "$ref": "#/components/responses/APIAuthenticator503Response" - }, - "504": { - "$ref": "#/components/responses/NetworkErrorResponse" } } - } - }, - "/organizations/organization/virtual_machines/build": { - "post": { - "operationId": "post:organization_virtual_machines_build", - "summary": "Build virtual machine", - "description": "Builds a new virtual machine based on the arguments provided to this endpoint. Virtual machines will be built in the background. This task will return an task object that will allow you to monitor the build process using the appropriate API action. This action only offers a small subset of the full functionality needed when provisioning virtual machines - see the `build_from_spec` action for a full advanced virtual machine creation method.\n## Scopes\n- `virtual_machines`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + }, + "delete": { + "operationId": "delete:address_list", + "summary": "Delete address list", + "description": "Delete a address list.\n## Scopes\n- `address_lists`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Build" + "Address lists" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/virtual_machines" + "api.katapult.io/core/v1/address_lists" ] }, { "Authenticator": [ - "virtual_machines" + "address_lists" ] } ], @@ -2175,91 +1982,35 @@ "application/json": { "schema": { "properties": { - "organization": { - "$ref": "#/components/schemas/OrganizationLookup" - }, - "zone": { - "$ref": "#/components/schemas/ZoneLookup" - }, - "data_center": { - "$ref": "#/components/schemas/DataCenterLookup" - }, - "package": { - "$ref": "#/components/schemas/VirtualMachinePackageLookup" - }, - "disk_template": { - "$ref": "#/components/schemas/DiskTemplateLookup" - }, - "disk_template_options": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } - }, - "disks": { - "type": "array", - "items": { - "$ref": "#/components/schemas/VirtualMachineBuildDiskArguments" - } - }, - "network": { - "$ref": "#/components/schemas/NetworkLookup" - }, - "hostname": { - "type": "string" - }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } + "address_list": { + "$ref": "#/components/schemas/AddressListLookup" } }, "required": [ - "organization", - "package" + "address_list" ] } } } }, "responses": { - "201": { - "description": "Builds a new virtual machine based on the arguments provided to this endpoint. Virtual machines will be built in the background. This task will return an task object that will allow you to monitor the build process using the appropriate API action. This action only offers a small subset of the full functionality needed when provisioning virtual machines - see the `build_from_spec` action for a full advanced virtual machine creation method.", + "200": { + "description": "Delete a address list.", "content": { "application/json": { "schema": { "properties": { - "task": { - "$ref": "#/components/schemas/PostOrganizationVirtualMachinesBuild201ResponseTask" - }, - "build": { - "description": "Deprecated, please use \"virtual_machine_build\" instead", + "address_list": { + "description": "The address list that has been destroyed.", "allOf": [ { - "$ref": "#/components/schemas/PostOrganizationVirtualMachinesBuild201ResponseBuild" + "$ref": "#/components/schemas/AddressList" } ] - }, - "virtual_machine_build": { - "$ref": "#/components/schemas/PostOrganizationVirtualMachinesBuild201ResponseVirtualMachineBuild" - }, - "hostname": { - "type": "string" - }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } } }, "required": [ - "task", - "build", - "virtual_machine_build", - "hostname", - "annotations" + "address_list" ] } } @@ -2269,13 +2020,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedPermissionDeniedResourceCreationRestricted403Res" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/DataCenterNotFoundVirtualMachinePackageNotFoundZoneNotFound404Res" - }, - "422": { - "$ref": "#/components/responses/LocationRequiredOneSystemDiskRequiredValidationError422Res" + "$ref": "#/components/responses/AddressListNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -2286,23 +2034,23 @@ } } }, - "/organizations/organization/virtual_machines/build_from_spec": { + "/organizations/organization/object_storage/object_storage_cluster/buckets": { "post": { - "operationId": "post:organization_virtual_machines_build_from_spec", - "summary": "Build virtual machine (from spec)", - "description": "Builds a new virtual machine by receiving a virtual machine spec document\n## Scopes\n- `virtual_machines`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "post:organization_object_storage_object_storage_cluster_buckets", + "summary": "Create object storage bucket", + "description": "Create a new bucket in an object storage account\n## Scopes\n- `object_storage`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Build" + "Buckets" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/virtual_machines" + "api.katapult.io/core/v1/object_storage" ] }, { "Authenticator": [ - "virtual_machines" + "object_storage" ] } ], @@ -2314,19 +2062,17 @@ "organization": { "$ref": "#/components/schemas/OrganizationLookup" }, - "xml": { - "type": "string" + "object_storage_cluster": { + "$ref": "#/components/schemas/ObjectStorageClusterLookup" }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } + "properties": { + "$ref": "#/components/schemas/ObjectStorageBucketArguments" } }, "required": [ "organization", - "xml" + "object_storage_cluster", + "properties" ] } } @@ -2334,54 +2080,33 @@ }, "responses": { "201": { - "description": "Builds a new virtual machine by receiving a virtual machine spec document", + "description": "Create a new bucket in an object storage account", "content": { "application/json": { "schema": { "properties": { - "task": { - "$ref": "#/components/schemas/PostOrganizationVirtualMachinesBuildFromSpec201ResponseTask" - }, - "build": { - "description": "Deprecated, please use \"virtual_machine_build\" instead", - "allOf": [ - { - "$ref": "#/components/schemas/PostOrganizationVirtualMachinesBuildFromSpec201ResponseBuild" - } - ] - }, - "virtual_machine_build": { - "$ref": "#/components/schemas/PostOrganizationVirtualMachinesBuildFromSpec201ResponseVirtualMachineBuild" - }, - "hostname": { - "type": "string" - }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } + "object_storage_bucket": { + "$ref": "#/components/schemas/ObjectStorageBucket" } }, "required": [ - "task", - "build", - "virtual_machine_build", - "hostname", - "annotations" + "object_storage_bucket" ] } } } }, "400": { - "$ref": "#/components/responses/InvalidSpecXML400Res" + "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + "$ref": "#/components/responses/ObjectStorageAccountNotProvisionedOrganizationSuspendedPermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/ObjectStorageAccountNotFoundObjectStorageClusterNotFoundOrganizationNotFound404Res" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -2395,58 +2120,63 @@ } } }, - "/virtual_machines/builds/virtual_machine_build": { - "get": { - "operationId": "get:virtual_machines_builds_virtual_machine_build", - "summary": "Get virtual machine build", - "description": "Return virtual machine build information\n## Scopes\n- `virtual_machines`\n- `virtual_machines:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "/object_storage/object_storage_cluster/buckets/bucket": { + "patch": { + "operationId": "patch:object_storage_object_storage_cluster_bucket", + "summary": "Update object storage bucket", + "description": "Configure an object storage bucket with new properties\n## Scopes\n- `object_storage`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Build" + "Buckets" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/virtual_machines", - "api.katapult.io/core/v1/virtual_machines:read" + "api.katapult.io/core/v1/object_storage" ] }, { "Authenticator": [ - "virtual_machines", - "virtual_machines:read" + "object_storage" ] } ], - "parameters": [ - { - "in": "query", - "name": "virtual_machine_build[id]", - "schema": { - "type": "string" - }, - "description": "All 'virtual_machine_build[]' params are mutually exclusive, only one can be provided." + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "object_storage_cluster": { + "$ref": "#/components/schemas/ObjectStorageClusterLookup" + }, + "bucket": { + "$ref": "#/components/schemas/ObjectStorageBucketLookup" + }, + "properties": { + "$ref": "#/components/schemas/ObjectStorageBucketArguments" + } + }, + "required": [ + "object_storage_cluster", + "bucket", + "properties" + ] + } + } } - ], + }, "responses": { "200": { - "description": "Return virtual machine build information", + "description": "Configure an object storage bucket with new properties", "content": { "application/json": { "schema": { "properties": { - "virtual_machine_build": { - "$ref": "#/components/schemas/GetVirtualMachinesBuildsVirtualMachineBuild200ResponseVirtualMachineBuild" - }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } + "object_storage_bucket": { + "$ref": "#/components/schemas/ObjectStorageBucket" } }, "required": [ - "virtual_machine_build", - "annotations" + "object_storage_bucket" ] } } @@ -2456,100 +2186,80 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/VirtualMachineBuildNotFoundResponse" + "$ref": "#/components/responses/ObjectStorageBucketNotFoundObjectStorageClusterNotFound404Res" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, + "500": { + "$ref": "#/components/responses/MultipleObjectStorageBucketsFoundResponse" + }, "503": { "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/organizations/organization/certificates": { - "get": { - "operationId": "get:organization_certificates", - "summary": "List certificates", - "description": "Provides a full list of certificates\n## Scopes\n- `certificates`\n- `certificates:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + }, + "delete": { + "operationId": "delete:object_storage_object_storage_cluster_bucket", + "summary": "Delete object storage bucket", + "description": "Delete an object storage bucket\n## Scopes\n- `object_storage`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Certificates" + "Buckets" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/certificates", - "api.katapult.io/core/v1/certificates:read" + "api.katapult.io/core/v1/object_storage" ] }, { "Authenticator": [ - "certificates", - "certificates:read" + "object_storage" ] } ], - "parameters": [ - { - "in": "query", - "name": "organization[id]", - "schema": { - "type": "string" - }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "in": "query", - "name": "organization[sub_domain]", - "schema": { - "type": "string" - }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer", - "default": 1, - "minimum": 1 - }, - "description": "The page number to request. If not provided, the first page will be returned." - }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer", - "default": 30, - "minimum": 1 - }, - "description": "The number of items to return per page. If not provided, the default value will be used." + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "object_storage_cluster": { + "$ref": "#/components/schemas/ObjectStorageClusterLookup" + }, + "bucket": { + "$ref": "#/components/schemas/ObjectStorageBucketLookup" + } + }, + "required": [ + "object_storage_cluster", + "bucket" + ] + } + } } - ], + }, "responses": { "200": { - "description": "Provides a full list of certificates", + "description": "Delete an object storage bucket", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "certificates": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetOrganizationCertificates200ResponseCertificates" - } + "success": { + "type": "boolean" } }, "required": [ - "pagination", - "certificates" + "success" ] } } @@ -2559,68 +2269,78 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" + "$ref": "#/components/responses/ObjectStorageBucketDeletionErrorPermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/ObjectStorageBucketNotFoundObjectStorageClusterNotFound404Res" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, + "500": { + "$ref": "#/components/responses/MultipleObjectStorageBucketsFoundResponse" + }, "503": { "$ref": "#/components/responses/APIAuthenticator503Response" + }, + "504": { + "$ref": "#/components/responses/NetworkErrorResponse" } } - } - }, - "/certificates/certificate": { + }, "get": { - "operationId": "get:certificate", - "summary": "Get certificate", - "description": "Return details for a specific certificate\n## Scopes\n- `certificates`\n- `certificates:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:object_storage_object_storage_cluster_bucket", + "summary": "Get an object storage bucket", + "description": "Returns object storage bucket details\n## Scopes\n- `object_storage:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Certificates" + "Buckets" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/certificates", - "api.katapult.io/core/v1/certificates:read" + "api.katapult.io/core/v1/object_storage:read" ] }, { "Authenticator": [ - "certificates", - "certificates:read" + "object_storage:read" ] } ], "parameters": [ { "in": "query", - "name": "certificate[id]", + "name": "object_storage_cluster[region]", + "schema": { + "type": "string" + }, + "description": "The object storage cluster region for the bucket." + }, + { + "in": "query", + "name": "bucket[name]", "schema": { "type": "string" }, - "description": "All 'certificate[]' params are mutually exclusive, only one can be provided." + "description": "The name of the object storage bucket." } ], "responses": { "200": { - "description": "Return details for a specific certificate", + "description": "Returns object storage bucket details", "content": { "application/json": { "schema": { "properties": { - "certificate": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Certificate" - } + "object_storage_bucket": { + "$ref": "#/components/schemas/ObjectStorageBucket" } }, "required": [ - "certificate" + "object_storage_bucket" ] } } @@ -2630,10 +2350,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/CertificateNotFoundResponse" + "$ref": "#/components/responses/ObjectStorageBucketNotFoundObjectStorageClusterNotFound404Res" }, "406": { "$ref": "#/components/responses/ObjectInTrashResponse" @@ -2641,31 +2361,32 @@ "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, + "500": { + "$ref": "#/components/responses/MultipleObjectStorageBucketsFoundResponse" + }, "503": { "$ref": "#/components/responses/APIAuthenticator503Response" } } } }, - "/virtual_machines/virtual_machine/console_sessions": { + "/object_storage/object_storage_cluster/buckets/bucket/revoke_presigned_urls": { "post": { - "operationId": "post:virtual_machine_console_sessions", - "summary": "Create console session", - "description": "Creates a new console session which can be opened in a browser\n## Scopes\n- `virtual_machines`\n- `virtual_machines:console`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "post:object_storage_object_storage_cluster_bucket_revoke_presigned_urls", + "summary": "Revoke object storage bucket presigned URLs", + "description": "Revoke presigned URLs for all objects within an object storage bucket\n## Scopes\n- `object_storage`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Console" + "Buckets" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/virtual_machines", - "api.katapult.io/core/v1/virtual_machines:console" + "api.katapult.io/core/v1/object_storage" ] }, { "Authenticator": [ - "virtual_machines", - "virtual_machines:console" + "object_storage" ] } ], @@ -2674,30 +2395,34 @@ "application/json": { "schema": { "properties": { - "virtual_machine": { - "$ref": "#/components/schemas/VirtualMachineLookup" + "object_storage_cluster": { + "$ref": "#/components/schemas/ObjectStorageClusterLookup" + }, + "bucket": { + "$ref": "#/components/schemas/ObjectStorageBucketLookup" } }, "required": [ - "virtual_machine" + "object_storage_cluster", + "bucket" ] } } } }, "responses": { - "201": { - "description": "Creates a new console session which can be opened in a browser", + "200": { + "description": "Revoke presigned URLs for all objects within an object storage bucket", "content": { "application/json": { "schema": { "properties": { - "console_session": { - "$ref": "#/components/schemas/PostVirtualMachineConsoleSessions201ResponseConsoleSession" + "success": { + "type": "boolean" } }, "required": [ - "console_session" + "success" ] } } @@ -2710,146 +2435,87 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/VirtualMachineNotFoundResponse" + "$ref": "#/components/responses/ObjectStorageBucketNotFoundObjectStorageClusterNotFound404Res" }, "406": { - "$ref": "#/components/responses/ObjectInTrashVirtualMachineMustBeStarted406Res" - }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/ObjectInTrashResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, + "500": { + "$ref": "#/components/responses/MultipleObjectStorageBucketsFoundResponse" + }, "503": { "$ref": "#/components/responses/APIAuthenticator503Response" + }, + "504": { + "$ref": "#/components/responses/NetworkErrorResponse" } } } }, - "/countries": { + "/object_storage/object_storage_cluster/buckets/bucket/object": { "get": { - "operationId": "get:countries", - "summary": "List countries", - "description": "Return a list of all countries available in Katapult", + "operationId": "get:object_storage_object_storage_cluster_bucket_object", + "summary": "Get an object storage object", + "description": "Returns object storage object details\n## Scopes\n- `object_storage:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Countries" + "Buckets" ], - "parameters": [ + "security": [ { - "name": "page", - "in": "query", - "schema": { - "type": "integer", - "default": 1, - "minimum": 1 - }, - "description": "The page number to request. If not provided, the first page will be returned." + "OAuth2": [ + "api.katapult.io/core/v1/object_storage:read" + ] }, { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer", - "default": 30, - "minimum": 1 - }, - "description": "The number of items to return per page. If not provided, the default value will be used." - } - ], - "responses": { - "200": { - "description": "Return a list of all countries available in Katapult", - "content": { - "application/json": { - "schema": { - "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "countries": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetCountries200ResponseCountries" - }, - "description": "The list of countries" - } - }, - "required": [ - "pagination", - "countries" - ] - } - } - } - }, - "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" - }, - "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" - }, - "429": { - "$ref": "#/components/responses/APIAuthenticator429Response" - }, - "503": { - "$ref": "#/components/responses/APIAuthenticator503Response" + "Authenticator": [ + "object_storage:read" + ] } - } - } - }, - "/countries/country": { - "get": { - "operationId": "get:country", - "summary": "Get country", - "description": "Return details for a specific country", - "tags": [ - "Countries" ], "parameters": [ { "in": "query", - "name": "country[id]", + "name": "object_storage_cluster[region]", "schema": { "type": "string" }, - "description": "The country to return. \n\n All 'country[]' params are mutually exclusive, only one can be provided." + "description": "The object storage cluster region for the bucket." }, { "in": "query", - "name": "country[iso_code2]", + "name": "bucket[name]", "schema": { "type": "string" }, - "description": "The country to return. \n\n All 'country[]' params are mutually exclusive, only one can be provided." + "description": "The name of the object storage bucket." }, { + "name": "path", "in": "query", - "name": "country[iso_code3]", "schema": { - "type": "string" + "type": "string", + "description": "The name or path for the object" }, - "description": "The country to return. \n\n All 'country[]' params are mutually exclusive, only one can be provided." + "description": "The name or path for the object", + "required": true } ], "responses": { "200": { - "description": "Return details for a specific country", + "description": "Returns object storage object details", "content": { "application/json": { "schema": { "properties": { - "country": { - "description": "The country details", - "allOf": [ - { - "$ref": "#/components/schemas/Country" - } - ] + "object_details": { + "$ref": "#/components/schemas/ObjectStorageObject" } }, "required": [ - "country" + "object_details" ] } } @@ -2859,95 +2525,91 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/CountryNotFoundResponse" + "$ref": "#/components/responses/ObjectNotFoundObjectStorageBucketNotFoundObjectStorageClusterNotFound404Res" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, + "500": { + "$ref": "#/components/responses/MultipleObjectStorageBucketsFoundResponse" + }, "503": { "$ref": "#/components/responses/APIAuthenticator503Response" + }, + "504": { + "$ref": "#/components/responses/NetworkErrorResponse" } } } }, - "/countries/country/country_states": { - "get": { - "operationId": "get:country_country_states", - "summary": "List country states", - "description": "Return a list of all country states for a specific country", + "/object_storage/object_storage_cluster/buckets/bucket/presigned_url": { + "post": { + "operationId": "post:object_storage_object_storage_cluster_bucket_presigned_url", + "summary": "Create a presigned url for an object storage object", + "description": "Returns temporary url to download the object storage object\n## Scopes\n- `object_storage`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Country states" + "Buckets" ], - "parameters": [ - { - "in": "query", - "name": "country[id]", - "schema": { - "type": "string" - }, - "description": "The country to return states for. \n\n All 'country[]' params are mutually exclusive, only one can be provided." - }, - { - "in": "query", - "name": "country[iso_code2]", - "schema": { - "type": "string" - }, - "description": "The country to return states for. \n\n All 'country[]' params are mutually exclusive, only one can be provided." - }, - { - "in": "query", - "name": "country[iso_code3]", - "schema": { - "type": "string" - }, - "description": "The country to return states for. \n\n All 'country[]' params are mutually exclusive, only one can be provided." - }, + "security": [ { - "name": "page", - "in": "query", - "schema": { - "type": "integer", - "default": 1, - "minimum": 1 - }, - "description": "The page number to request. If not provided, the first page will be returned." + "OAuth2": [ + "api.katapult.io/core/v1/object_storage" + ] }, { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer", - "default": 30, - "minimum": 1 - }, - "description": "The number of items to return per page. If not provided, the default value will be used." + "Authenticator": [ + "object_storage" + ] } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "object_storage_cluster": { + "$ref": "#/components/schemas/ObjectStorageClusterLookup" + }, + "bucket": { + "$ref": "#/components/schemas/ObjectStorageBucketLookup" + }, + "path": { + "type": "string", + "description": "The name or path for the object" + }, + "properties": { + "$ref": "#/components/schemas/ObjectStorageObjectPresignedURLArguments" + } + }, + "required": [ + "object_storage_cluster", + "bucket", + "path", + "properties" + ] + } + } + } + }, "responses": { "200": { - "description": "Return a list of all country states for a specific country", + "description": "Returns temporary url to download the object storage object", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "country_states": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetCountryCountryStates200ResponseCountryStates" - }, - "description": "The list of country states for the given country" + "url": { + "type": "string" } }, "required": [ - "pagination", - "country_states" + "url" ] } } @@ -2957,56 +2619,142 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/CountryNotFoundResponse" + "$ref": "#/components/responses/ObjectStorageBucketNotFoundObjectStorageClusterNotFound404Res" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, + "500": { + "$ref": "#/components/responses/MultipleObjectStorageBucketsFoundResponse" + }, "503": { "$ref": "#/components/responses/APIAuthenticator503Response" + }, + "504": { + "$ref": "#/components/responses/NetworkErrorResponse" } } } }, - "/country_states/country_state": { - "get": { - "operationId": "get:country_state", - "summary": "Get country state", - "description": "Return details for a specific country state", + "/organizations/organization/virtual_machines/build": { + "post": { + "operationId": "post:organization_virtual_machines_build", + "summary": "Build virtual machine", + "description": "Builds a new virtual machine based on the arguments provided to this endpoint. Virtual machines will be built in the background. This task will return an task object that will allow you to monitor the build process using the appropriate API action. This action only offers a small subset of the full functionality needed when provisioning virtual machines - see the `build_from_spec` action for a full advanced virtual machine creation method.\n## Scopes\n- `virtual_machines`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Country states" + "Build" ], - "parameters": [ + "security": [ { - "in": "query", - "name": "country_state[id]", - "schema": { - "type": "string" - }, - "description": "The country state to return. \n\n All 'country_state[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/virtual_machines" + ] + }, + { + "Authenticator": [ + "virtual_machines" + ] } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "organization": { + "$ref": "#/components/schemas/OrganizationLookup" + }, + "zone": { + "$ref": "#/components/schemas/ZoneLookup" + }, + "data_center": { + "$ref": "#/components/schemas/DataCenterLookup" + }, + "package": { + "$ref": "#/components/schemas/VirtualMachinePackageLookup" + }, + "disk_template": { + "$ref": "#/components/schemas/DiskTemplateLookup" + }, + "disk_template_options": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } + }, + "disks": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VirtualMachineBuildDiskArguments" + } + }, + "network": { + "$ref": "#/components/schemas/NetworkLookup" + }, + "hostname": { + "type": "string" + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } + } + }, + "required": [ + "organization", + "package" + ] + } + } + } + }, "responses": { - "200": { - "description": "Return details for a specific country state", + "201": { + "description": "Builds a new virtual machine based on the arguments provided to this endpoint. Virtual machines will be built in the background. This task will return an task object that will allow you to monitor the build process using the appropriate API action. This action only offers a small subset of the full functionality needed when provisioning virtual machines - see the `build_from_spec` action for a full advanced virtual machine creation method.", "content": { "application/json": { "schema": { "properties": { - "country_state": { - "description": "The country state details", + "task": { + "$ref": "#/components/schemas/PostOrganizationVirtualMachinesBuild201ResponseTask" + }, + "build": { + "description": "Deprecated, please use \"virtual_machine_build\" instead", "allOf": [ { - "$ref": "#/components/schemas/CountryState" + "$ref": "#/components/schemas/PostOrganizationVirtualMachinesBuild201ResponseBuild" } ] + }, + "virtual_machine_build": { + "$ref": "#/components/schemas/PostOrganizationVirtualMachinesBuild201ResponseVirtualMachineBuild" + }, + "hostname": { + "type": "string" + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } } }, "required": [ - "country_state" + "task", + "build", + "virtual_machine_build", + "hostname", + "annotations" ] } } @@ -3016,10 +2764,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/OrganizationNotActivatedPermissionDeniedResourceCreationRestricted403Res" }, "404": { - "$ref": "#/components/responses/CountryStateNotFoundResponse" + "$ref": "#/components/responses/DataCenterNotFoundVirtualMachinePackageNotFoundZoneNotFound404Res" + }, + "422": { + "$ref": "#/components/responses/LocationRequiredOneSystemDiskRequiredValidationError422Res" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -3030,67 +2781,105 @@ } } }, - "/currencies": { - "get": { - "operationId": "get:currencies", - "summary": "List currencies", - "description": "Return a list of all currencies available in Katapult", + "/organizations/organization/virtual_machines/build_from_spec": { + "post": { + "operationId": "post:organization_virtual_machines_build_from_spec", + "summary": "Build virtual machine (from spec)", + "description": "Builds a new virtual machine by receiving a virtual machine spec document\n## Scopes\n- `virtual_machines`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Currencies" + "Build" ], - "parameters": [ + "security": [ { - "name": "page", - "in": "query", - "schema": { - "type": "integer", - "default": 1, - "minimum": 1 - }, - "description": "The page number to request. If not provided, the first page will be returned." + "OAuth2": [ + "api.katapult.io/core/v1/virtual_machines" + ] }, { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer", - "default": 30, - "minimum": 1 - }, - "description": "The number of items to return per page. If not provided, the default value will be used." + "Authenticator": [ + "virtual_machines" + ] } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "organization": { + "$ref": "#/components/schemas/OrganizationLookup" + }, + "xml": { + "type": "string" + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } + } + }, + "required": [ + "organization", + "xml" + ] + } + } + } + }, "responses": { - "200": { - "description": "Return a list of all currencies available in Katapult", + "201": { + "description": "Builds a new virtual machine by receiving a virtual machine spec document", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" + "task": { + "$ref": "#/components/schemas/PostOrganizationVirtualMachinesBuildFromSpec201ResponseTask" }, - "currencies": { + "build": { + "description": "Deprecated, please use \"virtual_machine_build\" instead", + "allOf": [ + { + "$ref": "#/components/schemas/PostOrganizationVirtualMachinesBuildFromSpec201ResponseBuild" + } + ] + }, + "virtual_machine_build": { + "$ref": "#/components/schemas/PostOrganizationVirtualMachinesBuildFromSpec201ResponseVirtualMachineBuild" + }, + "hostname": { + "type": "string" + }, + "annotations": { "type": "array", "items": { - "$ref": "#/components/schemas/GetCurrencies200ResponseCurrencies" - }, - "description": "The list of currencies" + "$ref": "#/components/schemas/KeyValue" + } } }, "required": [ - "pagination", - "currencies" + "task", + "build", + "virtual_machine_build", + "hostname", + "annotations" ] } } } }, "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" + "$ref": "#/components/responses/InvalidSpecXML400Res" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/OrganizationNotFoundResponse" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -3101,50 +2890,58 @@ } } }, - "/currencies/currency": { + "/virtual_machines/builds/virtual_machine_build": { "get": { - "operationId": "get:currency", - "summary": "Get currency", - "description": "Return details for a specific currency", + "operationId": "get:virtual_machines_builds_virtual_machine_build", + "summary": "Get virtual machine build", + "description": "Return virtual machine build information\n## Scopes\n- `virtual_machines`\n- `virtual_machines:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Currencies" + "Build" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/virtual_machines", + "api.katapult.io/core/v1/virtual_machines:read" + ] + }, + { + "Authenticator": [ + "virtual_machines", + "virtual_machines:read" + ] + } ], "parameters": [ { "in": "query", - "name": "currency[id]", + "name": "virtual_machine_build[id]", "schema": { "type": "string" }, - "description": "The currency to return. \n\n All 'currency[]' params are mutually exclusive, only one can be provided." - }, - { - "in": "query", - "name": "currency[iso_code]", - "schema": { - "type": "string" - }, - "description": "The currency to return. \n\n All 'currency[]' params are mutually exclusive, only one can be provided." + "description": "" } ], "responses": { "200": { - "description": "Return details for a specific currency", + "description": "Return virtual machine build information", "content": { "application/json": { "schema": { "properties": { - "currency": { - "description": "The currency details", - "allOf": [ - { - "$ref": "#/components/schemas/Currency" - } - ] + "virtual_machine_build": { + "$ref": "#/components/schemas/GetVirtualMachinesBuildsVirtualMachineBuild200ResponseVirtualMachineBuild" + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } } }, "required": [ - "currency" + "virtual_machine_build", + "annotations" ] } } @@ -3157,7 +2954,7 @@ "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/CurrencyNotFoundResponse" + "$ref": "#/components/responses/VirtualMachineBuildNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -3168,25 +2965,25 @@ } } }, - "/organizations/organization/dns_zones": { + "/organizations/organization/certificates": { "get": { - "operationId": "get:organization_dns_zones", - "summary": "List DNS zones", - "description": "Return a list of all DNS zones\n## Scopes\n- `dns`\n- `dns:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:organization_certificates", + "summary": "List certificates", + "description": "Provides a full list of certificates\n## Scopes\n- `certificates`\n- `certificates:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "DNS zones" + "Certificates" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/dns", - "api.katapult.io/core/v1/dns:read" + "api.katapult.io/core/v1/certificates", + "api.katapult.io/core/v1/certificates:read" ] }, { "Authenticator": [ - "dns", - "dns:read" + "certificates", + "certificates:read" ] } ], @@ -3230,7 +3027,7 @@ ], "responses": { "200": { - "description": "Return a list of all DNS zones", + "description": "Provides a full list of certificates", "content": { "application/json": { "schema": { @@ -3238,17 +3035,16 @@ "pagination": { "$ref": "#/components/schemas/PaginationObject" }, - "dns_zones": { + "certificates": { "type": "array", "items": { - "$ref": "#/components/schemas/DNSZone" - }, - "description": "The DNS zones for the provided organization" + "$ref": "#/components/schemas/GetOrganizationCertificates200ResponseCertificates" + } } }, "required": [ "pagination", - "dns_zones" + "certificates" ] } } @@ -3258,7 +3054,7 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" }, "404": { "$ref": "#/components/responses/OrganizationNotFoundResponse" @@ -3270,23 +3066,101 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, + } + }, + "/certificates/certificate": { + "get": { + "operationId": "get:certificate", + "summary": "Get certificate", + "description": "Return details for a specific certificate\n## Scopes\n- `certificates`\n- `certificates:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "tags": [ + "Certificates" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/certificates", + "api.katapult.io/core/v1/certificates:read" + ] + }, + { + "Authenticator": [ + "certificates", + "certificates:read" + ] + } + ], + "parameters": [ + { + "in": "query", + "name": "certificate[id]", + "schema": { + "type": "string" + }, + "description": "" + } + ], + "responses": { + "200": { + "description": "Return details for a specific certificate", + "content": { + "application/json": { + "schema": { + "properties": { + "certificate": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Certificate" + } + } + }, + "required": [ + "certificate" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/APIAuthenticator403Response" + }, + "404": { + "$ref": "#/components/responses/CertificateNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + } + }, + "/virtual_machines/virtual_machine/console_sessions": { "post": { - "operationId": "post:organization_dns_zones", - "summary": "Create DNS zone", - "description": "Create a new DNS zone within an existing organization\n## Scopes\n- `dns`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "post:virtual_machine_console_sessions", + "summary": "Create console session", + "description": "Creates a new console session which can be opened in a browser\n## Scopes\n- `virtual_machines`\n- `virtual_machines:console`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "DNS zones" + "Console" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/dns" + "api.katapult.io/core/v1/virtual_machines", + "api.katapult.io/core/v1/virtual_machines:console" ] }, { "Authenticator": [ - "dns" + "virtual_machines", + "virtual_machines:console" ] } ], @@ -3295,20 +3169,12 @@ "application/json": { "schema": { "properties": { - "organization": { - "$ref": "#/components/schemas/OrganizationLookup" - }, - "properties": { - "$ref": "#/components/schemas/DNSZoneArguments" - }, - "verified": { - "type": "boolean", - "description": "Creates a zone without requiring any verification to be performed. Internal use only (this\nrequires the 'dns_zones:create:verified' capability).\n" + "virtual_machine": { + "$ref": "#/components/schemas/VirtualMachineLookup" } }, "required": [ - "organization", - "properties" + "virtual_machine" ] } } @@ -3316,22 +3182,17 @@ }, "responses": { "201": { - "description": "Create a new DNS zone within an existing organization", + "description": "Creates a new console session which can be opened in a browser", "content": { "application/json": { "schema": { "properties": { - "dns_zone": { - "description": "The new DNS zone that has been created", - "allOf": [ - { - "$ref": "#/components/schemas/DNSZone" - } - ] + "console_session": { + "$ref": "#/components/schemas/PostVirtualMachineConsoleSessions201ResponseConsoleSession" } }, "required": [ - "dns_zone" + "console_session" ] } } @@ -3341,10 +3202,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedPermissionDeniedResourceCreationRestricted403Res" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/VirtualMachineNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashVirtualMachineMustBeStarted406Res" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -3358,62 +3222,57 @@ } } }, - "/organizations/organization/dns_zones/nameservers": { + "/countries": { "get": { - "operationId": "get:organization_dns_zones_nameservers", - "summary": "List nameservers", - "description": "Return a list of nameservers that should be used for DNS zones within a given organization\n## Scopes\n- `dns`\n- `dns:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:countries", + "summary": "List countries", + "description": "Return a list of all countries available in Katapult", "tags": [ - "DNS zones" - ], - "security": [ - { - "OAuth2": [ - "api.katapult.io/core/v1/dns", - "api.katapult.io/core/v1/dns:read" - ] - }, - { - "Authenticator": [ - "dns", - "dns:read" - ] - } + "Countries" ], "parameters": [ { + "name": "page", "in": "query", - "name": "organization[id]", "schema": { - "type": "string" + "type": "integer", + "default": 1, + "minimum": 1 }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "The page number to request. If not provided, the first page will be returned." }, { + "name": "per_page", "in": "query", - "name": "organization[sub_domain]", "schema": { - "type": "string" + "type": "integer", + "default": 30, + "minimum": 1 }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "The number of items to return per page. If not provided, the default value will be used." } ], "responses": { "200": { - "description": "Return a list of nameservers that should be used for DNS zones within a given organization", + "description": "Return a list of all countries available in Katapult", "content": { "application/json": { "schema": { "properties": { - "nameservers": { + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "countries": { "type": "array", "items": { - "type": "string" - } + "$ref": "#/components/schemas/GetCountries200ResponseCountries" + }, + "description": "The list of countries" } }, "required": [ - "nameservers" + "pagination", + "countries" ] } } @@ -3423,10 +3282,7 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" - }, - "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -3437,64 +3293,58 @@ } } }, - "/dns_zones/dns_zone": { + "/countries/country": { "get": { - "operationId": "get:dns_zone", - "summary": "Get DNS zone", - "description": "Return details for a specific DNS zone\n## Scopes\n- `dns`\n- `dns:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:country", + "summary": "Get country", + "description": "Return details for a specific country", "tags": [ - "DNS zones" + "Countries" ], - "security": [ + "parameters": [ { - "OAuth2": [ - "api.katapult.io/core/v1/dns", - "api.katapult.io/core/v1/dns:read" - ] + "in": "query", + "name": "country[id]", + "schema": { + "type": "string" + }, + "description": "The country to return. \n\n All 'country[]' params are mutually exclusive, only one can be provided." }, - { - "Authenticator": [ - "dns", - "dns:read" - ] - } - ], - "parameters": [ { "in": "query", - "name": "dns_zone[id]", + "name": "country[iso_code2]", "schema": { "type": "string" }, - "description": "All 'dns_zone[]' params are mutually exclusive, only one can be provided." + "description": "The country to return. \n\n All 'country[]' params are mutually exclusive, only one can be provided." }, { "in": "query", - "name": "dns_zone[name]", + "name": "country[iso_code3]", "schema": { "type": "string" }, - "description": "All 'dns_zone[]' params are mutually exclusive, only one can be provided." + "description": "The country to return. \n\n All 'country[]' params are mutually exclusive, only one can be provided." } ], "responses": { "200": { - "description": "Return details for a specific DNS zone", + "description": "Return details for a specific country", "content": { "application/json": { "schema": { "properties": { - "dns_zone": { - "description": "The DNS zones for the provided organization", + "country": { + "description": "The country details", "allOf": [ { - "$ref": "#/components/schemas/DNSZone" + "$ref": "#/components/schemas/Country" } ] } }, "required": [ - "dns_zone" + "country" ] } } @@ -3507,7 +3357,7 @@ "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/DNSZoneNotFoundResponse" + "$ref": "#/components/responses/CountryNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -3516,64 +3366,83 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, - "patch": { - "operationId": "patch:dns_zone", - "summary": "Update DNS zone", - "description": "Update properties for a DNS zone\n## Scopes\n- `dns`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + } + }, + "/countries/country/country_states": { + "get": { + "operationId": "get:country_country_states", + "summary": "List country states", + "description": "Return a list of all country states for a specific country", "tags": [ - "DNS zones" + "Country states" ], - "security": [ + "parameters": [ { - "OAuth2": [ - "api.katapult.io/core/v1/dns" - ] + "in": "query", + "name": "country[id]", + "schema": { + "type": "string" + }, + "description": "The country to return states for. \n\n All 'country[]' params are mutually exclusive, only one can be provided." }, { - "Authenticator": [ - "dns" - ] + "in": "query", + "name": "country[iso_code2]", + "schema": { + "type": "string" + }, + "description": "The country to return states for. \n\n All 'country[]' params are mutually exclusive, only one can be provided." + }, + { + "in": "query", + "name": "country[iso_code3]", + "schema": { + "type": "string" + }, + "description": "The country to return states for. \n\n All 'country[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "default": 1, + "minimum": 1 + }, + "description": "The page number to request. If not provided, the first page will be returned." + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer", + "default": 30, + "minimum": 1 + }, + "description": "The number of items to return per page. If not provided, the default value will be used." } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "dns_zone": { - "$ref": "#/components/schemas/DNSZoneLookup" - }, - "properties": { - "$ref": "#/components/schemas/DNSZoneArguments" - } - }, - "required": [ - "dns_zone", - "properties" - ] - } - } - } - }, "responses": { "200": { - "description": "Update properties for a DNS zone", + "description": "Return a list of all country states for a specific country", "content": { "application/json": { "schema": { "properties": { - "dns_zone": { - "description": "The DNS zones for the provided organization", - "allOf": [ - { - "$ref": "#/components/schemas/DNSZone" - } - ] + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "country_states": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetCountryCountryStates200ResponseCountryStates" + }, + "description": "The list of country states for the given country" } }, "required": [ - "dns_zone" + "pagination", + "country_states" ] } } @@ -3586,10 +3455,7 @@ "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/DNSZoneNotFoundResponse" - }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/CountryNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -3598,55 +3464,44 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, - "delete": { - "operationId": "delete:dns_zone", - "summary": "Delete DNS zone", - "description": "Delete a DNS zone\n## Scopes\n- `dns`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + } + }, + "/country_states/country_state": { + "get": { + "operationId": "get:country_state", + "summary": "Get country state", + "description": "Return details for a specific country state", "tags": [ - "DNS zones" + "Country states" ], - "security": [ - { - "OAuth2": [ - "api.katapult.io/core/v1/dns" - ] - }, + "parameters": [ { - "Authenticator": [ - "dns" - ] + "in": "query", + "name": "country_state[id]", + "schema": { + "type": "string" + }, + "description": "The country state to return." } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "dns_zone": { - "$ref": "#/components/schemas/DNSZoneLookup" - } - }, - "required": [ - "dns_zone" - ] - } - } - } - }, "responses": { "200": { - "description": "Delete a DNS zone", + "description": "Return details for a specific country state", "content": { "application/json": { "schema": { "properties": { - "deleted": { - "type": "boolean" + "country_state": { + "description": "The country state details", + "allOf": [ + { + "$ref": "#/components/schemas/CountryState" + } + ] } }, "required": [ - "deleted" + "country_state" ] } } @@ -3659,7 +3514,7 @@ "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/DNSZoneNotFoundResponse" + "$ref": "#/components/responses/CountryStateNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -3670,113 +3525,57 @@ } } }, - "/dns_zones/dns_zone/verify": { - "post": { - "operationId": "post:dns_zone_verify", - "summary": "Verify DNS zone", - "description": "Attempt to verify the nameservers for a given DNS zone\n## Scopes\n- `dns`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "/currencies": { + "get": { + "operationId": "get:currencies", + "summary": "List currencies", + "description": "Return a list of all currencies available in Katapult", "tags": [ - "DNS zones" + "Currencies" ], - "security": [ + "parameters": [ { - "OAuth2": [ - "api.katapult.io/core/v1/dns" - ] + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "default": 1, + "minimum": 1 + }, + "description": "The page number to request. If not provided, the first page will be returned." }, { - "Authenticator": [ - "dns" - ] + "name": "per_page", + "in": "query", + "schema": { + "type": "integer", + "default": 30, + "minimum": 1 + }, + "description": "The number of items to return per page. If not provided, the default value will be used." } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "dns_zone": { - "$ref": "#/components/schemas/DNSZoneLookup" - } - }, - "required": [ - "dns_zone" - ] - } - } - } - }, - "responses": { - "200": { - "description": "Attempt to verify the nameservers for a given DNS zone", - "content": { - "application/json": { - "schema": { - "properties": { - "dns_zone": { - "description": "The DNS zones for the provided organization", - "allOf": [ - { - "$ref": "#/components/schemas/DNSZone" - } - ] - } - }, - "required": [ - "dns_zone" - ] - } - } - } - }, - "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" - }, - "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" - }, - "404": { - "$ref": "#/components/responses/DNSZoneNotFoundResponse" - }, - "422": { - "$ref": "#/components/responses/DNSZoneNotVerifiedResponse" - }, - "429": { - "$ref": "#/components/responses/APIAuthenticator429Response" - }, - "503": { - "$ref": "#/components/responses/APIAuthenticator503Response" - } - } - } - }, - "/data_centers": { - "get": { - "operationId": "get:data_centers", - "summary": "List data centers", - "description": "Provides a full list of all data centers", - "tags": [ - "Data centers" - ], - "parameters": [ - ], "responses": { "200": { - "description": "Provides a full list of all data centers", + "description": "Return a list of all currencies available in Katapult", "content": { "application/json": { "schema": { "properties": { - "data_centers": { + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "currencies": { "type": "array", "items": { - "$ref": "#/components/schemas/GetDataCenters200ResponseDataCenters" - } + "$ref": "#/components/schemas/GetCurrencies200ResponseCurrencies" + }, + "description": "The list of currencies" } }, "required": [ - "data_centers" + "pagination", + "currencies" ] } } @@ -3797,45 +3596,50 @@ } } }, - "/data_centers/data_center": { + "/currencies/currency": { "get": { - "operationId": "get:data_center", - "summary": "Get data center", - "description": "Provide details for a specific data center", + "operationId": "get:currency", + "summary": "Get currency", + "description": "Return details for a specific currency", "tags": [ - "Data centers" + "Currencies" ], "parameters": [ { "in": "query", - "name": "data_center[id]", + "name": "currency[id]", "schema": { "type": "string" }, - "description": "All 'data_center[]' params are mutually exclusive, only one can be provided." + "description": "The currency to return. \n\n All 'currency[]' params are mutually exclusive, only one can be provided." }, { "in": "query", - "name": "data_center[permalink]", + "name": "currency[iso_code]", "schema": { "type": "string" }, - "description": "All 'data_center[]' params are mutually exclusive, only one can be provided." + "description": "The currency to return. \n\n All 'currency[]' params are mutually exclusive, only one can be provided." } ], "responses": { "200": { - "description": "Provide details for a specific data center", + "description": "Return details for a specific currency", "content": { "application/json": { "schema": { "properties": { - "data_center": { - "$ref": "#/components/schemas/GetDataCenter200ResponseDataCenter" + "currency": { + "description": "The currency details", + "allOf": [ + { + "$ref": "#/components/schemas/Currency" + } + ] } }, "required": [ - "data_center" + "currency" ] } } @@ -3848,7 +3652,7 @@ "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/DataCenterNotFoundResponse" + "$ref": "#/components/responses/CurrencyNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -3859,80 +3663,27 @@ } } }, - "/data_centers/data_center/default_network": { + "/organizations/organization/dns_zones": { "get": { - "operationId": "get:data_center_default_network", - "summary": "Get default network of data center", - "description": "Provide details of default network for a data center", + "operationId": "get:organization_dns_zones", + "summary": "List DNS zones", + "description": "Return a list of all DNS zones\n## Scopes\n- `dns`\n- `dns:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Data centers" + "DNS zones" ], - "parameters": [ + "security": [ { - "in": "query", - "name": "data_center[id]", - "schema": { - "type": "string" - }, - "description": "All 'data_center[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/dns", + "api.katapult.io/core/v1/dns:read" + ] }, { - "in": "query", - "name": "data_center[permalink]", - "schema": { - "type": "string" - }, - "description": "All 'data_center[]' params are mutually exclusive, only one can be provided." - } - ], - "responses": { - "200": { - "description": "Provide details of default network for a data center", - "content": { - "application/json": { - "schema": { - "properties": { - "network": { - "description": "The details for the requested network", - "allOf": [ - { - "$ref": "#/components/schemas/GetDataCenterDefaultNetwork200ResponseNetwork" - } - ] - } - }, - "required": [ - "network" - ] - } - } - } - }, - "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" - }, - "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" - }, - "404": { - "$ref": "#/components/responses/DataCenterNotFoundResponse" - }, - "429": { - "$ref": "#/components/responses/APIAuthenticator429Response" - }, - "503": { - "$ref": "#/components/responses/APIAuthenticator503Response" + "Authenticator": [ + "dns", + "dns:read" + ] } - } - } - }, - "/organizations/organization/disk_io_profiles": { - "get": { - "operationId": "get:organization_disk_io_profiles", - "summary": "List disk IO profiles", - "description": "Return a list of all disk IO profiles available to this organization", - "tags": [ - "Disk IO profiles" ], "parameters": [ { @@ -3941,7 +3692,7 @@ "schema": { "type": "string" }, - "description": "The organization to find disk IO profiles for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." }, { "in": "query", @@ -3949,7 +3700,7 @@ "schema": { "type": "string" }, - "description": "The organization to find disk IO profiles for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." }, { "name": "page", @@ -3974,7 +3725,7 @@ ], "responses": { "200": { - "description": "Return a list of all disk IO profiles available to this organization", + "description": "Return a list of all DNS zones", "content": { "application/json": { "schema": { @@ -3982,17 +3733,17 @@ "pagination": { "$ref": "#/components/schemas/PaginationObject" }, - "disk_io_profiles": { + "dns_zones": { "type": "array", "items": { - "$ref": "#/components/schemas/DiskIOProfile" + "$ref": "#/components/schemas/DNSZone" }, - "description": "The list of disk IO profiles" + "description": "The DNS zones for the provided organization" } }, "required": [ "pagination", - "disk_io_profiles" + "dns_zones" ] } } @@ -4002,7 +3753,7 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" }, "404": { "$ref": "#/components/responses/OrganizationNotFoundResponse" @@ -4014,89 +3765,68 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/organizations/organization/disk_backup_policies": { - "get": { - "operationId": "get:organization_disk_backup_policies", - "summary": "List disk backup policies", - "description": "Returns a list of all disk backup policies for a given organization\n## Scopes\n- `disk_backup_policies`\n- `disk_backup_policies:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + }, + "post": { + "operationId": "post:organization_dns_zones", + "summary": "Create DNS zone", + "description": "Create a new DNS zone within an existing organization\n## Scopes\n- `dns`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Disk backup policies" + "DNS zones" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/disk_backup_policies", - "api.katapult.io/core/v1/disk_backup_policies:read" + "api.katapult.io/core/v1/dns" ] }, { "Authenticator": [ - "disk_backup_policies", - "disk_backup_policies:read" + "dns" ] } ], - "parameters": [ - { - "in": "query", - "name": "organization[id]", - "schema": { - "type": "string" - }, - "description": "The organization to return disk backup policies for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "in": "query", - "name": "organization[sub_domain]", - "schema": { - "type": "string" - }, - "description": "The organization to return disk backup policies for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer", - "default": 1, - "minimum": 1 - }, - "description": "The page number to request. If not provided, the first page will be returned." - }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer", - "default": 30, - "minimum": 1 - }, - "description": "The number of items to return per page. If not provided, the default value will be used." + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "organization": { + "$ref": "#/components/schemas/OrganizationLookup" + }, + "properties": { + "$ref": "#/components/schemas/DNSZoneArguments" + }, + "verified": { + "type": "boolean", + "description": "Creates a zone without requiring any verification to be performed. Internal use only (this\nrequires the 'dns_zones:create:verified' capability).\n" + } + }, + "required": [ + "organization", + "properties" + ] + } + } } - ], + }, "responses": { - "200": { - "description": "Returns a list of all disk backup policies for a given organization", + "201": { + "description": "Create a new DNS zone within an existing organization", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "disk_backup_policies": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetOrganizationDiskBackupPolicies200ResponseDiskBackupPolicies" - }, - "description": "The disk backup policies for the provided organization" + "dns_zone": { + "description": "The new DNS zone that has been created", + "allOf": [ + { + "$ref": "#/components/schemas/DNSZone" + } + ] } }, "required": [ - "pagination", - "disk_backup_policies" + "dns_zone" ] } } @@ -4106,11 +3836,14 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedPermissionDeniedResourceCreationRestricted403Res" }, "404": { "$ref": "#/components/responses/OrganizationNotFoundResponse" }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" + }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, @@ -4120,96 +3853,143 @@ } } }, - "/virtual_machines/virtual_machine/disk_backup_policies": { + "/organizations/organization/dns_zones/nameservers": { "get": { - "operationId": "get:virtual_machine_disk_backup_policies", - "summary": "List disk backup policies for virtual machine", - "description": "Returns a list of all disk backup policies for a given virtual machine\n## Scopes\n- `disk_backup_policies`\n- `disk_backup_policies:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:organization_dns_zones_nameservers", + "summary": "List nameservers", + "description": "Return a list of nameservers that should be used for DNS zones within a given organization\n## Scopes\n- `dns`\n- `dns:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Disk backup policies" + "DNS zones" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/disk_backup_policies", - "api.katapult.io/core/v1/disk_backup_policies:read" + "api.katapult.io/core/v1/dns", + "api.katapult.io/core/v1/dns:read" ] }, { "Authenticator": [ - "disk_backup_policies", - "disk_backup_policies:read" + "dns", + "dns:read" ] } ], "parameters": [ { "in": "query", - "name": "virtual_machine[id]", + "name": "organization[id]", "schema": { "type": "string" }, - "description": "The virtual machine to return disk backup policies for. \n\n All 'virtual_machine[]' params are mutually exclusive, only one can be provided." + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." }, { "in": "query", - "name": "virtual_machine[fqdn]", + "name": "organization[sub_domain]", "schema": { "type": "string" }, - "description": "The virtual machine to return disk backup policies for. \n\n All 'virtual_machine[]' params are mutually exclusive, only one can be provided." + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + } + ], + "responses": { + "200": { + "description": "Return a list of nameservers that should be used for DNS zones within a given organization", + "content": { + "application/json": { + "schema": { + "properties": { + "nameservers": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "nameservers" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/OrganizationNotFoundResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + } + }, + "/dns_zones/dns_zone": { + "get": { + "operationId": "get:dns_zone", + "summary": "Get DNS zone", + "description": "Return details for a specific DNS zone\n## Scopes\n- `dns`\n- `dns:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "tags": [ + "DNS zones" + ], + "security": [ { - "name": "include_disks", - "in": "query", - "schema": { - "type": "boolean", - "description": "If true, the returned list will include backup policies owned by disks assigned to this virtual machine in addition to those that belong to the whole virtual machine" - }, - "description": "If true, the returned list will include backup policies owned by disks assigned to this virtual machine in addition to those that belong to the whole virtual machine" + "OAuth2": [ + "api.katapult.io/core/v1/dns", + "api.katapult.io/core/v1/dns:read" + ] }, { - "name": "page", + "Authenticator": [ + "dns", + "dns:read" + ] + } + ], + "parameters": [ + { "in": "query", + "name": "dns_zone[id]", "schema": { - "type": "integer", - "default": 1, - "minimum": 1 + "type": "string" }, - "description": "The page number to request. If not provided, the first page will be returned." + "description": "All 'dns_zone[]' params are mutually exclusive, only one can be provided." }, { - "name": "per_page", "in": "query", + "name": "dns_zone[name]", "schema": { - "type": "integer", - "default": 30, - "minimum": 1 + "type": "string" }, - "description": "The number of items to return per page. If not provided, the default value will be used." + "description": "All 'dns_zone[]' params are mutually exclusive, only one can be provided." } ], "responses": { "200": { - "description": "Returns a list of all disk backup policies for a given virtual machine", + "description": "Return details for a specific DNS zone", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "disk_backup_policies": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetVirtualMachineDiskBackupPolicies200ResponseDiskBackupPolicies" - }, - "description": "The disk backup policies for the provided virtual machine" + "dns_zone": { + "description": "The DNS zones for the provided organization", + "allOf": [ + { + "$ref": "#/components/schemas/DNSZone" + } + ] } }, "required": [ - "pagination", - "disk_backup_policies" + "dns_zone" ] } } @@ -4219,13 +3999,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/VirtualMachineNotFoundResponse" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "$ref": "#/components/responses/DNSZoneNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -4235,22 +4012,22 @@ } } }, - "post": { - "operationId": "post:virtual_machine_disk_backup_policies", - "summary": "Create disk backup policy for Virtual Machine", - "description": "Creates a new disk backup policy for a virtual machine\n## Scopes\n- `disk_backup_policies`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "patch": { + "operationId": "patch:dns_zone", + "summary": "Update DNS zone", + "description": "Update properties for a DNS zone\n## Scopes\n- `dns`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Disk backup policies" + "DNS zones" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/disk_backup_policies" + "api.katapult.io/core/v1/dns" ] }, { "Authenticator": [ - "disk_backup_policies" + "dns" ] } ], @@ -4259,15 +4036,15 @@ "application/json": { "schema": { "properties": { - "virtual_machine": { - "$ref": "#/components/schemas/VirtualMachineLookup" + "dns_zone": { + "$ref": "#/components/schemas/DNSZoneLookup" }, "properties": { - "$ref": "#/components/schemas/DiskBackupPolicyArguments" + "$ref": "#/components/schemas/DNSZoneArguments" } }, "required": [ - "virtual_machine", + "dns_zone", "properties" ] } @@ -4276,22 +4053,22 @@ }, "responses": { "200": { - "description": "Creates a new disk backup policy for a virtual machine", + "description": "Update properties for a DNS zone", "content": { "application/json": { "schema": { "properties": { - "disk_backup_policy": { - "description": "The new disk backup policy that has been created", + "dns_zone": { + "description": "The DNS zones for the provided organization", "allOf": [ { - "$ref": "#/components/schemas/PostVirtualMachineDiskBackupPolicies200ResponseDiskBackupPolicy" + "$ref": "#/components/schemas/DNSZone" } ] } }, "required": [ - "disk_backup_policy" + "dns_zone" ] } } @@ -4301,13 +4078,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/VirtualMachineNotFoundResponse" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "$ref": "#/components/responses/DNSZoneNotFoundResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -4319,81 +4093,55 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/disks/disk/disk_backup_policies": { - "get": { - "operationId": "get:disk_disk_backup_policies", - "summary": "List disk backup policies for disk", - "description": "Returns a list of all disk backup policies for a given disk\n## Scopes\n- `disk_backup_policies`\n- `disk_backup_policies:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + }, + "delete": { + "operationId": "delete:dns_zone", + "summary": "Delete DNS zone", + "description": "Delete a DNS zone\n## Scopes\n- `dns`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Disk backup policies" + "DNS zones" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/disk_backup_policies", - "api.katapult.io/core/v1/disk_backup_policies:read" + "api.katapult.io/core/v1/dns" ] }, { "Authenticator": [ - "disk_backup_policies", - "disk_backup_policies:read" + "dns" ] } ], - "parameters": [ - { - "in": "query", - "name": "disk[id]", - "schema": { - "type": "string" - }, - "description": "The disk to return disk backup policies for. \n\n All 'disk[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer", - "default": 1, - "minimum": 1 - }, - "description": "The page number to request. If not provided, the first page will be returned." - }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer", - "default": 30, - "minimum": 1 - }, - "description": "The number of items to return per page. If not provided, the default value will be used." + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "dns_zone": { + "$ref": "#/components/schemas/DNSZoneLookup" + } + }, + "required": [ + "dns_zone" + ] + } + } } - ], + }, "responses": { "200": { - "description": "Returns a list of all disk backup policies for a given disk", + "description": "Delete a DNS zone", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "disk_backup_policies": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetDiskDiskBackupPolicies200ResponseDiskBackupPolicies" - }, - "description": "The disk backup policies for the provided disk" + "deleted": { + "type": "boolean" } }, "required": [ - "pagination", - "disk_backup_policies" + "deleted" ] } } @@ -4403,13 +4151,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/DiskNotFoundResponse" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "$ref": "#/components/responses/DNSZoneNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -4418,23 +4163,25 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, + } + }, + "/dns_zones/dns_zone/verify": { "post": { - "operationId": "post:disk_disk_backup_policies", - "summary": "Create disk backup policy for disk", - "description": "Creates a new disk backup policy for a disk\n## Scopes\n- `disk_backup_policies`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "post:dns_zone_verify", + "summary": "Verify DNS zone", + "description": "Attempt to verify the nameservers for a given DNS zone\n## Scopes\n- `dns`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Disk backup policies" + "DNS zones" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/disk_backup_policies" + "api.katapult.io/core/v1/dns" ] }, { "Authenticator": [ - "disk_backup_policies" + "dns" ] } ], @@ -4443,16 +4190,12 @@ "application/json": { "schema": { "properties": { - "disk": { - "$ref": "#/components/schemas/DiskLookup" - }, - "properties": { - "$ref": "#/components/schemas/DiskBackupPolicyArguments" + "dns_zone": { + "$ref": "#/components/schemas/DNSZoneLookup" } }, "required": [ - "disk", - "properties" + "dns_zone" ] } } @@ -4460,22 +4203,22 @@ }, "responses": { "200": { - "description": "Creates a new disk backup policy for a disk", + "description": "Attempt to verify the nameservers for a given DNS zone", "content": { "application/json": { "schema": { "properties": { - "disk_backup_policy": { - "description": "The new disk backup policy that has been created", + "dns_zone": { + "description": "The DNS zones for the provided organization", "allOf": [ { - "$ref": "#/components/schemas/PostDiskDiskBackupPolicies200ResponseDiskBackupPolicy" + "$ref": "#/components/schemas/DNSZone" } ] } }, "required": [ - "disk_backup_policy" + "dns_zone" ] } } @@ -4485,16 +4228,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/DiskNotFoundResponse" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "$ref": "#/components/responses/DNSZoneNotFoundResponse" }, "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/DNSZoneNotVerifiedResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -4505,56 +4245,33 @@ } } }, - "/disk_backup_policies/disk_backup_policy": { + "/data_centers": { "get": { - "operationId": "get:disk_backup_policy", - "summary": "Get disk backup policy", - "description": "Returns information about a specific disk backup policy\n## Scopes\n- `disk_backup_policies`\n- `disk_backup_policies:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:data_centers", + "summary": "List data centers", + "description": "Provides a full list of all data centers", "tags": [ - "Disk backup policies" - ], - "security": [ - { - "OAuth2": [ - "api.katapult.io/core/v1/disk_backup_policies", - "api.katapult.io/core/v1/disk_backup_policies:read" - ] - }, - { - "Authenticator": [ - "disk_backup_policies", - "disk_backup_policies:read" - ] - } + "Data centers" ], "parameters": [ - { - "in": "query", - "name": "disk_backup_policy[id]", - "schema": { - "type": "string" - }, - "description": "The disk backup policy to get information for. \n\n All 'disk_backup_policy[]' params are mutually exclusive, only one can be provided." - } + ], "responses": { "200": { - "description": "Returns information about a specific disk backup policy", + "description": "Provides a full list of all data centers", "content": { "application/json": { "schema": { "properties": { - "disk_backup_policy": { - "description": "The located disk backup policy", - "allOf": [ - { - "$ref": "#/components/schemas/GetDiskBackupPolicy200ResponseDiskBackupPolicy" - } - ] + "data_centers": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetDataCenters200ResponseDataCenters" + } } }, "required": [ - "disk_backup_policy" + "data_centers" ] } } @@ -4566,12 +4283,6 @@ "403": { "$ref": "#/components/responses/APIAuthenticator403Response" }, - "404": { - "$ref": "#/components/responses/DiskBackupPolicyNotFoundResponse" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" - }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, @@ -4579,60 +4290,47 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, - "delete": { - "operationId": "delete:disk_backup_policy", - "summary": "Delete disk backup policy", - "description": "Deletes a disk backup policy and moves it to the trash\n## Scopes\n- `disk_backup_policies`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + } + }, + "/data_centers/data_center": { + "get": { + "operationId": "get:data_center", + "summary": "Get data center", + "description": "Provide details for a specific data center", "tags": [ - "Disk backup policies" + "Data centers" ], - "security": [ + "parameters": [ { - "OAuth2": [ - "api.katapult.io/core/v1/disk_backup_policies" - ] + "in": "query", + "name": "data_center[id]", + "schema": { + "type": "string" + }, + "description": "All 'data_center[]' params are mutually exclusive, only one can be provided." }, { - "Authenticator": [ - "disk_backup_policies" - ] + "in": "query", + "name": "data_center[permalink]", + "schema": { + "type": "string" + }, + "description": "All 'data_center[]' params are mutually exclusive, only one can be provided." } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "disk_backup_policy": { - "$ref": "#/components/schemas/DiskBackupPolicyLookup" - } - }, - "required": [ - "disk_backup_policy" - ] - } - } - } - }, "responses": { "200": { - "description": "Deletes a disk backup policy and moves it to the trash", + "description": "Provide details for a specific data center", "content": { "application/json": { "schema": { "properties": { - "disk_backup_policy": { - "description": "The disk backup policy that has been destroyed", - "allOf": [ - { - "$ref": "#/components/schemas/DeleteDiskBackupPolicy200ResponseDiskBackupPolicy" - } - ] + "data_center": { + "$ref": "#/components/schemas/GetDataCenter200ResponseDataCenter" } }, "required": [ - "disk_backup_policy" + "data_center" ] } } @@ -4642,13 +4340,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/DiskBackupPolicyNotFoundResponse" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "$ref": "#/components/responses/DataCenterNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -4657,64 +4352,52 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, - "patch": { - "operationId": "patch:disk_backup_policy", - "summary": "Update a disk backup policy", - "description": "Updates the disk backup policy with the provided details\n## Scopes\n- `disk_backup_policies`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + } + }, + "/data_centers/data_center/default_network": { + "get": { + "operationId": "get:data_center_default_network", + "summary": "Get default network of data center", + "description": "Provide details of default network for a data center", "tags": [ - "Disk backup policies" + "Data centers" ], - "security": [ - { - "OAuth2": [ - "api.katapult.io/core/v1/disk_backup_policies" - ] - }, + "parameters": [ { - "Authenticator": [ - "disk_backup_policies" - ] + "in": "query", + "name": "data_center[id]", + "schema": { + "type": "string" + }, + "description": "All 'data_center[]' params are mutually exclusive, only one can be provided." + }, + { + "in": "query", + "name": "data_center[permalink]", + "schema": { + "type": "string" + }, + "description": "All 'data_center[]' params are mutually exclusive, only one can be provided." } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "disk_backup_policy": { - "$ref": "#/components/schemas/DiskBackupPolicyLookup" - }, - "properties": { - "$ref": "#/components/schemas/DiskBackupPolicyArguments" - } - }, - "required": [ - "disk_backup_policy", - "properties" - ] - } - } - } - }, "responses": { "200": { - "description": "Updates the disk backup policy with the provided details", + "description": "Provide details of default network for a data center", "content": { "application/json": { "schema": { "properties": { - "disk_backup_policy": { - "description": "The disk backup policy that has been updated", + "network": { + "description": "The details for the requested network", "allOf": [ { - "$ref": "#/components/schemas/PatchDiskBackupPolicy200ResponseDiskBackupPolicy" + "$ref": "#/components/schemas/GetDataCenterDefaultNetwork200ResponseNetwork" } ] } }, "required": [ - "disk_backup_policy" + "network" ] } } @@ -4724,16 +4407,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/DiskBackupPolicyNotFoundResponse" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" - }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/DataCenterNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -4744,81 +4421,86 @@ } } }, - "/disk_backup_policies/disk_backup_policy/schedule": { - "delete": { - "operationId": "delete:disk_backup_policy_schedule", - "summary": "Schedule delete disk backup policy", - "description": "Schedules a disk backup policy to be moved to the trash at a specific time. The backup policy will continue to function as normal until this time is reached.\n## Scopes\n- `disk_backup_policies`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "/organizations/organization/disk_io_profiles": { + "get": { + "operationId": "get:organization_disk_io_profiles", + "summary": "List disk IO profiles", + "description": "Return a list of all disk IO profiles available to this organization", "tags": [ - "Disk backup policies" + "Disk IO profiles" ], - "security": [ + "parameters": [ { - "OAuth2": [ - "api.katapult.io/core/v1/disk_backup_policies" - ] + "in": "query", + "name": "organization[id]", + "schema": { + "type": "string" + }, + "description": "The organization to find disk IO profiles for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." }, { - "Authenticator": [ - "disk_backup_policies" - ] + "in": "query", + "name": "organization[sub_domain]", + "schema": { + "type": "string" + }, + "description": "The organization to find disk IO profiles for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "default": 1, + "minimum": 1 + }, + "description": "The page number to request. If not provided, the first page will be returned." + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer", + "default": 30, + "minimum": 1 + }, + "description": "The number of items to return per page. If not provided, the default value will be used." } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "disk_backup_policy": { - "$ref": "#/components/schemas/DiskBackupPolicyLookup" - }, - "timestamp": { - "type": "integer", - "description": "The time the disk backup policy will be moved to the trash automatically." - } - }, - "required": [ - "disk_backup_policy", - "timestamp" - ] - } - } - } - }, "responses": { "200": { - "description": "Schedules a disk backup policy to be moved to the trash at a specific time. The backup policy will continue to function as normal until this time is reached.", + "description": "Return a list of all disk IO profiles available to this organization", "content": { "application/json": { "schema": { "properties": { - "disk_backup_policy": { - "description": "The disk backup policy that has been scheduled for deletion", - "allOf": [ - { - "$ref": "#/components/schemas/DeleteDiskBackupPolicySchedule200ResponseDiskBackupPolicy" - } - ] + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "disk_io_profiles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DiskIOProfile" + }, + "description": "The list of disk IO profiles" } }, "required": [ - "disk_backup_policy" + "pagination", + "disk_io_profiles" ] } } } }, "400": { - "$ref": "#/components/responses/InvalidTimestamp400Res" + "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" }, "404": { - "$ref": "#/components/responses/DiskBackupPolicyNotFoundResponse" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -4829,44 +4511,44 @@ } } }, - "/disk_templates/disk_template/versions": { + "/organizations/organization/disk_backup_policies": { "get": { - "operationId": "get:disk_template_versions", - "summary": "List disk template versions", - "description": "Return a list of all disk template versions for a specific disk template\n## Scopes\n- `disk_templates`\n- `disk_templates:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:organization_disk_backup_policies", + "summary": "List disk backup policies", + "description": "Returns a list of all disk backup policies for a given organization\n## Scopes\n- `disk_backup_policies`\n- `disk_backup_policies:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Disk template versions" + "Disk backup policies" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/disk_templates", - "api.katapult.io/core/v1/disk_templates:read" + "api.katapult.io/core/v1/disk_backup_policies", + "api.katapult.io/core/v1/disk_backup_policies:read" ] }, { "Authenticator": [ - "disk_templates", - "disk_templates:read" + "disk_backup_policies", + "disk_backup_policies:read" ] } ], "parameters": [ { "in": "query", - "name": "disk_template[id]", + "name": "organization[id]", "schema": { "type": "string" }, - "description": "The disk template to return the versions for. \n\n All 'disk_template[]' params are mutually exclusive, only one can be provided." + "description": "The organization to return disk backup policies for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." }, { "in": "query", - "name": "disk_template[permalink]", + "name": "organization[sub_domain]", "schema": { "type": "string" }, - "description": "The disk template to return the versions for. \n\n All 'disk_template[]' params are mutually exclusive, only one can be provided." + "description": "The organization to return disk backup policies for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." }, { "name": "page", @@ -4891,29 +4573,25 @@ ], "responses": { "200": { - "description": "Return a list of all disk template versions for a specific disk template", + "description": "Returns a list of all disk backup policies for a given organization", "content": { "application/json": { "schema": { "properties": { - "disk_template": { - "$ref": "#/components/schemas/GetDiskTemplateVersions200ResponseDiskTemplate" - }, "pagination": { "$ref": "#/components/schemas/PaginationObject" }, - "disk_template_versions": { + "disk_backup_policies": { "type": "array", "items": { - "$ref": "#/components/schemas/GetDiskTemplateVersions200ResponseDiskTemplateVersions" + "$ref": "#/components/schemas/GetOrganizationDiskBackupPolicies200ResponseDiskBackupPolicies" }, - "description": "The disk template versions for the provided template" + "description": "The disk backup policies for the provided organization" } }, "required": [ - "disk_template", "pagination", - "disk_template_versions" + "disk_backup_policies" ] } } @@ -4923,10 +4601,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/DiskTemplateNotFoundResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -4937,69 +4615,112 @@ } } }, - "/disk_template_versions/disk_template_version": { + "/virtual_machines/virtual_machine/disk_backup_policies": { "get": { - "operationId": "get:disk_template_version", - "summary": "Get disk template version", - "description": "Return details for a specific disk template version\n## Scopes\n- `disk_templates`\n- `disk_templates:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:virtual_machine_disk_backup_policies", + "summary": "List disk backup policies for virtual machine", + "description": "Returns a list of all disk backup policies for a given virtual machine\n## Scopes\n- `disk_backup_policies`\n- `disk_backup_policies:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Disk template versions" + "Disk backup policies" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/disk_templates", - "api.katapult.io/core/v1/disk_templates:read" + "api.katapult.io/core/v1/disk_backup_policies", + "api.katapult.io/core/v1/disk_backup_policies:read" ] }, { "Authenticator": [ - "disk_templates", - "disk_templates:read" + "disk_backup_policies", + "disk_backup_policies:read" ] } ], "parameters": [ { "in": "query", - "name": "disk_template_version[id]", + "name": "virtual_machine[id]", "schema": { "type": "string" }, - "description": "The disk template version to return. \n\n All 'disk_template_version[]' params are mutually exclusive, only one can be provided." - } - ], - "responses": { - "200": { - "description": "Return details for a specific disk template version", - "content": { - "application/json": { - "schema": { - "properties": { - "disk_template_version": { - "description": "The disk template version details", - "allOf": [ - { - "$ref": "#/components/schemas/GetDiskTemplateVersion200ResponseDiskTemplateVersion" - } - ] - } - }, - "required": [ - "disk_template_version" - ] - } - } - } + "description": "The virtual machine to return disk backup policies for. \n\n All 'virtual_machine[]' params are mutually exclusive, only one can be provided." }, - "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" + { + "in": "query", + "name": "virtual_machine[fqdn]", + "schema": { + "type": "string" + }, + "description": "The virtual machine to return disk backup policies for. \n\n All 'virtual_machine[]' params are mutually exclusive, only one can be provided." }, - "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + { + "name": "include_disks", + "in": "query", + "schema": { + "type": "boolean", + "description": "If true, the returned list will include backup policies owned by disks assigned to this virtual machine in addition to those that belong to the whole virtual machine" + }, + "description": "If true, the returned list will include backup policies owned by disks assigned to this virtual machine in addition to those that belong to the whole virtual machine" + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "default": 1, + "minimum": 1 + }, + "description": "The page number to request. If not provided, the first page will be returned." + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer", + "default": 30, + "minimum": 1 + }, + "description": "The number of items to return per page. If not provided, the default value will be used." + } + ], + "responses": { + "200": { + "description": "Returns a list of all disk backup policies for a given virtual machine", + "content": { + "application/json": { + "schema": { + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "disk_backup_policies": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetVirtualMachineDiskBackupPolicies200ResponseDiskBackupPolicies" + }, + "description": "The disk backup policies for the provided virtual machine" + } + }, + "required": [ + "pagination", + "disk_backup_policies" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/DiskTemplateVersionNotFoundResponse" + "$ref": "#/components/responses/VirtualMachineNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -5008,62 +4729,64 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/disk_template_versions/disk_template_version/spec": { - "get": { - "operationId": "get:disk_template_version_spec", - "summary": "Get disk template version spec", - "description": "Return details provided by this template's specification\n## Scopes\n- `disk_templates`\n- `disk_templates:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + }, + "post": { + "operationId": "post:virtual_machine_disk_backup_policies", + "summary": "Create disk backup policy for Virtual Machine", + "description": "Creates a new disk backup policy for a virtual machine\n## Scopes\n- `disk_backup_policies`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Disk template versions" + "Disk backup policies" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/disk_templates", - "api.katapult.io/core/v1/disk_templates:read" + "api.katapult.io/core/v1/disk_backup_policies" ] }, { "Authenticator": [ - "disk_templates", - "disk_templates:read" + "disk_backup_policies" ] } ], - "parameters": [ - { - "in": "query", - "name": "disk_template_version[id]", - "schema": { - "type": "string" - }, - "description": "The disk template version to return. \n\n All 'disk_template_version[]' params are mutually exclusive, only one can be provided." + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine": { + "$ref": "#/components/schemas/VirtualMachineLookup" + }, + "properties": { + "$ref": "#/components/schemas/DiskBackupPolicyArguments" + } + }, + "required": [ + "virtual_machine", + "properties" + ] + } + } } - ], + }, "responses": { "200": { - "description": "Return details provided by this template's specification", + "description": "Creates a new disk backup policy for a virtual machine", "content": { "application/json": { "schema": { "properties": { - "disk_template_version": { - "description": "The disk template version details", + "disk_backup_policy": { + "description": "The new disk backup policy that has been created", "allOf": [ { - "$ref": "#/components/schemas/GetDiskTemplateVersionSpec200ResponseDiskTemplateVersion" + "$ref": "#/components/schemas/PostVirtualMachineDiskBackupPolicies200ResponseDiskBackupPolicy" } ] - }, - "spec": { - "$ref": "#/components/schemas/TemplateSpec" } }, "required": [ - "disk_template_version", - "spec" + "disk_backup_policy" ] } } @@ -5073,10 +4796,16 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/DiskTemplateVersionNotFoundResponse" + "$ref": "#/components/responses/VirtualMachineNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -5087,61 +4816,36 @@ } } }, - "/organizations/organization/disk_templates": { + "/disks/disk/disk_backup_policies": { "get": { - "operationId": "get:organization_disk_templates", - "summary": "List disk templates", - "description": "Return a list of all disk templates owned by an organization\n## Scopes\n- `disk_templates`\n- `disk_templates:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:disk_disk_backup_policies", + "summary": "List disk backup policies for disk", + "description": "Returns a list of all disk backup policies for a given disk\n## Scopes\n- `disk_backup_policies`\n- `disk_backup_policies:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Disk templates" + "Disk backup policies" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/disk_templates", - "api.katapult.io/core/v1/disk_templates:read" + "api.katapult.io/core/v1/disk_backup_policies", + "api.katapult.io/core/v1/disk_backup_policies:read" ] }, { "Authenticator": [ - "disk_templates", - "disk_templates:read" + "disk_backup_policies", + "disk_backup_policies:read" ] } ], "parameters": [ { "in": "query", - "name": "organization[id]", - "schema": { - "type": "string" - }, - "description": "The organization to find disk templates for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "in": "query", - "name": "organization[sub_domain]", - "schema": { - "type": "string" - }, - "description": "The organization to find disk templates for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "include_universal", - "in": "query", - "schema": { - "type": "boolean", - "description": "Whether or not to include universal templates" - }, - "description": "Whether or not to include universal templates" - }, - { - "in": "query", - "name": "operating_system[id]", + "name": "disk[id]", "schema": { "type": "string" }, - "description": "An operating system to use to filter disk templates. \n\n All 'operating_system[]' params are mutually exclusive, only one can be provided." + "description": "The disk to return disk backup policies for." }, { "name": "page", @@ -5166,7 +4870,7 @@ ], "responses": { "200": { - "description": "Return a list of all disk templates owned by an organization", + "description": "Returns a list of all disk backup policies for a given disk", "content": { "application/json": { "schema": { @@ -5174,17 +4878,17 @@ "pagination": { "$ref": "#/components/schemas/PaginationObject" }, - "disk_templates": { + "disk_backup_policies": { "type": "array", "items": { - "$ref": "#/components/schemas/GetOrganizationDiskTemplates200ResponseDiskTemplates" + "$ref": "#/components/schemas/GetDiskDiskBackupPolicies200ResponseDiskBackupPolicies" }, - "description": "The list of disk templates" + "description": "The disk backup policies for the provided disk" } }, "required": [ "pagination", - "disk_templates" + "disk_backup_policies" ] } } @@ -5194,10 +4898,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/OperatingSystemNotFoundOrganizationNotFound404Res" + "$ref": "#/components/responses/DiskNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -5206,66 +4913,64 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/disk_templates/disk_template": { - "get": { - "operationId": "get:disk_template", - "summary": "Get disk template", - "description": "Return details for a specific disk template\n## Scopes\n- `disk_templates`\n- `disk_templates:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + }, + "post": { + "operationId": "post:disk_disk_backup_policies", + "summary": "Create disk backup policy for disk", + "description": "Creates a new disk backup policy for a disk\n## Scopes\n- `disk_backup_policies`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Disk templates" + "Disk backup policies" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/disk_templates", - "api.katapult.io/core/v1/disk_templates:read" + "api.katapult.io/core/v1/disk_backup_policies" ] }, { "Authenticator": [ - "disk_templates", - "disk_templates:read" + "disk_backup_policies" ] } ], - "parameters": [ - { - "in": "query", - "name": "disk_template[id]", - "schema": { - "type": "string" - }, - "description": "The disk template to return. \n\n All 'disk_template[]' params are mutually exclusive, only one can be provided." - }, - { - "in": "query", - "name": "disk_template[permalink]", - "schema": { - "type": "string" - }, - "description": "The disk template to return. \n\n All 'disk_template[]' params are mutually exclusive, only one can be provided." + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "disk": { + "$ref": "#/components/schemas/DiskLookup" + }, + "properties": { + "$ref": "#/components/schemas/DiskBackupPolicyArguments" + } + }, + "required": [ + "disk", + "properties" + ] + } + } } - ], + }, "responses": { "200": { - "description": "Return details for a specific disk template", + "description": "Creates a new disk backup policy for a disk", "content": { "application/json": { "schema": { "properties": { - "disk_template": { - "description": "The disk template details", + "disk_backup_policy": { + "description": "The new disk backup policy that has been created", "allOf": [ { - "$ref": "#/components/schemas/GetDiskTemplate200ResponseDiskTemplate" + "$ref": "#/components/schemas/PostDiskDiskBackupPolicies200ResponseDiskBackupPolicy" } ] } }, "required": [ - "disk_template" + "disk_backup_policy" ] } } @@ -5275,10 +4980,16 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/DiskTemplateNotFoundResponse" + "$ref": "#/components/responses/DiskNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -5289,109 +5000,56 @@ } } }, - "/organizations/organization/disks": { + "/disk_backup_policies/disk_backup_policy": { "get": { - "operationId": "get:organization_disks", - "summary": "List disks", - "description": "Return a list of all disks owned by an organization\n## Scopes\n- `disks`\n- `disks:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:disk_backup_policy", + "summary": "Get disk backup policy", + "description": "Returns information about a specific disk backup policy\n## Scopes\n- `disk_backup_policies`\n- `disk_backup_policies:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Disks" + "Disk backup policies" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/disks", - "api.katapult.io/core/v1/disks:read" + "api.katapult.io/core/v1/disk_backup_policies", + "api.katapult.io/core/v1/disk_backup_policies:read" ] }, { "Authenticator": [ - "disks", - "disks:read" + "disk_backup_policies", + "disk_backup_policies:read" ] } ], "parameters": [ { "in": "query", - "name": "organization[id]", - "schema": { - "type": "string" - }, - "description": "The organization to find disks for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "in": "query", - "name": "organization[sub_domain]", + "name": "disk_backup_policy[id]", "schema": { "type": "string" }, - "description": "The organization to find disks for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "in": "query", - "name": "annotations[][key]", - "schema": { - "type": "array", - "items": { - "type": "string" - } - }, - "description": "An array of annotations to filter by. \n\n All 'annotations[]' params are mutually exclusive, only one can be provided. \n\n All `annotations[]` params should have the same amount of elements." - }, - { - "in": "query", - "name": "annotations[][value]", - "schema": { - "type": "array", - "items": { - "type": "string" - } - }, - "description": "An array of annotations to filter by. \n\n All 'annotations[]' params are mutually exclusive, only one can be provided. \n\n All `annotations[]` params should have the same amount of elements." - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer", - "default": 1, - "minimum": 1 - }, - "description": "The page number to request. If not provided, the first page will be returned." - }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer", - "default": 30, - "minimum": 1 - }, - "description": "The number of items to return per page. If not provided, the default value will be used." + "description": "The disk backup policy to get information for." } ], "responses": { "200": { - "description": "Return a list of all disks owned by an organization", + "description": "Returns information about a specific disk backup policy", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "disk": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetOrganizationDisks200ResponseDisk" - }, - "description": "The list of disks" + "disk_backup_policy": { + "description": "The located disk backup policy", + "allOf": [ + { + "$ref": "#/components/schemas/GetDiskBackupPolicy200ResponseDiskBackupPolicy" + } + ] } }, "required": [ - "pagination", - "disk" + "disk_backup_policy" ] } } @@ -5401,10 +5059,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/DiskBackupPolicyNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -5414,22 +5075,22 @@ } } }, - "post": { - "operationId": "post:organization_disks", - "summary": "Create disk", - "description": "Create a new disk for a given organization.\n## Scopes\n- `disks`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "delete": { + "operationId": "delete:disk_backup_policy", + "summary": "Delete disk backup policy", + "description": "Deletes a disk backup policy and moves it to the trash\n## Scopes\n- `disk_backup_policies`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Disks" + "Disk backup policies" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/disks" + "api.katapult.io/core/v1/disk_backup_policies" ] }, { "Authenticator": [ - "disks" + "disk_backup_policies" ] } ], @@ -5438,57 +5099,35 @@ "application/json": { "schema": { "properties": { - "organization": { - "$ref": "#/components/schemas/OrganizationLookup" - }, - "properties": { - "$ref": "#/components/schemas/DiskArguments" - }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } + "disk_backup_policy": { + "$ref": "#/components/schemas/DiskBackupPolicyLookup" } }, "required": [ - "organization", - "properties" + "disk_backup_policy" ] } } } }, "responses": { - "201": { - "description": "Create a new disk for a given organization.", + "200": { + "description": "Deletes a disk backup policy and moves it to the trash", "content": { "application/json": { "schema": { "properties": { - "disk": { - "description": "The disk that has been created.", + "disk_backup_policy": { + "description": "The disk backup policy that has been destroyed", "allOf": [ { - "$ref": "#/components/schemas/PostOrganizationDisks201ResponseDisk" + "$ref": "#/components/schemas/DeleteDiskBackupPolicy200ResponseDiskBackupPolicy" } ] - }, - "task": { - "$ref": "#/components/schemas/Task" - }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - }, - "description": "Annotations for this disk" } }, "required": [ - "disk", - "task", - "annotations" + "disk_backup_policy" ] } } @@ -5498,16 +5137,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/DiskBackupPolicyNotFoundResponse" }, "406": { - "$ref": "#/components/responses/TaskQueueingErrorResponse" - }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/ObjectInTrashResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -5516,65 +5152,64 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/disks/disk": { - "get": { - "operationId": "get:disk", - "summary": "Get disk", - "description": "Return details for a specific disk\n## Scopes\n- `disks`\n- `disks:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + }, + "patch": { + "operationId": "patch:disk_backup_policy", + "summary": "Update a disk backup policy", + "description": "Updates the disk backup policy with the provided details\n## Scopes\n- `disk_backup_policies`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Disks" + "Disk backup policies" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/disks", - "api.katapult.io/core/v1/disks:read" + "api.katapult.io/core/v1/disk_backup_policies" ] }, { "Authenticator": [ - "disks", - "disks:read" + "disk_backup_policies" ] } ], - "parameters": [ - { - "in": "query", - "name": "disk[id]", - "schema": { - "type": "string" - }, - "description": "The disk to return. \n\n All 'disk[]' params are mutually exclusive, only one can be provided." + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "disk_backup_policy": { + "$ref": "#/components/schemas/DiskBackupPolicyLookup" + }, + "properties": { + "$ref": "#/components/schemas/DiskBackupPolicyArguments" + } + }, + "required": [ + "disk_backup_policy", + "properties" + ] + } + } } - ], + }, "responses": { "200": { - "description": "Return details for a specific disk", + "description": "Updates the disk backup policy with the provided details", "content": { "application/json": { "schema": { "properties": { - "disk": { - "description": "The disk details", + "disk_backup_policy": { + "description": "The disk backup policy that has been updated", "allOf": [ { - "$ref": "#/components/schemas/GetDisk200ResponseDisk" + "$ref": "#/components/schemas/PatchDiskBackupPolicy200ResponseDiskBackupPolicy" } ] - }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } } }, "required": [ - "disk", - "annotations" + "disk_backup_policy" ] } } @@ -5584,14 +5219,17 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/DiskNotFoundResponse" + "$ref": "#/components/responses/DiskBackupPolicyNotFoundResponse" }, "406": { "$ref": "#/components/responses/ObjectInTrashResponse" }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" + }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, @@ -5599,23 +5237,25 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, - "patch": { - "operationId": "patch:disk", - "summary": "Update disk", - "description": "Update a disk for a given organization.\n## Scopes\n- `disks`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + } + }, + "/disk_backup_policies/disk_backup_policy/schedule": { + "delete": { + "operationId": "delete:disk_backup_policy_schedule", + "summary": "Schedule delete disk backup policy", + "description": "Schedules a disk backup policy to be moved to the trash at a specific time. The backup policy will continue to function as normal until this time is reached.\n## Scopes\n- `disk_backup_policies`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Disks" + "Disk backup policies" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/disks" + "api.katapult.io/core/v1/disk_backup_policies" ] }, { "Authenticator": [ - "disks" + "disk_backup_policies" ] } ], @@ -5624,22 +5264,17 @@ "application/json": { "schema": { "properties": { - "disk": { - "$ref": "#/components/schemas/DiskLookup" - }, - "properties": { - "$ref": "#/components/schemas/DiskArguments" + "disk_backup_policy": { + "$ref": "#/components/schemas/DiskBackupPolicyLookup" }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } + "timestamp": { + "type": "integer", + "description": "The time the disk backup policy will be moved to the trash automatically." } }, "required": [ - "disk", - "properties" + "disk_backup_policy", + "timestamp" ] } } @@ -5647,50 +5282,39 @@ }, "responses": { "200": { - "description": "Update a disk for a given organization.", + "description": "Schedules a disk backup policy to be moved to the trash at a specific time. The backup policy will continue to function as normal until this time is reached.", "content": { "application/json": { "schema": { "properties": { - "disk": { - "description": "The disk that has been updated.", + "disk_backup_policy": { + "description": "The disk backup policy that has been scheduled for deletion", "allOf": [ { - "$ref": "#/components/schemas/PatchDisk200ResponseDisk" + "$ref": "#/components/schemas/DeleteDiskBackupPolicySchedule200ResponseDiskBackupPolicy" } ] - }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - }, - "description": "Annotations for this disk" } }, "required": [ - "disk", - "annotations" + "disk_backup_policy" ] } } } }, "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" + "$ref": "#/components/responses/InvalidTimestamp400Res" }, "403": { "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/DiskNotFoundResponse" + "$ref": "#/components/responses/DiskBackupPolicyNotFoundResponse" }, "406": { "$ref": "#/components/responses/ObjectInTrashResponse" }, - "422": { - "$ref": "#/components/responses/UnassignedDiskValidationError422Res" - }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, @@ -5698,64 +5322,93 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, - "delete": { - "operationId": "delete:disk", - "summary": "Delete disk", - "description": "Deletes a disk and moves it to the trash\n## Scopes\n- `disks`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + } + }, + "/disk_templates/disk_template/versions": { + "get": { + "operationId": "get:disk_template_versions", + "summary": "List disk template versions", + "description": "Return a list of all disk template versions for a specific disk template\n## Scopes\n- `disk_templates`\n- `disk_templates:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Disks" + "Disk template versions" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/disks" + "api.katapult.io/core/v1/disk_templates", + "api.katapult.io/core/v1/disk_templates:read" ] }, { "Authenticator": [ - "disks" + "disk_templates", + "disk_templates:read" ] } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "disk": { - "$ref": "#/components/schemas/DiskLookup" - } - }, - "required": [ - "disk" - ] - } - } + "parameters": [ + { + "in": "query", + "name": "disk_template[id]", + "schema": { + "type": "string" + }, + "description": "The disk template to return the versions for. \n\n All 'disk_template[]' params are mutually exclusive, only one can be provided." + }, + { + "in": "query", + "name": "disk_template[permalink]", + "schema": { + "type": "string" + }, + "description": "The disk template to return the versions for. \n\n All 'disk_template[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "default": 1, + "minimum": 1 + }, + "description": "The page number to request. If not provided, the first page will be returned." + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer", + "default": 30, + "minimum": 1 + }, + "description": "The number of items to return per page. If not provided, the default value will be used." } - }, + ], "responses": { "200": { - "description": "Deletes a disk and moves it to the trash", + "description": "Return a list of all disk template versions for a specific disk template", "content": { "application/json": { "schema": { "properties": { - "disk": { - "description": "The disk that has been move to the trash.", - "allOf": [ - { - "$ref": "#/components/schemas/DeleteDisk200ResponseDisk" - } - ] + "disk_template": { + "$ref": "#/components/schemas/GetDiskTemplateVersions200ResponseDiskTemplate" }, - "trash_object": { - "$ref": "#/components/schemas/TrashObject" + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "disk_template_versions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetDiskTemplateVersions200ResponseDiskTemplateVersions" + }, + "description": "The disk template versions for the provided template" } }, "required": [ - "disk", - "trash_object" + "disk_template", + "pagination", + "disk_template_versions" ] } } @@ -5765,16 +5418,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/DiskNotFoundResponse" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" - }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/DiskTemplateNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -5785,64 +5432,56 @@ } } }, - "/disks/disk/assign": { - "post": { - "operationId": "post:disk_assign", - "summary": "Assign disk to virtual machine", - "description": "Assign a disk to a virtual machine.\n## Scopes\n- `disks`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "/disk_template_versions/disk_template_version": { + "get": { + "operationId": "get:disk_template_version", + "summary": "Get disk template version", + "description": "Return details for a specific disk template version\n## Scopes\n- `disk_templates`\n- `disk_templates:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Disks" + "Disk template versions" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/disks" + "api.katapult.io/core/v1/disk_templates", + "api.katapult.io/core/v1/disk_templates:read" ] }, { "Authenticator": [ - "disks" + "disk_templates", + "disk_templates:read" ] } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "disk": { - "$ref": "#/components/schemas/DiskLookup" - }, - "virtual_machine": { - "$ref": "#/components/schemas/VirtualMachineLookup" - } - }, - "required": [ - "disk", - "virtual_machine" - ] - } - } + "parameters": [ + { + "in": "query", + "name": "disk_template_version[id]", + "schema": { + "type": "string" + }, + "description": "The disk template version to return." } - }, + ], "responses": { "200": { - "description": "Assign a disk to a virtual machine.", + "description": "Return details for a specific disk template version", "content": { "application/json": { "schema": { "properties": { - "disk": { - "description": "The disk that has been assigned to a virtual machine.", + "disk_template_version": { + "description": "The disk template version details", "allOf": [ { - "$ref": "#/components/schemas/PostDiskAssign200ResponseDisk" + "$ref": "#/components/schemas/GetDiskTemplateVersion200ResponseDiskTemplateVersion" } ] } }, "required": [ - "disk" + "disk_template_version" ] } } @@ -5852,16 +5491,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/DiskNotFoundVirtualMachineNotFound404Res" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" - }, - "422": { - "$ref": "#/components/responses/UnableToAssignResponse" + "$ref": "#/components/responses/DiskTemplateVersionNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -5872,60 +5505,60 @@ } } }, - "/disks/disk/unassign": { - "post": { - "operationId": "post:disk_unassign", - "summary": "Unassign disk from virtual machine", - "description": "Unassign a disk from a virtual machine.\n## Scopes\n- `disks`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "/disk_template_versions/disk_template_version/spec": { + "get": { + "operationId": "get:disk_template_version_spec", + "summary": "Get disk template version spec", + "description": "Return details provided by this template's specification\n## Scopes\n- `disk_templates`\n- `disk_templates:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Disks" + "Disk template versions" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/disks" + "api.katapult.io/core/v1/disk_templates", + "api.katapult.io/core/v1/disk_templates:read" ] }, { "Authenticator": [ - "disks" + "disk_templates", + "disk_templates:read" ] } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "disk": { - "$ref": "#/components/schemas/DiskLookup" - } - }, - "required": [ - "disk" - ] - } - } + "parameters": [ + { + "in": "query", + "name": "disk_template_version[id]", + "schema": { + "type": "string" + }, + "description": "The disk template version to return." } - }, + ], "responses": { "200": { - "description": "Unassign a disk from a virtual machine.", + "description": "Return details provided by this template's specification", "content": { "application/json": { "schema": { "properties": { - "disk": { - "description": "The disk that has been unassigned from a virtual machine.", + "disk_template_version": { + "description": "The disk template version details", "allOf": [ { - "$ref": "#/components/schemas/PostDiskUnassign200ResponseDisk" + "$ref": "#/components/schemas/GetDiskTemplateVersionSpec200ResponseDiskTemplateVersion" } ] + }, + "spec": { + "$ref": "#/components/schemas/TemplateSpec" } }, "required": [ - "disk" + "disk_template_version", + "spec" ] } } @@ -5935,16 +5568,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/DiskNotFoundResponse" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" - }, - "422": { - "$ref": "#/components/responses/UnableToUnassignResponse" + "$ref": "#/components/responses/DiskTemplateVersionNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -5955,64 +5582,104 @@ } } }, - "/disks/disk/attach": { - "post": { - "operationId": "post:disk_attach", - "summary": "Attach disk to virtual machine", - "description": "Attach a disk to its virtual machine.\n## Scopes\n- `disks`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "/organizations/organization/disk_templates": { + "get": { + "operationId": "get:organization_disk_templates", + "summary": "List disk templates", + "description": "Return a list of all disk templates owned by an organization\n## Scopes\n- `disk_templates`\n- `disk_templates:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Disks" + "Disk templates" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/disks" + "api.katapult.io/core/v1/disk_templates", + "api.katapult.io/core/v1/disk_templates:read" ] }, { "Authenticator": [ - "disks" + "disk_templates", + "disk_templates:read" ] } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "disk": { - "$ref": "#/components/schemas/DiskLookup" - } - }, - "required": [ - "disk" - ] - } - } + "parameters": [ + { + "in": "query", + "name": "organization[id]", + "schema": { + "type": "string" + }, + "description": "The organization to find disk templates for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." + }, + { + "in": "query", + "name": "organization[sub_domain]", + "schema": { + "type": "string" + }, + "description": "The organization to find disk templates for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "include_universal", + "in": "query", + "schema": { + "type": "boolean", + "description": "Whether or not to include universal templates" + }, + "description": "Whether or not to include universal templates" + }, + { + "in": "query", + "name": "operating_system[id]", + "schema": { + "type": "string" + }, + "description": "An operating system to use to filter disk templates." + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "default": 1, + "minimum": 1 + }, + "description": "The page number to request. If not provided, the first page will be returned." + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer", + "default": 30, + "minimum": 1 + }, + "description": "The number of items to return per page. If not provided, the default value will be used." } - }, + ], "responses": { "200": { - "description": "Attach a disk to its virtual machine.", + "description": "Return a list of all disk templates owned by an organization", "content": { "application/json": { "schema": { "properties": { - "disk": { - "description": "The disk that will be attached to its virtual machine.", - "allOf": [ - { - "$ref": "#/components/schemas/PostDiskAttach200ResponseDisk" - } - ] + "pagination": { + "$ref": "#/components/schemas/PaginationObject" }, - "task": { - "$ref": "#/components/schemas/Task" + "disk_templates": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetOrganizationDiskTemplates200ResponseDiskTemplates" + }, + "description": "The list of disk templates" } }, "required": [ - "disk", - "task" + "pagination", + "disk_templates" ] } } @@ -6022,16 +5689,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" }, "404": { - "$ref": "#/components/responses/DiskNotFoundResponse" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" - }, - "422": { - "$ref": "#/components/responses/UnassignedDiskResponse" + "$ref": "#/components/responses/OperatingSystemNotFoundOrganizationNotFound404Res" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -6042,64 +5703,64 @@ } } }, - "/disks/disk/detach": { - "post": { - "operationId": "post:disk_detach", - "summary": "Detach disk from virtual machine", - "description": "Detach a disk from its virtual machine.\n## Scopes\n- `disks`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "/disk_templates/disk_template": { + "get": { + "operationId": "get:disk_template", + "summary": "Get disk template", + "description": "Return details for a specific disk template\n## Scopes\n- `disk_templates`\n- `disk_templates:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Disks" + "Disk templates" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/disks" + "api.katapult.io/core/v1/disk_templates", + "api.katapult.io/core/v1/disk_templates:read" ] }, { "Authenticator": [ - "disks" + "disk_templates", + "disk_templates:read" ] } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "disk": { - "$ref": "#/components/schemas/DiskLookup" - } - }, - "required": [ - "disk" - ] - } - } + "parameters": [ + { + "in": "query", + "name": "disk_template[id]", + "schema": { + "type": "string" + }, + "description": "The disk template to return. \n\n All 'disk_template[]' params are mutually exclusive, only one can be provided." + }, + { + "in": "query", + "name": "disk_template[permalink]", + "schema": { + "type": "string" + }, + "description": "The disk template to return. \n\n All 'disk_template[]' params are mutually exclusive, only one can be provided." } - }, + ], "responses": { "200": { - "description": "Detach a disk from its virtual machine.", + "description": "Return details for a specific disk template", "content": { "application/json": { "schema": { "properties": { - "disk": { - "description": "The disk that will be detached from its virtual machine.", + "disk_template": { + "description": "The disk template details", "allOf": [ { - "$ref": "#/components/schemas/PostDiskDetach200ResponseDisk" + "$ref": "#/components/schemas/GetDiskTemplate200ResponseDiskTemplate" } ] - }, - "task": { - "$ref": "#/components/schemas/Task" } }, "required": [ - "disk", - "task" + "disk_template" ] } } @@ -6109,16 +5770,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/DiskNotFoundResponse" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" - }, - "422": { - "$ref": "#/components/responses/UnassignedDiskResponse" + "$ref": "#/components/responses/DiskTemplateNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -6129,71 +5784,109 @@ } } }, - "/disks/disk/resize": { - "put": { - "operationId": "put:disk_resize", - "summary": "Resize disk", - "description": "Resize a disk.\n## Scopes\n- `disks`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "/organizations/organization/disks": { + "get": { + "operationId": "get:organization_disks", + "summary": "List disks", + "description": "Return a list of all disks owned by an organization\n## Scopes\n- `disks`\n- `disks:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ "Disks" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/disks" + "api.katapult.io/core/v1/disks", + "api.katapult.io/core/v1/disks:read" ] }, { "Authenticator": [ - "disks" + "disks", + "disks:read" ] } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "disk": { - "$ref": "#/components/schemas/DiskLookup" - }, - "size_in_gb": { - "type": "integer" - }, - "resize_method": { - "$ref": "#/components/schemas/ResizeMethodEnum" - } - }, - "required": [ - "disk", - "size_in_gb" - ] + "parameters": [ + { + "in": "query", + "name": "organization[id]", + "schema": { + "type": "string" + }, + "description": "The organization to find disks for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." + }, + { + "in": "query", + "name": "organization[sub_domain]", + "schema": { + "type": "string" + }, + "description": "The organization to find disks for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." + }, + { + "in": "query", + "name": "annotations[][key]", + "schema": { + "type": "array", + "items": { + "type": "string" } - } + }, + "description": "An array of annotations to filter by. \n\n All `annotations[]` params should have the same amount of elements." + }, + { + "in": "query", + "name": "annotations[][value]", + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "An array of annotations to filter by. \n\n All `annotations[]` params should have the same amount of elements." + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "default": 1, + "minimum": 1 + }, + "description": "The page number to request. If not provided, the first page will be returned." + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer", + "default": 30, + "minimum": 1 + }, + "description": "The number of items to return per page. If not provided, the default value will be used." } - }, + ], "responses": { "200": { - "description": "Resize a disk.", + "description": "Return a list of all disks owned by an organization", "content": { "application/json": { "schema": { "properties": { - "disk": { - "description": "The disk that has been resized.", - "allOf": [ - { - "$ref": "#/components/schemas/PutDiskResize200ResponseDisk" - } - ] + "pagination": { + "$ref": "#/components/schemas/PaginationObject" }, - "task": { - "$ref": "#/components/schemas/Task" + "disk": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetOrganizationDisks200ResponseDisk" + }, + "description": "The list of disks" } }, "required": [ - "disk", - "task" + "pagination", + "disk" ] } } @@ -6203,16 +5896,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" }, "404": { - "$ref": "#/components/responses/DiskNotFoundResponse" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" - }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -6221,13 +5908,11 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/disks/disk/io_profile": { - "put": { - "operationId": "put:disk_io_profile", - "summary": "Change disk IO profile", - "description": "Change disk IO profile.\n## Scopes\n- `disks`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + }, + "post": { + "operationId": "post:organization_disks", + "summary": "Create disk", + "description": "Create a new disk for a given organization.\n## Scopes\n- `disks`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ "Disks" ], @@ -6248,43 +5933,57 @@ "application/json": { "schema": { "properties": { - "disk": { - "$ref": "#/components/schemas/DiskLookup" + "organization": { + "$ref": "#/components/schemas/OrganizationLookup" }, - "io_profile": { - "$ref": "#/components/schemas/DiskIOProfileLookup" + "properties": { + "$ref": "#/components/schemas/DiskArguments" + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } } }, "required": [ - "disk", - "io_profile" + "organization", + "properties" ] } } } }, "responses": { - "200": { - "description": "Change disk IO profile.", + "201": { + "description": "Create a new disk for a given organization.", "content": { "application/json": { "schema": { "properties": { "disk": { - "description": "The disk that has been updated.", + "description": "The disk that has been created.", "allOf": [ { - "$ref": "#/components/schemas/PutDiskIOProfile200ResponseDisk" + "$ref": "#/components/schemas/PostOrganizationDisks201ResponseDisk" } ] }, "task": { "$ref": "#/components/schemas/Task" + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + }, + "description": "Annotations for this disk" } }, "required": [ "disk", - "task" + "task", + "annotations" ] } } @@ -6294,13 +5993,16 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/DiskIOProfileNotFoundDiskNotFound404Res" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "406": { - "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" + "$ref": "#/components/responses/TaskQueueingErrorResponse" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -6311,11 +6013,11 @@ } } }, - "/virtual_machines/virtual_machine/disks": { + "/disks/disk": { "get": { - "operationId": "get:virtual_machine_disks", - "summary": "List virtual machine disks", - "description": "Return a list of all disks for a given virtual machine\n## Scopes\n- `disks`\n- `disks:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:disk", + "summary": "Get disk", + "description": "Return details for a specific disk\n## Scopes\n- `disks`\n- `disks:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ "Disks" ], @@ -6336,62 +6038,38 @@ "parameters": [ { "in": "query", - "name": "virtual_machine[id]", - "schema": { - "type": "string" - }, - "description": "The virtual machine to find disks for. \n\n All 'virtual_machine[]' params are mutually exclusive, only one can be provided." - }, - { - "in": "query", - "name": "virtual_machine[fqdn]", + "name": "disk[id]", "schema": { "type": "string" }, - "description": "The virtual machine to find disks for. \n\n All 'virtual_machine[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer", - "default": 1, - "minimum": 1 - }, - "description": "The page number to request. If not provided, the first page will be returned." - }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer", - "default": 30, - "minimum": 1 - }, - "description": "The number of items to return per page. If not provided, the default value will be used." + "description": "The disk to return." } ], "responses": { "200": { - "description": "Return a list of all disks for a given virtual machine", + "description": "Return details for a specific disk", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" + "disk": { + "description": "The disk details", + "allOf": [ + { + "$ref": "#/components/schemas/GetDisk200ResponseDisk" + } + ] }, - "disks": { + "annotations": { "type": "array", "items": { - "$ref": "#/components/schemas/GetVirtualMachineDisks200ResponseDisks" - }, - "description": "The list of disks" + "$ref": "#/components/schemas/KeyValue" + } } }, "required": [ - "pagination", - "disks" + "disk", + "annotations" ] } } @@ -6404,7 +6082,7 @@ "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/VirtualMachineNotFoundResponse" + "$ref": "#/components/responses/DiskNotFoundResponse" }, "406": { "$ref": "#/components/responses/ObjectInTrashResponse" @@ -6416,111 +6094,78 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/organizations/organization/file_storage_volumes": { - "get": { - "operationId": "get:organization_file_storage_volumes", - "summary": "List file storage volumes", - "description": "Returns a list of all file storage volumes for a given organization\n## Scopes\n- `file_storage_volumes`\n- `file_storage_volumes:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + }, + "patch": { + "operationId": "patch:disk", + "summary": "Update disk", + "description": "Update a disk for a given organization.\n## Scopes\n- `disks`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "File storage volumes" + "Disks" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/file_storage_volumes", - "api.katapult.io/core/v1/file_storage_volumes:read" + "api.katapult.io/core/v1/disks" ] }, { "Authenticator": [ - "file_storage_volumes", - "file_storage_volumes:read" + "disks" ] } ], - "parameters": [ - { - "in": "query", - "name": "organization[id]", - "schema": { - "type": "string" - }, - "description": "The organization to return all file storage volumes for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "in": "query", - "name": "organization[sub_domain]", - "schema": { - "type": "string" - }, - "description": "The organization to return all file storage volumes for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "in": "query", - "name": "annotations[][key]", - "schema": { - "type": "array", - "items": { - "type": "string" - } - }, - "description": "An array of annotations to filter by. \n\n All 'annotations[]' params are mutually exclusive, only one can be provided. \n\n All `annotations[]` params should have the same amount of elements." - }, - { - "in": "query", - "name": "annotations[][value]", - "schema": { - "type": "array", - "items": { - "type": "string" + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "disk": { + "$ref": "#/components/schemas/DiskLookup" + }, + "properties": { + "$ref": "#/components/schemas/DiskArguments" + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } + } + }, + "required": [ + "disk", + "properties" + ] } - }, - "description": "An array of annotations to filter by. \n\n All 'annotations[]' params are mutually exclusive, only one can be provided. \n\n All `annotations[]` params should have the same amount of elements." - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer", - "default": 1, - "minimum": 1 - }, - "description": "The page number to request. If not provided, the first page will be returned." - }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer", - "default": 30, - "minimum": 1 - }, - "description": "The number of items to return per page. If not provided, the default value will be used." + } } - ], + }, "responses": { "200": { - "description": "Returns a list of all file storage volumes for a given organization", + "description": "Update a disk for a given organization.", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" + "disk": { + "description": "The disk that has been updated.", + "allOf": [ + { + "$ref": "#/components/schemas/PatchDisk200ResponseDisk" + } + ] }, - "file_storage_volumes": { + "annotations": { "type": "array", "items": { - "$ref": "#/components/schemas/GetOrganizationFileStorageVolumes200ResponseFileStorageVolumes" + "$ref": "#/components/schemas/KeyValue" }, - "description": "A list of all file storage volumes for the given organization." + "description": "Annotations for this disk" } }, "required": [ - "pagination", - "file_storage_volumes" + "disk", + "annotations" ] } } @@ -6530,10 +6175,16 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/DiskNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" + }, + "422": { + "$ref": "#/components/responses/UnassignedDiskValidationError422Res" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -6543,22 +6194,22 @@ } } }, - "post": { - "operationId": "post:organization_file_storage_volumes", - "summary": "Create file storage volume", - "description": "Create a new file storage volume for a given organization.\n## Scopes\n- `file_storage_volumes`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "delete": { + "operationId": "delete:disk", + "summary": "Delete disk", + "description": "Deletes a disk and moves it to the trash\n## Scopes\n- `disks`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "File storage volumes" + "Disks" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/file_storage_volumes" + "api.katapult.io/core/v1/disks" ] }, { "Authenticator": [ - "file_storage_volumes" + "disks" ] } ], @@ -6567,52 +6218,39 @@ "application/json": { "schema": { "properties": { - "organization": { - "$ref": "#/components/schemas/OrganizationLookup" - }, - "properties": { - "$ref": "#/components/schemas/FileStorageVolumeArguments" - }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } + "disk": { + "$ref": "#/components/schemas/DiskLookup" } }, "required": [ - "organization", - "properties" + "disk" ] } } } }, "responses": { - "201": { - "description": "Create a new file storage volume for a given organization.", + "200": { + "description": "Deletes a disk and moves it to the trash", "content": { "application/json": { "schema": { "properties": { - "file_storage_volume": { - "description": "The file storage volume.", + "disk": { + "description": "The disk that has been move to the trash.", "allOf": [ { - "$ref": "#/components/schemas/PostOrganizationFileStorageVolumes201ResponseFileStorageVolume" + "$ref": "#/components/schemas/DeleteDisk200ResponseDisk" } ] }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } + "trash_object": { + "$ref": "#/components/schemas/TrashObject" } }, "required": [ - "file_storage_volume", - "annotations" + "disk", + "trash_object" ] } } @@ -6622,10 +6260,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedPermissionDeniedResourceCreationRestricted403Res" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/DiskNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -6639,63 +6280,64 @@ } } }, - "/file_storage_volumes/file_storage_volume": { - "get": { - "operationId": "get:file_storage_volume", - "summary": "Get file storage volume", - "description": "Returns details for a file storage volume.\n## Scopes\n- `file_storage_volumes`\n- `file_storage_volumes:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "/disks/disk/assign": { + "post": { + "operationId": "post:disk_assign", + "summary": "Assign disk to virtual machine", + "description": "Assign a disk to a virtual machine.\n## Scopes\n- `disks`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "File storage volumes" + "Disks" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/file_storage_volumes", - "api.katapult.io/core/v1/file_storage_volumes:read" + "api.katapult.io/core/v1/disks" ] }, { "Authenticator": [ - "file_storage_volumes", - "file_storage_volumes:read" + "disks" ] } ], - "parameters": [ - { - "in": "query", - "name": "file_storage_volume[id]", - "schema": { - "type": "string" - }, - "description": "The file storage volume to return. \n\n All 'file_storage_volume[]' params are mutually exclusive, only one can be provided." + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "disk": { + "$ref": "#/components/schemas/DiskLookup" + }, + "virtual_machine": { + "$ref": "#/components/schemas/VirtualMachineLookup" + } + }, + "required": [ + "disk", + "virtual_machine" + ] + } + } } - ], + }, "responses": { "200": { - "description": "Returns details for a file storage volume.", + "description": "Assign a disk to a virtual machine.", "content": { "application/json": { "schema": { "properties": { - "file_storage_volume": { - "description": "The file storage volume.", + "disk": { + "description": "The disk that has been assigned to a virtual machine.", "allOf": [ { - "$ref": "#/components/schemas/GetFileStorageVolume200ResponseFileStorageVolume" + "$ref": "#/components/schemas/PostDiskAssign200ResponseDisk" } ] - }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } } }, "required": [ - "file_storage_volume", - "annotations" + "disk" ] } } @@ -6708,11 +6350,14 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/FileStorageVolumeNotFoundResponse" + "$ref": "#/components/responses/DiskNotFoundVirtualMachineNotFound404Res" }, "406": { "$ref": "#/components/responses/ObjectInTrashResponse" }, + "422": { + "$ref": "#/components/responses/UnableToAssignResponse" + }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, @@ -6720,23 +6365,25 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, - "patch": { - "operationId": "patch:file_storage_volume", - "summary": "Update file storage volume", - "description": "Update a file storage volume with new properties.\n## Scopes\n- `file_storage_volumes`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + } + }, + "/disks/disk/unassign": { + "post": { + "operationId": "post:disk_unassign", + "summary": "Unassign disk from virtual machine", + "description": "Unassign a disk from a virtual machine.\n## Scopes\n- `disks`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "File storage volumes" + "Disks" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/file_storage_volumes" + "api.katapult.io/core/v1/disks" ] }, { "Authenticator": [ - "file_storage_volumes" + "disks" ] } ], @@ -6745,22 +6392,12 @@ "application/json": { "schema": { "properties": { - "file_storage_volume": { - "$ref": "#/components/schemas/FileStorageVolumeLookup" - }, - "properties": { - "$ref": "#/components/schemas/FileStorageVolumeArguments" - }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } + "disk": { + "$ref": "#/components/schemas/DiskLookup" } }, "required": [ - "file_storage_volume", - "properties" + "disk" ] } } @@ -6768,29 +6405,22 @@ }, "responses": { "200": { - "description": "Update a file storage volume with new properties.", + "description": "Unassign a disk from a virtual machine.", "content": { "application/json": { "schema": { "properties": { - "file_storage_volume": { - "description": "The file storage volume.", + "disk": { + "description": "The disk that has been unassigned from a virtual machine.", "allOf": [ { - "$ref": "#/components/schemas/PatchFileStorageVolume200ResponseFileStorageVolume" + "$ref": "#/components/schemas/PostDiskUnassign200ResponseDisk" } ] - }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } } }, "required": [ - "file_storage_volume", - "annotations" + "disk" ] } } @@ -6803,13 +6433,13 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/FileStorageVolumeNotFoundResponse" + "$ref": "#/components/responses/DiskNotFoundResponse" }, "406": { "$ref": "#/components/responses/ObjectInTrashResponse" }, "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/UnableToUnassignResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -6818,23 +6448,25 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, - "delete": { - "operationId": "delete:file_storage_volume", - "summary": "Delete file storage volume", - "description": "Delete a file storage volume.\n## Scopes\n- `file_storage_volumes`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + } + }, + "/disks/disk/attach": { + "post": { + "operationId": "post:disk_attach", + "summary": "Attach disk to virtual machine", + "description": "Attach a disk to its virtual machine.\n## Scopes\n- `disks`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "File storage volumes" + "Disks" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/file_storage_volumes" + "api.katapult.io/core/v1/disks" ] }, { "Authenticator": [ - "file_storage_volumes" + "disks" ] } ], @@ -6843,12 +6475,12 @@ "application/json": { "schema": { "properties": { - "file_storage_volume": { - "$ref": "#/components/schemas/FileStorageVolumeLookup" + "disk": { + "$ref": "#/components/schemas/DiskLookup" } }, "required": [ - "file_storage_volume" + "disk" ] } } @@ -6856,26 +6488,26 @@ }, "responses": { "200": { - "description": "Delete a file storage volume.", + "description": "Attach a disk to its virtual machine.", "content": { "application/json": { "schema": { "properties": { - "trash_object": { - "$ref": "#/components/schemas/TrashObject" - }, - "file_storage_volume": { - "description": "The file storage volume that has been destroyed.", + "disk": { + "description": "The disk that will be attached to its virtual machine.", "allOf": [ { - "$ref": "#/components/schemas/DeleteFileStorageVolume200ResponseFileStorageVolume" + "$ref": "#/components/schemas/PostDiskAttach200ResponseDisk" } ] + }, + "task": { + "$ref": "#/components/schemas/Task" } }, "required": [ - "trash_object", - "file_storage_volume" + "disk", + "task" ] } } @@ -6888,13 +6520,13 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/FileStorageVolumeNotFoundResponse" + "$ref": "#/components/responses/DiskNotFoundResponse" }, "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" }, "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/UnassignedDiskResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -6905,56 +6537,64 @@ } } }, - "/gpu_types": { - "get": { - "operationId": "get:gpu_types", - "summary": "List GPU types", - "description": "Provides a full list of all GPU types", + "/disks/disk/detach": { + "post": { + "operationId": "post:disk_detach", + "summary": "Detach disk from virtual machine", + "description": "Detach a disk from its virtual machine.\n## Scopes\n- `disks`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "GPU types" + "Disks" ], - "parameters": [ + "security": [ { - "name": "page", - "in": "query", - "schema": { - "type": "integer", - "default": 1, - "minimum": 1 - }, - "description": "The page number to request. If not provided, the first page will be returned." + "OAuth2": [ + "api.katapult.io/core/v1/disks" + ] }, { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer", - "default": 30, - "minimum": 1 - }, - "description": "The number of items to return per page. If not provided, the default value will be used." + "Authenticator": [ + "disks" + ] } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "disk": { + "$ref": "#/components/schemas/DiskLookup" + } + }, + "required": [ + "disk" + ] + } + } + } + }, "responses": { "200": { - "description": "Provides a full list of all GPU types", + "description": "Detach a disk from its virtual machine.", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" + "disk": { + "description": "The disk that will be detached from its virtual machine.", + "allOf": [ + { + "$ref": "#/components/schemas/PostDiskDetach200ResponseDisk" + } + ] }, - "gpu_types": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetGPUTypes200ResponseGPUTypes" - } + "task": { + "$ref": "#/components/schemas/Task" } }, "required": [ - "pagination", - "gpu_types" + "disk", + "task" ] } } @@ -6964,7 +6604,16 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/DiskNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" + }, + "422": { + "$ref": "#/components/responses/UnassignedDiskResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -6975,45 +6624,71 @@ } } }, - "/gpu_types/gpu_type": { - "get": { - "operationId": "get:gpu_type", - "summary": "Get GPU type", - "description": "Provide details for a specific GPU type", + "/disks/disk/resize": { + "put": { + "operationId": "put:disk_resize", + "summary": "Resize disk", + "description": "Resize a disk.\n## Scopes\n- `disks`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "GPU types" + "Disks" ], - "parameters": [ + "security": [ { - "in": "query", - "name": "gpu_type[id]", - "schema": { - "type": "string" - }, - "description": "All 'gpu_type[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/disks" + ] }, { - "in": "query", - "name": "gpu_type[permalink]", - "schema": { - "type": "string" - }, - "description": "All 'gpu_type[]' params are mutually exclusive, only one can be provided." + "Authenticator": [ + "disks" + ] } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "disk": { + "$ref": "#/components/schemas/DiskLookup" + }, + "size_in_gb": { + "type": "integer" + }, + "resize_method": { + "$ref": "#/components/schemas/ResizeMethodEnum" + } + }, + "required": [ + "disk", + "size_in_gb" + ] + } + } + } + }, "responses": { "200": { - "description": "Provide details for a specific GPU type", + "description": "Resize a disk.", "content": { "application/json": { "schema": { "properties": { - "gpu_type": { - "$ref": "#/components/schemas/GetGPUType200ResponseGPUType" + "disk": { + "description": "The disk that has been resized.", + "allOf": [ + { + "$ref": "#/components/schemas/PutDiskResize200ResponseDisk" + } + ] + }, + "task": { + "$ref": "#/components/schemas/Task" } }, "required": [ - "gpu_type" + "disk", + "task" ] } } @@ -7023,10 +6698,16 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/GPUTypeNotFoundResponse" + "$ref": "#/components/responses/DiskNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -7037,30 +6718,132 @@ } } }, - "/data_centers/data_center/gpu_types": { - "get": { - "operationId": "get:data_center_gpu_types", - "summary": "List GPU types for Data Center", - "description": "Provides a list of all GPU types available in a given data center", + "/disks/disk/io_profile": { + "put": { + "operationId": "put:disk_io_profile", + "summary": "Change disk IO profile", + "description": "Change disk IO profile.\n## Scopes\n- `disks`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "GPU types" + "Disks" ], - "parameters": [ + "security": [ { - "in": "query", - "name": "data_center[id]", - "schema": { - "type": "string" - }, - "description": "The data center to list GPU types for. \n\n All 'data_center[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/disks" + ] + }, + { + "Authenticator": [ + "disks" + ] + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "disk": { + "$ref": "#/components/schemas/DiskLookup" + }, + "io_profile": { + "$ref": "#/components/schemas/DiskIOProfileLookup" + } + }, + "required": [ + "disk", + "io_profile" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Change disk IO profile.", + "content": { + "application/json": { + "schema": { + "properties": { + "disk": { + "description": "The disk that has been updated.", + "allOf": [ + { + "$ref": "#/components/schemas/PutDiskIOProfile200ResponseDisk" + } + ] + }, + "task": { + "$ref": "#/components/schemas/Task" + } + }, + "required": [ + "disk", + "task" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/PermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/DiskIOProfileNotFoundDiskNotFound404Res" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + } + }, + "/virtual_machines/virtual_machine/disks": { + "get": { + "operationId": "get:virtual_machine_disks", + "summary": "List virtual machine disks", + "description": "Return a list of all disks for a given virtual machine\n## Scopes\n- `disks`\n- `disks:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "tags": [ + "Disks" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/disks", + "api.katapult.io/core/v1/disks:read" + ] + }, + { + "Authenticator": [ + "disks", + "disks:read" + ] + } + ], + "parameters": [ + { + "in": "query", + "name": "virtual_machine[id]", + "schema": { + "type": "string" + }, + "description": "The virtual machine to find disks for. \n\n All 'virtual_machine[]' params are mutually exclusive, only one can be provided." }, { "in": "query", - "name": "data_center[permalink]", + "name": "virtual_machine[fqdn]", "schema": { "type": "string" }, - "description": "The data center to list GPU types for. \n\n All 'data_center[]' params are mutually exclusive, only one can be provided." + "description": "The virtual machine to find disks for. \n\n All 'virtual_machine[]' params are mutually exclusive, only one can be provided." }, { "name": "page", @@ -7085,7 +6868,7 @@ ], "responses": { "200": { - "description": "Provides a list of all GPU types available in a given data center", + "description": "Return a list of all disks for a given virtual machine", "content": { "application/json": { "schema": { @@ -7093,16 +6876,17 @@ "pagination": { "$ref": "#/components/schemas/PaginationObject" }, - "gpu_types": { + "disks": { "type": "array", "items": { - "$ref": "#/components/schemas/GetDataCenterGPUTypes200ResponseGPUTypes" - } + "$ref": "#/components/schemas/GetVirtualMachineDisks200ResponseDisks" + }, + "description": "The list of disks" } }, "required": [ "pagination", - "gpu_types" + "disks" ] } } @@ -7115,7 +6899,10 @@ "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/DataCenterNotFoundResponse" + "$ref": "#/components/responses/VirtualMachineNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -7126,25 +6913,25 @@ } } }, - "/organizations/organization/ip_addresses": { + "/organizations/organization/file_storage_volumes": { "get": { - "operationId": "get:organization_ip_addresses", - "summary": "List IP addresses", - "description": "Returns a list of all IP addresses belonging to an organization\n## Scopes\n- `ip_addresses`\n- `ip_addresses:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:organization_file_storage_volumes", + "summary": "List file storage volumes", + "description": "Returns a list of all file storage volumes for a given organization\n## Scopes\n- `file_storage_volumes`\n- `file_storage_volumes:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "IP addresses" + "File storage volumes" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/ip_addresses", - "api.katapult.io/core/v1/ip_addresses:read" + "api.katapult.io/core/v1/file_storage_volumes", + "api.katapult.io/core/v1/file_storage_volumes:read" ] }, { "Authenticator": [ - "ip_addresses", - "ip_addresses:read" + "file_storage_volumes", + "file_storage_volumes:read" ] } ], @@ -7155,7 +6942,7 @@ "schema": { "type": "string" }, - "description": "The organization to use when looking up IP addresses. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "The organization to return all file storage volumes for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." }, { "in": "query", @@ -7163,16 +6950,29 @@ "schema": { "type": "string" }, - "description": "The organization to use when looking up IP addresses. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "The organization to return all file storage volumes for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." }, { - "name": "allocated", "in": "query", + "name": "annotations[][key]", "schema": { - "type": "boolean", - "description": "If true, only return allocated IP addresss. If false, only return unallocated IP addresses." + "type": "array", + "items": { + "type": "string" + } }, - "description": "If true, only return allocated IP addresss. If false, only return unallocated IP addresses." + "description": "An array of annotations to filter by. \n\n All `annotations[]` params should have the same amount of elements." + }, + { + "in": "query", + "name": "annotations[][value]", + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "An array of annotations to filter by. \n\n All `annotations[]` params should have the same amount of elements." }, { "name": "page", @@ -7197,7 +6997,7 @@ ], "responses": { "200": { - "description": "Returns a list of all IP addresses belonging to an organization", + "description": "Returns a list of all file storage volumes for a given organization", "content": { "application/json": { "schema": { @@ -7205,17 +7005,17 @@ "pagination": { "$ref": "#/components/schemas/PaginationObject" }, - "ip_addresses": { + "file_storage_volumes": { "type": "array", "items": { - "$ref": "#/components/schemas/GetOrganizationIPAddresses200ResponseIPAddresses" + "$ref": "#/components/schemas/GetOrganizationFileStorageVolumes200ResponseFileStorageVolumes" }, - "description": "The IP addresses belonging to this organization" + "description": "A list of all file storage volumes for the given organization." } }, "required": [ "pagination", - "ip_addresses" + "file_storage_volumes" ] } } @@ -7239,21 +7039,21 @@ } }, "post": { - "operationId": "post:organization_ip_addresses", - "summary": "Create IP Address", - "description": "Creates a new IP address on this organization\n## Scopes\n- `ip_addresses`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "post:organization_file_storage_volumes", + "summary": "Create file storage volume", + "description": "Create a new file storage volume for a given organization.\n## Scopes\n- `file_storage_volumes`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "IP addresses" + "File storage volumes" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/ip_addresses" + "api.katapult.io/core/v1/file_storage_volumes" ] }, { "Authenticator": [ - "ip_addresses" + "file_storage_volumes" ] } ], @@ -7265,48 +7065,49 @@ "organization": { "$ref": "#/components/schemas/OrganizationLookup" }, - "network": { - "$ref": "#/components/schemas/NetworkLookup" - }, - "version": { - "$ref": "#/components/schemas/IPAddressVersionEnum" - }, - "vip": { - "type": "boolean", - "description": "Whether or not to set this address as a VIP" + "properties": { + "$ref": "#/components/schemas/FileStorageVolumeArguments" }, - "label": { - "type": "string", - "description": "The label to give this address if setting it as a VIP" + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } } }, "required": [ "organization", - "network", - "version" + "properties" ] } } } }, "responses": { - "200": { - "description": "Creates a new IP address on this organization", + "201": { + "description": "Create a new file storage volume for a given organization.", "content": { "application/json": { "schema": { "properties": { - "ip_address": { - "description": "The newly allocated IP address", + "file_storage_volume": { + "description": "The file storage volume.", "allOf": [ { - "$ref": "#/components/schemas/IPAddress" + "$ref": "#/components/schemas/PostOrganizationFileStorageVolumes201ResponseFileStorageVolume" } ] + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } } }, "required": [ - "ip_address" + "file_storage_volume", + "annotations" ] } } @@ -7316,10 +7117,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedPermissionDeniedResourceCreationRestricted403Res" }, "404": { - "$ref": "#/components/responses/NetworkNotFoundOrganizationNotFound404Res" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -7328,79 +7129,68 @@ "$ref": "#/components/responses/APIAuthenticator429Response" }, "503": { - "$ref": "#/components/responses/NoAvailableAddresses503Res" + "$ref": "#/components/responses/APIAuthenticator503Response" } } } }, - "/ip_addresses/ip_address": { + "/file_storage_volumes/file_storage_volume": { "get": { - "operationId": "get:ip_address", - "summary": "Get IP address", - "description": "Returns information about a specific IP address\n## Scopes\n- `ip_addresses`\n- `ip_addresses:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:file_storage_volume", + "summary": "Get file storage volume", + "description": "Returns details for a file storage volume.\n## Scopes\n- `file_storage_volumes`\n- `file_storage_volumes:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "IP addresses" + "File storage volumes" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/ip_addresses", - "api.katapult.io/core/v1/ip_addresses:read" + "api.katapult.io/core/v1/file_storage_volumes", + "api.katapult.io/core/v1/file_storage_volumes:read" ] }, { "Authenticator": [ - "ip_addresses", - "ip_addresses:read" - ] + "file_storage_volumes", + "file_storage_volumes:read" + ] } ], "parameters": [ { "in": "query", - "name": "ip_address[id]", - "schema": { - "type": "string" - }, - "description": "The IP address to find. \n\n All 'ip_address[]' params are mutually exclusive, only one can be provided." - }, - { - "in": "query", - "name": "ip_address[address]", + "name": "file_storage_volume[id]", "schema": { "type": "string" }, - "description": "The IP address to find. \n\n All 'ip_address[]' params are mutually exclusive, only one can be provided." + "description": "The file storage volume to return." } ], "responses": { "200": { - "description": "Returns information about a specific IP address", + "description": "Returns details for a file storage volume.", "content": { "application/json": { "schema": { "properties": { - "ip_address": { - "description": "The IP address that has been located", + "file_storage_volume": { + "description": "The file storage volume.", "allOf": [ { - "$ref": "#/components/schemas/IPAddress" + "$ref": "#/components/schemas/GetFileStorageVolume200ResponseFileStorageVolume" } ] }, - "allocation": { - "allOf": [ - { - "$ref": "#/components/schemas/GetIPAddress200ResponseAllocation" - } - ], - "description": "The resource this address is allocated to", - "nullable": true + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } } }, "required": [ - "ip_address", - "allocation" + "file_storage_volume", + "annotations" ] } } @@ -7410,10 +7200,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/IPAddressNotFoundResponse" + "$ref": "#/components/responses/FileStorageVolumeNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -7424,21 +7217,21 @@ } }, "patch": { - "operationId": "patch:ip_address", - "summary": "Update IP address", - "description": "Updates the details on an IP address\n## Scopes\n- `ip_addresses`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "patch:file_storage_volume", + "summary": "Update file storage volume", + "description": "Update a file storage volume with new properties.\n## Scopes\n- `file_storage_volumes`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "IP addresses" + "File storage volumes" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/ip_addresses" + "api.katapult.io/core/v1/file_storage_volumes" ] }, { "Authenticator": [ - "ip_addresses" + "file_storage_volumes" ] } ], @@ -7447,24 +7240,22 @@ "application/json": { "schema": { "properties": { - "ip_address": { - "$ref": "#/components/schemas/IPAddressLookup" - }, - "vip": { - "type": "boolean", - "description": "Whether or not to set this address as a VIP" + "file_storage_volume": { + "$ref": "#/components/schemas/FileStorageVolumeLookup" }, - "label": { - "type": "string", - "description": "The label to give this address if setting it as a VIP" + "properties": { + "$ref": "#/components/schemas/FileStorageVolumeArguments" }, - "reverse_dns": { - "type": "string", - "description": "The reverse DNS to set for this IP address" + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } } }, "required": [ - "ip_address" + "file_storage_volume", + "properties" ] } } @@ -7472,22 +7263,29 @@ }, "responses": { "200": { - "description": "Updates the details on an IP address", + "description": "Update a file storage volume with new properties.", "content": { "application/json": { "schema": { "properties": { - "ip_address": { - "description": "The IP address that has been updated", + "file_storage_volume": { + "description": "The file storage volume.", "allOf": [ { - "$ref": "#/components/schemas/IPAddress" + "$ref": "#/components/schemas/PatchFileStorageVolume200ResponseFileStorageVolume" } ] + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } } }, "required": [ - "ip_address" + "file_storage_volume", + "annotations" ] } } @@ -7500,7 +7298,10 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/IPAddressNotFoundResponse" + "$ref": "#/components/responses/FileStorageVolumeNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -7514,21 +7315,21 @@ } }, "delete": { - "operationId": "delete:ip_address", - "summary": "Release an IP address", - "description": "Release an IP address from its organization\n## Scopes\n- `ip_addresses`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "delete:file_storage_volume", + "summary": "Delete file storage volume", + "description": "Delete a file storage volume.\n## Scopes\n- `file_storage_volumes`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "IP addresses" + "File storage volumes" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/ip_addresses" + "api.katapult.io/core/v1/file_storage_volumes" ] }, { "Authenticator": [ - "ip_addresses" + "file_storage_volumes" ] } ], @@ -7537,12 +7338,12 @@ "application/json": { "schema": { "properties": { - "ip_address": { - "$ref": "#/components/schemas/IPAddressLookup" + "file_storage_volume": { + "$ref": "#/components/schemas/FileStorageVolumeLookup" } }, "required": [ - "ip_address" + "file_storage_volume" ] } } @@ -7550,13 +7351,27 @@ }, "responses": { "200": { - "description": "Release an IP address from its organization", + "description": "Delete a file storage volume.", "content": { "application/json": { "schema": { "properties": { - - } + "trash_object": { + "$ref": "#/components/schemas/TrashObject" + }, + "file_storage_volume": { + "description": "The file storage volume that has been destroyed.", + "allOf": [ + { + "$ref": "#/components/schemas/DeleteFileStorageVolume200ResponseFileStorageVolume" + } + ] + } + }, + "required": [ + "trash_object", + "file_storage_volume" + ] } } } @@ -7568,10 +7383,13 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/IPAddressNotFoundResponse" + "$ref": "#/components/responses/FileStorageVolumeNotFoundResponse" }, - "409": { - "$ref": "#/components/responses/ResourceDoesNotSupportUnallocationResponse" + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -7582,51 +7400,57 @@ } } }, - "/ip_addresses/ip_address/unallocate": { - "post": { - "operationId": "post:ip_address_unallocate", - "summary": "Unallocate an IP address", - "description": "Unallocate an IP address from its resource\n## Scopes\n- `ip_addresses`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "/gpu_types": { + "get": { + "operationId": "get:gpu_types", + "summary": "List GPU types", + "description": "Provides a full list of all GPU types", "tags": [ - "IP addresses" + "GPU types" ], - "security": [ + "parameters": [ { - "OAuth2": [ - "api.katapult.io/core/v1/ip_addresses" - ] + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "default": 1, + "minimum": 1 + }, + "description": "The page number to request. If not provided, the first page will be returned." }, { - "Authenticator": [ - "ip_addresses" - ] + "name": "per_page", + "in": "query", + "schema": { + "type": "integer", + "default": 30, + "minimum": 1 + }, + "description": "The number of items to return per page. If not provided, the default value will be used." } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "ip_address": { - "$ref": "#/components/schemas/IPAddressLookup" - } - }, - "required": [ - "ip_address" - ] - } - } - } - }, "responses": { "200": { - "description": "Unallocate an IP address from its resource", + "description": "Provides a full list of all GPU types", "content": { "application/json": { "schema": { "properties": { - - } + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "gpu_types": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetGPUTypes200ResponseGPUTypes" + } + } + }, + "required": [ + "pagination", + "gpu_types" + ] } } } @@ -7637,15 +7461,6 @@ "403": { "$ref": "#/components/responses/APIAuthenticator403Response" }, - "404": { - "$ref": "#/components/responses/IPAddressNotFoundResponse" - }, - "409": { - "$ref": "#/components/responses/ResourceDoesNotSupportUnallocationResponse" - }, - "422": { - "$ref": "#/components/responses/NoAllocationResponse" - }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, @@ -7655,87 +7470,45 @@ } } }, - "/load_balancers/load_balancer/rules": { + "/gpu_types/gpu_type": { "get": { - "operationId": "get:load_balancer_rules", - "summary": "List load balancer rules", - "description": "Returns a list of all rules for a given load balancer\n## Scopes\n- `load_balancers`\n- `load_balancers:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:gpu_type", + "summary": "Get GPU type", + "description": "Provide details for a specific GPU type", "tags": [ - "Load balancer rules" - ], - "security": [ - { - "OAuth2": [ - "api.katapult.io/core/v1/load_balancers", - "api.katapult.io/core/v1/load_balancers:read" - ] - }, - { - "Authenticator": [ - "load_balancers", - "load_balancers:read" - ] - } + "GPU types" ], "parameters": [ { "in": "query", - "name": "load_balancer[id]", + "name": "gpu_type[id]", "schema": { "type": "string" }, - "description": "The load balancer to return all load rules for. \n\n All 'load_balancer[]' params are mutually exclusive, only one can be provided." + "description": "All 'gpu_type[]' params are mutually exclusive, only one can be provided." }, { "in": "query", - "name": "load_balancer[api_reference]", + "name": "gpu_type[permalink]", "schema": { "type": "string" }, - "description": "The load balancer to return all load rules for. \n\n All 'load_balancer[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer", - "default": 1, - "minimum": 1 - }, - "description": "The page number to request. If not provided, the first page will be returned." - }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer", - "default": 30, - "minimum": 1 - }, - "description": "The number of items to return per page. If not provided, the default value will be used." + "description": "All 'gpu_type[]' params are mutually exclusive, only one can be provided." } ], "responses": { "200": { - "description": "Returns a list of all rules for a given load balancer", + "description": "Provide details for a specific GPU type", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "load_balancer_rules": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetLoadBalancerRules200ResponseLoadBalancerRules" - }, - "description": "The load balancer rules for this load balancer" + "gpu_type": { + "$ref": "#/components/schemas/GetGPUType200ResponseGPUType" } }, "required": [ - "pagination", - "load_balancer_rules" + "gpu_type" ] } } @@ -7745,10 +7518,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/LoadBalancerNotFoundResponse" + "$ref": "#/components/responses/GPUTypeNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -7757,64 +7530,74 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, - "post": { - "operationId": "post:load_balancer_rules", - "summary": "Create load balancer rule", - "description": "Create a new load balancer rule\n## Scopes\n- `load_balancers`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + } + }, + "/data_centers/data_center/gpu_types": { + "get": { + "operationId": "get:data_center_gpu_types", + "summary": "List GPU types for Data Center", + "description": "Provides a list of all GPU types available in a given data center", "tags": [ - "Load balancer rules" + "GPU types" ], - "security": [ + "parameters": [ { - "OAuth2": [ - "api.katapult.io/core/v1/load_balancers" - ] + "in": "query", + "name": "data_center[id]", + "schema": { + "type": "string" + }, + "description": "The data center to list GPU types for. \n\n All 'data_center[]' params are mutually exclusive, only one can be provided." }, { - "Authenticator": [ - "load_balancers" - ] + "in": "query", + "name": "data_center[permalink]", + "schema": { + "type": "string" + }, + "description": "The data center to list GPU types for. \n\n All 'data_center[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "default": 1, + "minimum": 1 + }, + "description": "The page number to request. If not provided, the first page will be returned." + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer", + "default": 30, + "minimum": 1 + }, + "description": "The number of items to return per page. If not provided, the default value will be used." } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "load_balancer": { - "$ref": "#/components/schemas/LoadBalancerLookup" - }, - "properties": { - "$ref": "#/components/schemas/LoadBalancerRuleArguments" - } - }, - "required": [ - "load_balancer", - "properties" - ] - } - } - } - }, "responses": { "200": { - "description": "Create a new load balancer rule", + "description": "Provides a list of all GPU types available in a given data center", "content": { "application/json": { "schema": { "properties": { - "load_balancer_rule": { - "description": "The load balancer rule that has been created", - "allOf": [ - { - "$ref": "#/components/schemas/PostLoadBalancerRules200ResponseLoadBalancerRule" - } - ] + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "gpu_types": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetDataCenterGPUTypes200ResponseGPUTypes" + } } }, "required": [ - "load_balancer_rule" + "pagination", + "gpu_types" ] } } @@ -7824,13 +7607,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/LoadBalancerNotFoundResponse" - }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/DataCenterNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -7841,56 +7621,96 @@ } } }, - "/load_balancers/rules/load_balancer_rule": { + "/organizations/organization/ip_addresses": { "get": { - "operationId": "get:load_balancers_rules_load_balancer_rule", - "summary": "Get load balancer rule", - "description": "Returns details about a load balancer rule\n## Scopes\n- `load_balancers`\n- `load_balancers:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:organization_ip_addresses", + "summary": "List IP addresses", + "description": "Returns a list of all IP addresses belonging to an organization\n## Scopes\n- `ip_addresses`\n- `ip_addresses:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Load balancer rules" + "IP addresses" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/load_balancers", - "api.katapult.io/core/v1/load_balancers:read" + "api.katapult.io/core/v1/ip_addresses", + "api.katapult.io/core/v1/ip_addresses:read" ] }, { "Authenticator": [ - "load_balancers", - "load_balancers:read" + "ip_addresses", + "ip_addresses:read" ] } ], "parameters": [ { "in": "query", - "name": "load_balancer_rule[id]", + "name": "organization[id]", + "schema": { + "type": "string" + }, + "description": "The organization to use when looking up IP addresses. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." + }, + { + "in": "query", + "name": "organization[sub_domain]", "schema": { "type": "string" }, - "description": "The load balancer rule to return the details for. \n\n All 'load_balancer_rule[]' params are mutually exclusive, only one can be provided." + "description": "The organization to use when looking up IP addresses. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "allocated", + "in": "query", + "schema": { + "type": "boolean", + "description": "If true, only return allocated IP addresss. If false, only return unallocated IP addresses." + }, + "description": "If true, only return allocated IP addresss. If false, only return unallocated IP addresses." + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "default": 1, + "minimum": 1 + }, + "description": "The page number to request. If not provided, the first page will be returned." + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer", + "default": 30, + "minimum": 1 + }, + "description": "The number of items to return per page. If not provided, the default value will be used." } ], "responses": { "200": { - "description": "Returns details about a load balancer rule", + "description": "Returns a list of all IP addresses belonging to an organization", "content": { "application/json": { "schema": { "properties": { - "load_balancer_rule": { - "description": "The resolved load balancer rule", - "allOf": [ - { - "$ref": "#/components/schemas/GetLoadBalancersRulesLoadBalancerRule200ResponseLoadBalancerRule" - } - ] + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "ip_addresses": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetOrganizationIPAddresses200ResponseIPAddresses" + }, + "description": "The IP addresses belonging to this organization" } }, "required": [ - "load_balancer_rule" + "pagination", + "ip_addresses" ] } } @@ -7900,10 +7720,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/LoadBalancerRuleNotFoundResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -7913,22 +7733,22 @@ } } }, - "patch": { - "operationId": "patch:load_balancers_rules_load_balancer_rule", - "summary": "Update load balancer rule", - "description": "Updates a load balancer rule with new properties\n## Scopes\n- `load_balancers`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "post": { + "operationId": "post:organization_ip_addresses", + "summary": "Create IP Address", + "description": "Creates a new IP address on this organization\n## Scopes\n- `ip_addresses`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Load balancer rules" + "IP addresses" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/load_balancers" + "api.katapult.io/core/v1/ip_addresses" ] }, { "Authenticator": [ - "load_balancers" + "ip_addresses" ] } ], @@ -7937,94 +7757,28 @@ "application/json": { "schema": { "properties": { - "load_balancer_rule": { - "$ref": "#/components/schemas/LoadBalancerRuleLookup" + "organization": { + "$ref": "#/components/schemas/OrganizationLookup" }, - "properties": { - "$ref": "#/components/schemas/LoadBalancerRuleArguments" - } - }, - "required": [ - "load_balancer_rule", - "properties" - ] - } - } - } - }, - "responses": { - "200": { - "description": "Updates a load balancer rule with new properties", - "content": { - "application/json": { - "schema": { - "properties": { - "load_balancer_rule": { - "description": "The load balancer that has been updated", - "allOf": [ - { - "$ref": "#/components/schemas/PatchLoadBalancersRulesLoadBalancerRule200ResponseLoadBalancerRule" - } - ] - } + "network": { + "$ref": "#/components/schemas/NetworkLookup" }, - "required": [ - "load_balancer_rule" - ] - } - } - } - }, - "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" - }, - "403": { - "$ref": "#/components/responses/PermissionDenied403Res" - }, - "404": { - "$ref": "#/components/responses/LoadBalancerRuleNotFoundResponse" - }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" - }, - "429": { - "$ref": "#/components/responses/APIAuthenticator429Response" - }, - "503": { - "$ref": "#/components/responses/APIAuthenticator503Response" - } - } - }, - "delete": { - "operationId": "delete:load_balancers_rules_load_balancer_rule", - "summary": "Delete load balancer rule", - "description": "Delete a load balancer rule\n## Scopes\n- `load_balancers`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", - "tags": [ - "Load balancer rules" - ], - "security": [ - { - "OAuth2": [ - "api.katapult.io/core/v1/load_balancers" - ] - }, - { - "Authenticator": [ - "load_balancers" - ] - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "load_balancer_rule": { - "$ref": "#/components/schemas/LoadBalancerRuleLookup" + "version": { + "$ref": "#/components/schemas/IPAddressVersionEnum" + }, + "vip": { + "type": "boolean", + "description": "Whether or not to set this address as a VIP" + }, + "label": { + "type": "string", + "description": "The label to give this address if setting it as a VIP" } }, "required": [ - "load_balancer_rule" + "organization", + "network", + "version" ] } } @@ -8032,22 +7786,22 @@ }, "responses": { "200": { - "description": "Delete a load balancer rule", + "description": "Creates a new IP address on this organization", "content": { "application/json": { "schema": { "properties": { - "load_balancer_rule": { - "description": "The load balancer rule that has been destroyed", + "ip_address": { + "description": "The newly allocated IP address", "allOf": [ { - "$ref": "#/components/schemas/DeleteLoadBalancersRulesLoadBalancerRule200ResponseLoadBalancerRule" + "$ref": "#/components/schemas/IPAddress" } ] } }, "required": [ - "load_balancer_rule" + "ip_address" ] } } @@ -8057,10 +7811,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/LoadBalancerRuleNotFoundResponse" + "$ref": "#/components/responses/NetworkNotFoundOrganizationNotFound404Res" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -8069,114 +7823,79 @@ "$ref": "#/components/responses/APIAuthenticator429Response" }, "503": { - "$ref": "#/components/responses/APIAuthenticator503Response" + "$ref": "#/components/responses/NoAvailableAddresses503Res" } } } }, - "/organizations/organization/load_balancers": { + "/ip_addresses/ip_address": { "get": { - "operationId": "get:organization_load_balancers", - "summary": "List load balancers", - "description": "Returns a list of all load balancers for a given organization\n## Scopes\n- `load_balancers`\n- `load_balancers:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:ip_address", + "summary": "Get IP address", + "description": "Returns information about a specific IP address\n## Scopes\n- `ip_addresses`\n- `ip_addresses:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Load balancers" + "IP addresses" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/load_balancers", - "api.katapult.io/core/v1/load_balancers:read" + "api.katapult.io/core/v1/ip_addresses", + "api.katapult.io/core/v1/ip_addresses:read" ] }, { "Authenticator": [ - "load_balancers", - "load_balancers:read" + "ip_addresses", + "ip_addresses:read" ] } ], "parameters": [ { "in": "query", - "name": "organization[id]", + "name": "ip_address[id]", "schema": { "type": "string" }, - "description": "The organization to return all load balancers for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "The IP address to find. \n\n All 'ip_address[]' params are mutually exclusive, only one can be provided." }, { "in": "query", - "name": "organization[sub_domain]", + "name": "ip_address[address]", "schema": { "type": "string" }, - "description": "The organization to return all load balancers for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "in": "query", - "name": "annotations[][key]", - "schema": { - "type": "array", - "items": { - "type": "string" - } - }, - "description": "An array of annotations to filter by. \n\n All 'annotations[]' params are mutually exclusive, only one can be provided. \n\n All `annotations[]` params should have the same amount of elements." - }, - { - "in": "query", - "name": "annotations[][value]", - "schema": { - "type": "array", - "items": { - "type": "string" - } - }, - "description": "An array of annotations to filter by. \n\n All 'annotations[]' params are mutually exclusive, only one can be provided. \n\n All `annotations[]` params should have the same amount of elements." - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer", - "default": 1, - "minimum": 1 - }, - "description": "The page number to request. If not provided, the first page will be returned." - }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer", - "default": 30, - "minimum": 1 - }, - "description": "The number of items to return per page. If not provided, the default value will be used." + "description": "The IP address to find. \n\n All 'ip_address[]' params are mutually exclusive, only one can be provided." } ], "responses": { "200": { - "description": "Returns a list of all load balancers for a given organization", + "description": "Returns information about a specific IP address", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" + "ip_address": { + "description": "The IP address that has been located", + "allOf": [ + { + "$ref": "#/components/schemas/IPAddress" + } + ] }, - "load_balancers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetOrganizationLoadBalancers200ResponseLoadBalancers" - }, - "description": "The load balancers owned by this organization" + "allocation": { + "allOf": [ + { + "$ref": "#/components/schemas/GetIPAddress200ResponseAllocation" + } + ], + "description": "The resource this address is allocated to", + "nullable": true } }, "required": [ - "pagination", - "load_balancers" + "ip_address", + "allocation" ] } } @@ -8186,10 +7905,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/IPAddressNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -8199,22 +7918,22 @@ } } }, - "post": { - "operationId": "post:organization_load_balancers", - "summary": "Create load balancer", - "description": "Create a new load balancer for a given organization\n## Scopes\n- `load_balancers`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "patch": { + "operationId": "patch:ip_address", + "summary": "Update IP address", + "description": "Updates the details on an IP address\n## Scopes\n- `ip_addresses`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Load balancers" + "IP addresses" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/load_balancers" + "api.katapult.io/core/v1/ip_addresses" ] }, { "Authenticator": [ - "load_balancers" + "ip_addresses" ] } ], @@ -8223,52 +7942,47 @@ "application/json": { "schema": { "properties": { - "organization": { - "$ref": "#/components/schemas/OrganizationLookup" + "ip_address": { + "$ref": "#/components/schemas/IPAddressLookup" }, - "properties": { - "$ref": "#/components/schemas/LoadBalancerArguments" + "vip": { + "type": "boolean", + "description": "Whether or not to set this address as a VIP" }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } + "label": { + "type": "string", + "description": "The label to give this address if setting it as a VIP" + }, + "reverse_dns": { + "type": "string", + "description": "The reverse DNS to set for this IP address" } }, "required": [ - "organization", - "properties" + "ip_address" ] } } } }, "responses": { - "201": { - "description": "Create a new load balancer for a given organization", + "200": { + "description": "Updates the details on an IP address", "content": { "application/json": { "schema": { "properties": { - "load_balancer": { - "description": "The load balancer that has been created", + "ip_address": { + "description": "The IP address that has been updated", "allOf": [ { - "$ref": "#/components/schemas/PostOrganizationLoadBalancers201ResponseLoadBalancer" + "$ref": "#/components/schemas/IPAddress" } ] - }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } } }, "required": [ - "load_balancer", - "annotations" + "ip_address" ] } } @@ -8278,10 +7992,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedPermissionDeniedResourceCreationRestricted403Res" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/IPAddressNotFoundResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -8293,111 +8007,23 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/load_balancers/load_balancer": { - "get": { - "operationId": "get:load_balancer", - "summary": "Get load balancer", - "description": "Returns details about a load balancer\n## Scopes\n- `load_balancers`\n- `load_balancers:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", - "tags": [ - "Load balancers" - ], - "security": [ - { - "OAuth2": [ - "api.katapult.io/core/v1/load_balancers", - "api.katapult.io/core/v1/load_balancers:read" - ] - }, - { - "Authenticator": [ - "load_balancers", - "load_balancers:read" - ] - } - ], - "parameters": [ - { - "in": "query", - "name": "load_balancer[id]", - "schema": { - "type": "string" - }, - "description": "The load balancer to return the details for. \n\n All 'load_balancer[]' params are mutually exclusive, only one can be provided." - }, - { - "in": "query", - "name": "load_balancer[api_reference]", - "schema": { - "type": "string" - }, - "description": "The load balancer to return the details for. \n\n All 'load_balancer[]' params are mutually exclusive, only one can be provided." - } - ], - "responses": { - "200": { - "description": "Returns details about a load balancer", - "content": { - "application/json": { - "schema": { - "properties": { - "load_balancer": { - "description": "The load balancer", - "allOf": [ - { - "$ref": "#/components/schemas/GetLoadBalancer200ResponseLoadBalancer" - } - ] - }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } - } - }, - "required": [ - "load_balancer", - "annotations" - ] - } - } - } - }, - "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" - }, - "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" - }, - "404": { - "$ref": "#/components/responses/LoadBalancerNotFoundResponse" - }, - "429": { - "$ref": "#/components/responses/APIAuthenticator429Response" - }, - "503": { - "$ref": "#/components/responses/APIAuthenticator503Response" - } - } }, - "patch": { - "operationId": "patch:load_balancer", - "summary": "Update load balancer", - "description": "Updates a load balancer with new properties\n## Scopes\n- `load_balancers`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "delete": { + "operationId": "delete:ip_address", + "summary": "Release an IP address", + "description": "Release an IP address from its organization\n## Scopes\n- `ip_addresses`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Load balancers" + "IP addresses" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/load_balancers" + "api.katapult.io/core/v1/ip_addresses" ] }, { "Authenticator": [ - "load_balancers" + "ip_addresses" ] } ], @@ -8406,22 +8032,12 @@ "application/json": { "schema": { "properties": { - "load_balancer": { - "$ref": "#/components/schemas/LoadBalancerLookup" - }, - "properties": { - "$ref": "#/components/schemas/LoadBalancerArguments" - }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } + "ip_address": { + "$ref": "#/components/schemas/IPAddressLookup" } }, "required": [ - "load_balancer", - "properties" + "ip_address" ] } } @@ -8429,30 +8045,13 @@ }, "responses": { "200": { - "description": "Updates a load balancer with new properties", + "description": "Release an IP address from its organization", "content": { "application/json": { "schema": { "properties": { - "load_balancer": { - "description": "The load balancer that has been updated", - "allOf": [ - { - "$ref": "#/components/schemas/PatchLoadBalancer200ResponseLoadBalancer" - } - ] - }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } - } - }, - "required": [ - "load_balancer", - "annotations" - ] + + } } } } @@ -8464,10 +8063,10 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/LoadBalancerNotFoundResponse" + "$ref": "#/components/responses/IPAddressNotFoundResponse" }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "409": { + "$ref": "#/components/responses/ResourceDoesNotSupportUnallocationResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -8476,23 +8075,25 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, - "delete": { - "operationId": "delete:load_balancer", - "summary": "Delete load balancer", - "description": "Delete a load balancer\n## Scopes\n- `load_balancers`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + } + }, + "/ip_addresses/ip_address/unallocate": { + "post": { + "operationId": "post:ip_address_unallocate", + "summary": "Unallocate an IP address", + "description": "Unallocate an IP address from its resource\n## Scopes\n- `ip_addresses`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Load balancers" + "IP addresses" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/load_balancers" + "api.katapult.io/core/v1/ip_addresses" ] }, { "Authenticator": [ - "load_balancers" + "ip_addresses" ] } ], @@ -8501,12 +8102,12 @@ "application/json": { "schema": { "properties": { - "load_balancer": { - "$ref": "#/components/schemas/LoadBalancerLookup" + "ip_address": { + "$ref": "#/components/schemas/IPAddressLookup" } }, "required": [ - "load_balancer" + "ip_address" ] } } @@ -8514,23 +8115,13 @@ }, "responses": { "200": { - "description": "Delete a load balancer", + "description": "Unallocate an IP address from its resource", "content": { "application/json": { "schema": { "properties": { - "load_balancer": { - "description": "The load balancer that has been destroyed", - "allOf": [ - { - "$ref": "#/components/schemas/DeleteLoadBalancer200ResponseLoadBalancer" - } - ] - } - }, - "required": [ - "load_balancer" - ] + + } } } } @@ -8539,13 +8130,16 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/LoadBalancerNotFoundResponse" + "$ref": "#/components/responses/IPAddressNotFoundResponse" + }, + "409": { + "$ref": "#/components/responses/ResourceDoesNotSupportUnallocationResponse" }, "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/NoAllocationResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -8556,64 +8150,44 @@ } } }, - "/organizations/organization/managed": { + "/load_balancers/load_balancer/rules": { "get": { - "operationId": "get:organization_managed", - "summary": "List managed organizations", - "description": "List all managed organizations owned by the given organization\n## Scopes\n- `managed_organizations`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:load_balancer_rules", + "summary": "List load balancer rules", + "description": "Returns a list of all rules for a given load balancer\n## Scopes\n- `load_balancers`\n- `load_balancers:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Managed organizations" + "Load balancer rules" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/managed_organizations" + "api.katapult.io/core/v1/load_balancers", + "api.katapult.io/core/v1/load_balancers:read" ] }, { "Authenticator": [ - "managed_organizations" + "load_balancers", + "load_balancers:read" ] } ], "parameters": [ { "in": "query", - "name": "organization[id]", + "name": "load_balancer[id]", "schema": { "type": "string" }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "The load balancer to return all load rules for. \n\n All 'load_balancer[]' params are mutually exclusive, only one can be provided." }, { "in": "query", - "name": "organization[sub_domain]", + "name": "load_balancer[api_reference]", "schema": { "type": "string" }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "in": "query", - "name": "annotations[][key]", - "schema": { - "type": "array", - "items": { - "type": "string" - } - }, - "description": "An array of annotations to filter by. \n\n All 'annotations[]' params are mutually exclusive, only one can be provided. \n\n All `annotations[]` params should have the same amount of elements." - }, - { - "in": "query", - "name": "annotations[][value]", - "schema": { - "type": "array", - "items": { - "type": "string" - } - }, - "description": "An array of annotations to filter by. \n\n All 'annotations[]' params are mutually exclusive, only one can be provided. \n\n All `annotations[]` params should have the same amount of elements." + "description": "The load balancer to return all load rules for. \n\n All 'load_balancer[]' params are mutually exclusive, only one can be provided." }, { "name": "page", @@ -8638,7 +8212,7 @@ ], "responses": { "200": { - "description": "List all managed organizations owned by the given organization", + "description": "Returns a list of all rules for a given load balancer", "content": { "application/json": { "schema": { @@ -8646,16 +8220,17 @@ "pagination": { "$ref": "#/components/schemas/PaginationObject" }, - "organizations": { + "load_balancer_rules": { "type": "array", "items": { - "$ref": "#/components/schemas/GetOrganizationManaged200ResponseOrganizations" - } - } - }, + "$ref": "#/components/schemas/GetLoadBalancerRules200ResponseLoadBalancerRules" + }, + "description": "The load balancer rules for this load balancer" + } + }, "required": [ "pagination", - "organizations" + "load_balancer_rules" ] } } @@ -8665,10 +8240,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/LoadBalancerNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -8679,21 +8254,21 @@ } }, "post": { - "operationId": "post:organization_managed", - "summary": "Create managed organization", - "description": "Create a new managed organization within an existing organization\n## Scopes\n- `managed_organizations`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "post:load_balancer_rules", + "summary": "Create load balancer rule", + "description": "Create a new load balancer rule\n## Scopes\n- `load_balancers`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Managed organizations" + "Load balancer rules" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/managed_organizations" + "api.katapult.io/core/v1/load_balancers" ] }, { "Authenticator": [ - "managed_organizations" + "load_balancers" ] } ], @@ -8702,51 +8277,39 @@ "application/json": { "schema": { "properties": { - "organization": { - "$ref": "#/components/schemas/OrganizationLookup" - }, - "name": { - "type": "string" - }, - "sub_domain": { - "type": "string" + "load_balancer": { + "$ref": "#/components/schemas/LoadBalancerLookup" }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } + "properties": { + "$ref": "#/components/schemas/LoadBalancerRuleArguments" } }, "required": [ - "organization", - "name", - "sub_domain" + "load_balancer", + "properties" ] } } } }, "responses": { - "201": { - "description": "Create a new managed organization within an existing organization", + "200": { + "description": "Create a new load balancer rule", "content": { "application/json": { "schema": { "properties": { - "organization": { - "$ref": "#/components/schemas/Organization" - }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } + "load_balancer_rule": { + "description": "The load balancer rule that has been created", + "allOf": [ + { + "$ref": "#/components/schemas/PostLoadBalancerRules200ResponseLoadBalancerRule" + } + ] } }, "required": [ - "organization", - "annotations" + "load_balancer_rule" ] } } @@ -8756,13 +8319,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/LoadBalancerNotFoundResponse" }, "422": { - "$ref": "#/components/responses/OrganizationLimitReachedValidationError422Res" + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -8773,55 +8336,56 @@ } } }, - "/managed_organizations/organization": { - "delete": { - "operationId": "delete:organization", - "summary": "Delete managed organization", - "description": "Delete a managed organization. All resources must be removed first.\n## Scopes\n- `managed_organizations:delete`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "/load_balancers/rules/load_balancer_rule": { + "get": { + "operationId": "get:load_balancers_rules_load_balancer_rule", + "summary": "Get load balancer rule", + "description": "Returns details about a load balancer rule\n## Scopes\n- `load_balancers`\n- `load_balancers:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Managed organizations" + "Load balancer rules" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/managed_organizations:delete" + "api.katapult.io/core/v1/load_balancers", + "api.katapult.io/core/v1/load_balancers:read" ] }, { "Authenticator": [ - "managed_organizations:delete" + "load_balancers", + "load_balancers:read" ] } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "organization": { - "$ref": "#/components/schemas/OrganizationLookup" - } - }, - "required": [ - "organization" - ] - } - } + "parameters": [ + { + "in": "query", + "name": "load_balancer_rule[id]", + "schema": { + "type": "string" + }, + "description": "The load balancer rule to return the details for." } - }, + ], "responses": { "200": { - "description": "Delete a managed organization. All resources must be removed first.", + "description": "Returns details about a load balancer rule", "content": { "application/json": { "schema": { "properties": { - "success": { - "type": "boolean" + "load_balancer_rule": { + "description": "The resolved load balancer rule", + "allOf": [ + { + "$ref": "#/components/schemas/GetLoadBalancersRulesLoadBalancerRule200ResponseLoadBalancerRule" + } + ] } }, "required": [ - "success" + "load_balancer_rule" ] } } @@ -8831,93 +8395,76 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" - }, - "409": { - "$ref": "#/components/responses/DeletionStepsNotSatisfiedManagedOrganizationRequired409Res" + "$ref": "#/components/responses/LoadBalancerRuleNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, - "500": { - "$ref": "#/components/responses/DeletionFailedResponse" - }, "503": { "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/organizations/organization/network_speed_profiles": { - "get": { - "operationId": "get:organization_network_speed_profiles", - "summary": "List network speed profiles", - "description": "Returns a list of all network speed profiles available to an organization", + }, + "patch": { + "operationId": "patch:load_balancers_rules_load_balancer_rule", + "summary": "Update load balancer rule", + "description": "Updates a load balancer rule with new properties\n## Scopes\n- `load_balancers`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Network speed profiles" + "Load balancer rules" ], - "parameters": [ - { - "in": "query", - "name": "organization[id]", - "schema": { - "type": "string" - }, - "description": "The organization to use when looking up network speed profiles. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "in": "query", - "name": "organization[sub_domain]", - "schema": { - "type": "string" - }, - "description": "The organization to use when looking up network speed profiles. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." - }, + "security": [ { - "name": "page", - "in": "query", - "schema": { - "type": "integer", - "default": 1, - "minimum": 1 - }, - "description": "The page number to request. If not provided, the first page will be returned." + "OAuth2": [ + "api.katapult.io/core/v1/load_balancers" + ] }, { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer", - "default": 30, - "minimum": 1 - }, - "description": "The number of items to return per page. If not provided, the default value will be used." + "Authenticator": [ + "load_balancers" + ] } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "load_balancer_rule": { + "$ref": "#/components/schemas/LoadBalancerRuleLookup" + }, + "properties": { + "$ref": "#/components/schemas/LoadBalancerRuleArguments" + } + }, + "required": [ + "load_balancer_rule", + "properties" + ] + } + } + } + }, "responses": { "200": { - "description": "Returns a list of all network speed profiles available to an organization", + "description": "Updates a load balancer rule with new properties", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "network_speed_profiles": { - "type": "array", - "items": { - "$ref": "#/components/schemas/NetworkSpeedProfile" - }, - "description": "The network speed profiles available to this organization" + "load_balancer_rule": { + "description": "The load balancer that has been updated", + "allOf": [ + { + "$ref": "#/components/schemas/PatchLoadBalancersRulesLoadBalancerRule200ResponseLoadBalancerRule" + } + ] } }, "required": [ - "pagination", - "network_speed_profiles" + "load_balancer_rule" ] } } @@ -8927,10 +8474,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/LoadBalancerRuleNotFoundResponse" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -8939,57 +8489,60 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/organizations/organization/available_networks": { - "get": { - "operationId": "get:organization_available_networks", - "summary": "List networks", - "description": "Returns a list of all networks available for an organization", + }, + "delete": { + "operationId": "delete:load_balancers_rules_load_balancer_rule", + "summary": "Delete load balancer rule", + "description": "Delete a load balancer rule\n## Scopes\n- `load_balancers`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Networks" + "Load balancer rules" ], - "parameters": [ + "security": [ { - "in": "query", - "name": "organization[id]", - "schema": { - "type": "string" - }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/load_balancers" + ] }, { - "in": "query", - "name": "organization[sub_domain]", - "schema": { - "type": "string" - }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + "Authenticator": [ + "load_balancers" + ] } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "load_balancer_rule": { + "$ref": "#/components/schemas/LoadBalancerRuleLookup" + } + }, + "required": [ + "load_balancer_rule" + ] + } + } + } + }, "responses": { "200": { - "description": "Returns a list of all networks available for an organization", + "description": "Delete a load balancer rule", "content": { "application/json": { "schema": { "properties": { - "networks": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetOrganizationAvailableNetworks200ResponseNetworks" - } - }, - "virtual_networks": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetOrganizationAvailableNetworks200ResponseVirtualNetworks" - } + "load_balancer_rule": { + "description": "The load balancer rule that has been destroyed", + "allOf": [ + { + "$ref": "#/components/schemas/DeleteLoadBalancersRulesLoadBalancerRule200ResponseLoadBalancerRule" + } + ] } }, "required": [ - "networks", - "virtual_networks" + "load_balancer_rule" ] } } @@ -8999,10 +8552,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/LoadBalancerRuleNotFoundResponse" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -9013,82 +8569,67 @@ } } }, - "/networks/network": { + "/organizations/organization/load_balancers": { "get": { - "operationId": "get:network", - "summary": "Get Network", - "description": "Returns details for a specific network", + "operationId": "get:organization_load_balancers", + "summary": "List load balancers", + "description": "Returns a list of all load balancers for a given organization\n## Scopes\n- `load_balancers`\n- `load_balancers:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Networks" + "Load balancers" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/load_balancers", + "api.katapult.io/core/v1/load_balancers:read" + ] + }, + { + "Authenticator": [ + "load_balancers", + "load_balancers:read" + ] + } ], "parameters": [ { "in": "query", - "name": "network[id]", + "name": "organization[id]", "schema": { "type": "string" }, - "description": "The network to return. \n\n All 'network[]' params are mutually exclusive, only one can be provided." + "description": "The organization to return all load balancers for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." }, { "in": "query", - "name": "network[permalink]", + "name": "organization[sub_domain]", "schema": { "type": "string" }, - "description": "The network to return. \n\n All 'network[]' params are mutually exclusive, only one can be provided." - } - ], - "responses": { - "200": { - "description": "Returns details for a specific network", - "content": { - "application/json": { - "schema": { - "properties": { - "network": { - "description": "The details for the requested network", - "allOf": [ - { - "$ref": "#/components/schemas/Network" - } - ] - } - }, - "required": [ - "network" - ] - } - } - } - }, - "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" - }, - "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "description": "The organization to return all load balancers for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." }, - "404": { - "$ref": "#/components/responses/NetworkNotFoundResponse" + { + "in": "query", + "name": "annotations[][key]", + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "An array of annotations to filter by. \n\n All `annotations[]` params should have the same amount of elements." }, - "429": { - "$ref": "#/components/responses/APIAuthenticator429Response" + { + "in": "query", + "name": "annotations[][value]", + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "An array of annotations to filter by. \n\n All `annotations[]` params should have the same amount of elements." }, - "503": { - "$ref": "#/components/responses/APIAuthenticator503Response" - } - } - } - }, - "/operating_systems": { - "get": { - "operationId": "get:operating_systems", - "summary": "List operating systems", - "description": "Return a list of all operating systems", - "tags": [ - "Operating systems" - ], - "parameters": [ { "name": "page", "in": "query", @@ -9112,7 +8653,7 @@ ], "responses": { "200": { - "description": "Return a list of all operating systems", + "description": "Returns a list of all load balancers for a given organization", "content": { "application/json": { "schema": { @@ -9120,17 +8661,17 @@ "pagination": { "$ref": "#/components/schemas/PaginationObject" }, - "operating_systems": { + "load_balancers": { "type": "array", "items": { - "$ref": "#/components/schemas/GetOperatingSystems200ResponseOperatingSystems" + "$ref": "#/components/schemas/GetOrganizationLoadBalancers200ResponseLoadBalancers" }, - "description": "The list of available operating systems" + "description": "The load balancers owned by this organization" } }, "required": [ "pagination", - "operating_systems" + "load_balancers" ] } } @@ -9140,7 +8681,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -9149,44 +8693,77 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/operating_systems/operating_system": { - "get": { - "operationId": "get:operating_system", - "summary": "Get operating system", - "description": "Return details for a specific operating system", + }, + "post": { + "operationId": "post:organization_load_balancers", + "summary": "Create load balancer", + "description": "Create a new load balancer for a given organization\n## Scopes\n- `load_balancers`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Operating systems" + "Load balancers" ], - "parameters": [ + "security": [ { - "in": "query", - "name": "operating_system[id]", - "schema": { - "type": "string" - }, - "description": "The operating system to return. \n\n All 'operating_system[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/load_balancers" + ] + }, + { + "Authenticator": [ + "load_balancers" + ] } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "organization": { + "$ref": "#/components/schemas/OrganizationLookup" + }, + "properties": { + "$ref": "#/components/schemas/LoadBalancerArguments" + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } + } + }, + "required": [ + "organization", + "properties" + ] + } + } + } + }, "responses": { - "200": { - "description": "Return details for a specific operating system", + "201": { + "description": "Create a new load balancer for a given organization", "content": { "application/json": { "schema": { "properties": { - "operating_system": { - "description": "The operating system details", + "load_balancer": { + "description": "The load balancer that has been created", "allOf": [ { - "$ref": "#/components/schemas/OperatingSystem" + "$ref": "#/components/schemas/PostOrganizationLoadBalancers201ResponseLoadBalancer" } ] + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } } }, "required": [ - "operating_system" + "load_balancer", + "annotations" ] } } @@ -9196,12 +8773,15 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/OrganizationNotActivatedPermissionDeniedResourceCreationRestricted403Res" }, "404": { - "$ref": "#/components/responses/OperatingSystemNotFoundResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, - "429": { + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" + }, + "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, "503": { @@ -9210,84 +8790,71 @@ } } }, - "/organizations/organization/users_with_access": { + "/load_balancers/load_balancer": { "get": { - "operationId": "get:organization_users_with_access", - "summary": "List organization users", - "description": "This will return a simple list of users with any access to this organization. This\nendpoint is available to all users with access to the organization therefore allows\nthem to see a small amount of information about their peers. This is useful when\ncombined with other API actions that require the ID of a fellow user (such as when\ndetermining which users to assign a virtual machine).\n\n## Scopes\n- `organizations:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:load_balancer", + "summary": "Get load balancer", + "description": "Returns details about a load balancer\n## Scopes\n- `load_balancers`\n- `load_balancers:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Organization users" + "Load balancers" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/organizations:read" + "api.katapult.io/core/v1/load_balancers", + "api.katapult.io/core/v1/load_balancers:read" ] }, { "Authenticator": [ - "organizations:read" + "load_balancers", + "load_balancers:read" ] } ], "parameters": [ { "in": "query", - "name": "organization[id]", + "name": "load_balancer[id]", "schema": { "type": "string" }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "The load balancer to return the details for. \n\n All 'load_balancer[]' params are mutually exclusive, only one can be provided." }, { "in": "query", - "name": "organization[sub_domain]", + "name": "load_balancer[api_reference]", "schema": { "type": "string" }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer", - "default": 1, - "minimum": 1 - }, - "description": "The page number to request. If not provided, the first page will be returned." - }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer", - "default": 30, - "minimum": 1 - }, - "description": "The number of items to return per page. If not provided, the default value will be used." + "description": "The load balancer to return the details for. \n\n All 'load_balancer[]' params are mutually exclusive, only one can be provided." } ], "responses": { "200": { - "description": "This will return a simple list of users with any access to this organization. This\nendpoint is available to all users with access to the organization therefore allows\nthem to see a small amount of information about their peers. This is useful when\ncombined with other API actions that require the ID of a fellow user (such as when\ndetermining which users to assign a virtual machine).\n", + "description": "Returns details about a load balancer", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" + "load_balancer": { + "description": "The load balancer", + "allOf": [ + { + "$ref": "#/components/schemas/GetLoadBalancer200ResponseLoadBalancer" + } + ] }, - "users": { + "annotations": { "type": "array", "items": { - "$ref": "#/components/schemas/GetOrganizationUsersWithAccess200ResponseUsers" + "$ref": "#/components/schemas/KeyValue" } } }, "required": [ - "pagination", - "users" + "load_balancer", + "annotations" ] } } @@ -9297,10 +8864,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/LoadBalancerNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -9309,47 +8876,77 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/organizations": { - "get": { - "operationId": "get:organizations", - "summary": "List organizations", - "description": "This will return a list of all organizations the authenticated identity has access to\n## Scopes\n- `organizations:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + }, + "patch": { + "operationId": "patch:load_balancer", + "summary": "Update load balancer", + "description": "Updates a load balancer with new properties\n## Scopes\n- `load_balancers`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Organizations" + "Load balancers" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/organizations:read" + "api.katapult.io/core/v1/load_balancers" ] }, { "Authenticator": [ - "organizations:read" + "load_balancers" ] } ], - "parameters": [ - - ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "load_balancer": { + "$ref": "#/components/schemas/LoadBalancerLookup" + }, + "properties": { + "$ref": "#/components/schemas/LoadBalancerArguments" + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } + } + }, + "required": [ + "load_balancer", + "properties" + ] + } + } + } + }, "responses": { "200": { - "description": "This will return a list of all organizations the authenticated identity has access to", + "description": "Updates a load balancer with new properties", "content": { "application/json": { "schema": { "properties": { - "organizations": { + "load_balancer": { + "description": "The load balancer that has been updated", + "allOf": [ + { + "$ref": "#/components/schemas/PatchLoadBalancer200ResponseLoadBalancer" + } + ] + }, + "annotations": { "type": "array", "items": { - "$ref": "#/components/schemas/GetOrganizations200ResponseOrganizations" + "$ref": "#/components/schemas/KeyValue" } } }, "required": [ - "organizations" + "load_balancer", + "annotations" ] } } @@ -9359,7 +8956,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/LoadBalancerNotFoundResponse" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -9368,59 +8971,60 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/organizations/organization": { - "get": { - "operationId": "get:organization", - "summary": "Get organization", - "description": "Returns information about a specific organization\n## Scopes\n- `organizations:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + }, + "delete": { + "operationId": "delete:load_balancer", + "summary": "Delete load balancer", + "description": "Delete a load balancer\n## Scopes\n- `load_balancers`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Organizations" + "Load balancers" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/organizations:read" + "api.katapult.io/core/v1/load_balancers" ] }, { "Authenticator": [ - "organizations:read" + "load_balancers" ] } ], - "parameters": [ - { - "in": "query", - "name": "organization[id]", - "schema": { - "type": "string" - }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "in": "query", - "name": "organization[sub_domain]", - "schema": { - "type": "string" - }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "load_balancer": { + "$ref": "#/components/schemas/LoadBalancerLookup" + } + }, + "required": [ + "load_balancer" + ] + } + } } - ], + }, "responses": { "200": { - "description": "Returns information about a specific organization", + "description": "Delete a load balancer", "content": { "application/json": { "schema": { "properties": { - "organization": { - "$ref": "#/components/schemas/Organization" + "load_balancer": { + "description": "The load balancer that has been destroyed", + "allOf": [ + { + "$ref": "#/components/schemas/DeleteLoadBalancer200ResponseLoadBalancer" + } + ] } }, "required": [ - "organization" + "load_balancer" ] } } @@ -9430,10 +9034,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/LoadBalancerNotFoundResponse" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -9444,23 +9051,23 @@ } } }, - "/organizations/organization/policy": { + "/organizations/organization/managed": { "get": { - "operationId": "get:organization_policy", - "summary": "Get organization limits and usage", - "description": "Returns the computed policy limits for a organization\n## Scopes\n- `organizations:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:organization_managed", + "summary": "List managed organizations", + "description": "List all managed organizations owned by the given organization\n## Scopes\n- `managed_organizations`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Organizations" + "Managed organizations" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/organizations:read" + "api.katapult.io/core/v1/managed_organizations" ] }, { "Authenticator": [ - "organizations:read" + "managed_organizations" ] } ], @@ -9480,115 +9087,70 @@ "type": "string" }, "description": "All 'organization[]' params are mutually exclusive, only one can be provided." - } - ], - "responses": { - "200": { - "description": "Returns the computed policy limits for a organization", - "content": { - "application/json": { - "schema": { - "properties": { - "policy_type": { - "$ref": "#/components/schemas/PolicyType" - }, - "policy_name": { - "type": "string", - "nullable": true - }, - "limits": { - "$ref": "#/components/schemas/PolicyLimits" - }, - "features": { - "$ref": "#/components/schemas/PolicyFeatures" - }, - "reasons_for_disallowing_resource_creation": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "policy_type", - "policy_name", - "limits", - "features", - "reasons_for_disallowing_resource_creation" - ] - } - } - } - }, - "400": { - "$ref": "#/components/responses/PolicyNotAvailableForManagedOrganizations400Res" - }, - "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" }, - "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" - }, - "429": { - "$ref": "#/components/responses/APIAuthenticator429Response" - }, - "503": { - "$ref": "#/components/responses/APIAuthenticator503Response" - } - } - } - }, - "/organizations/organization/policy_limits": { - "get": { - "operationId": "get:organization_policy_limits", - "summary": "Get organization policy limits", - "description": "Returns the computed policy limits for a organization\n## Scopes\n- `organizations:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", - "tags": [ - "Organizations" - ], - "security": [ { - "OAuth2": [ - "api.katapult.io/core/v1/organizations:read" - ] + "in": "query", + "name": "annotations[][key]", + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "An array of annotations to filter by. \n\n All `annotations[]` params should have the same amount of elements." }, { - "Authenticator": [ - "organizations:read" - ] - } - ], - "parameters": [ + "in": "query", + "name": "annotations[][value]", + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "An array of annotations to filter by. \n\n All `annotations[]` params should have the same amount of elements." + }, { + "name": "page", "in": "query", - "name": "organization[id]", "schema": { - "type": "string" + "type": "integer", + "default": 1, + "minimum": 1 }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "The page number to request. If not provided, the first page will be returned." }, { + "name": "per_page", "in": "query", - "name": "organization[sub_domain]", "schema": { - "type": "string" + "type": "integer", + "default": 30, + "minimum": 1 }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "The number of items to return per page. If not provided, the default value will be used." } ], "responses": { "200": { - "description": "Returns the computed policy limits for a organization", + "description": "List all managed organizations owned by the given organization", "content": { "application/json": { "schema": { "properties": { - "policy_limits": { - "$ref": "#/components/schemas/OrganizationPolicy" + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "organizations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetOrganizationManaged200ResponseOrganizations" + } } }, "required": [ - "policy_limits" + "pagination", + "organizations" ] } } @@ -9610,74 +9172,83 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/organizations/organization/prices": { - "get": { - "operationId": "get:organization_prices", - "summary": "Get organization prices", - "description": "Returns the active prices for an organization\n## Scopes\n- `organizations:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + }, + "post": { + "operationId": "post:organization_managed", + "summary": "Create managed organization", + "description": "Create a new managed organization within an existing organization\n## Scopes\n- `managed_organizations`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Organizations" + "Managed organizations" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/organizations:read" + "api.katapult.io/core/v1/managed_organizations" ] }, { "Authenticator": [ - "organizations:read" + "managed_organizations" ] } ], - "parameters": [ - { - "in": "query", - "name": "organization[id]", - "schema": { - "type": "string" - }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "in": "query", - "name": "organization[sub_domain]", - "schema": { - "type": "string" - }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "organization": { + "$ref": "#/components/schemas/OrganizationLookup" + }, + "name": { + "type": "string" + }, + "sub_domain": { + "type": "string" + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } + } + }, + "required": [ + "organization", + "name", + "sub_domain" + ] + } + } } - ], + }, "responses": { - "200": { - "description": "Returns the active prices for an organization", + "201": { + "description": "Create a new managed organization within an existing organization", "content": { "application/json": { "schema": { "properties": { - "currency": { - "$ref": "#/components/schemas/Currency" + "organization": { + "$ref": "#/components/schemas/Organization" }, - "prices": { + "annotations": { "type": "array", "items": { - "$ref": "#/components/schemas/PriceResourceWithSinglePriceVariant" - }, - "description": "The prices in the default price plan" + "$ref": "#/components/schemas/KeyValue" + } } }, "required": [ - "currency", - "prices" + "organization", + "annotations" ] } } } }, "400": { - "$ref": "#/components/responses/PricesNotAvailableForManagedOrganizations400Res" + "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" @@ -9685,6 +9256,9 @@ "404": { "$ref": "#/components/responses/OrganizationNotFoundResponse" }, + "422": { + "$ref": "#/components/responses/OrganizationLimitReachedValidationError422Res" + }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, @@ -9694,59 +9268,55 @@ } } }, - "/organizations/organization/deletion_steps": { - "get": { - "operationId": "get:organization_deletion_steps", - "summary": "Deletion steps", - "description": "Returns details of the steps which must be performed before an organization can be deleted\n## Scopes\n- `organizations:delete`\n- `managed_organizations:delete`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "/managed_organizations/organization": { + "delete": { + "operationId": "delete:organization", + "summary": "Delete managed organization", + "description": "Delete a managed organization. All resources must be removed first.\n## Scopes\n- `managed_organizations:delete`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Organizations" + "Managed organizations" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/organizations:delete", "api.katapult.io/core/v1/managed_organizations:delete" ] }, { "Authenticator": [ - "organizations:delete", "managed_organizations:delete" ] } ], - "parameters": [ - { - "in": "query", - "name": "organization[id]", - "schema": { - "type": "string" - }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "in": "query", - "name": "organization[sub_domain]", - "schema": { - "type": "string" - }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "organization": { + "$ref": "#/components/schemas/OrganizationLookup" + } + }, + "required": [ + "organization" + ] + } + } } - ], + }, "responses": { "200": { - "description": "Returns details of the steps which must be performed before an organization can be deleted", + "description": "Delete a managed organization. All resources must be removed first.", "content": { "application/json": { "schema": { "properties": { - "steps": { - "$ref": "#/components/schemas/OrganizationDeletionSteps" + "success": { + "type": "boolean" } }, "required": [ - "steps" + "success" ] } } @@ -9761,66 +9331,88 @@ "404": { "$ref": "#/components/responses/OrganizationNotFoundResponse" }, + "409": { + "$ref": "#/components/responses/DeletionStepsNotSatisfiedManagedOrganizationRequired409Res" + }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, + "500": { + "$ref": "#/components/responses/DeletionFailedResponse" + }, "503": { "$ref": "#/components/responses/APIAuthenticator503Response" } } } }, - "/virtual_machines/virtual_machine/start": { - "post": { - "operationId": "post:virtual_machine_start", - "summary": "Start virtual machine", - "description": "Queues a task to start a virtual machine\n## Scopes\n- `virtual_machines`\n- `virtual_machines:power_actions`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "/organizations/organization/network_speed_profiles": { + "get": { + "operationId": "get:organization_network_speed_profiles", + "summary": "List network speed profiles", + "description": "Returns a list of all network speed profiles available to an organization", "tags": [ - "Power functions" + "Network speed profiles" ], - "security": [ + "parameters": [ { - "OAuth2": [ - "api.katapult.io/core/v1/virtual_machines", - "api.katapult.io/core/v1/virtual_machines:power_actions" - ] + "in": "query", + "name": "organization[id]", + "schema": { + "type": "string" + }, + "description": "The organization to use when looking up network speed profiles. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." }, { - "Authenticator": [ - "virtual_machines", - "virtual_machines:power_actions" - ] + "in": "query", + "name": "organization[sub_domain]", + "schema": { + "type": "string" + }, + "description": "The organization to use when looking up network speed profiles. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "default": 1, + "minimum": 1 + }, + "description": "The page number to request. If not provided, the first page will be returned." + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer", + "default": 30, + "minimum": 1 + }, + "description": "The number of items to return per page. If not provided, the default value will be used." } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "virtual_machine": { - "$ref": "#/components/schemas/VirtualMachineLookup" - } - }, - "required": [ - "virtual_machine" - ] - } - } - } - }, "responses": { "200": { - "description": "Queues a task to start a virtual machine", + "description": "Returns a list of all network speed profiles available to an organization", "content": { "application/json": { "schema": { "properties": { - "task": { - "$ref": "#/components/schemas/PostVirtualMachineStart200ResponseTask" + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "network_speed_profiles": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NetworkSpeedProfile" + }, + "description": "The network speed profiles available to this organization" } }, "required": [ - "task" + "pagination", + "network_speed_profiles" ] } } @@ -9830,13 +9422,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" }, "404": { - "$ref": "#/components/responses/VirtualMachineNotFoundResponse" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -9847,57 +9436,55 @@ } } }, - "/virtual_machines/virtual_machine/stop": { - "post": { - "operationId": "post:virtual_machine_stop", - "summary": "Stop virtual machine", - "description": "Queues a task to stop a virtual machine\n## Scopes\n- `virtual_machines`\n- `virtual_machines:power_actions`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "/organizations/organization/available_networks": { + "get": { + "operationId": "get:organization_available_networks", + "summary": "List networks", + "description": "Returns a list of all networks available for an organization", "tags": [ - "Power functions" + "Networks" ], - "security": [ + "parameters": [ { - "OAuth2": [ - "api.katapult.io/core/v1/virtual_machines", - "api.katapult.io/core/v1/virtual_machines:power_actions" - ] + "in": "query", + "name": "organization[id]", + "schema": { + "type": "string" + }, + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." }, { - "Authenticator": [ - "virtual_machines", - "virtual_machines:power_actions" - ] + "in": "query", + "name": "organization[sub_domain]", + "schema": { + "type": "string" + }, + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "virtual_machine": { - "$ref": "#/components/schemas/VirtualMachineLookup" - } - }, - "required": [ - "virtual_machine" - ] - } - } - } - }, "responses": { "200": { - "description": "Queues a task to stop a virtual machine", + "description": "Returns a list of all networks available for an organization", "content": { "application/json": { "schema": { "properties": { - "task": { - "$ref": "#/components/schemas/PostVirtualMachineStop200ResponseTask" + "networks": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetOrganizationAvailableNetworks200ResponseNetworks" + } + }, + "virtual_networks": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetOrganizationAvailableNetworks200ResponseVirtualNetworks" + } } }, "required": [ - "task" + "networks", + "virtual_networks" ] } } @@ -9907,13 +9494,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" }, "404": { - "$ref": "#/components/responses/VirtualMachineNotFoundResponse" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -9924,57 +9508,50 @@ } } }, - "/virtual_machines/virtual_machine/shutdown": { - "post": { - "operationId": "post:virtual_machine_shutdown", - "summary": "Shutdown virtual machine", - "description": "Queues a task to shutdown a virtual machine\n## Scopes\n- `virtual_machines`\n- `virtual_machines:power_actions`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "/networks/network": { + "get": { + "operationId": "get:network", + "summary": "Get Network", + "description": "Returns details for a specific network", "tags": [ - "Power functions" + "Networks" ], - "security": [ + "parameters": [ { - "OAuth2": [ - "api.katapult.io/core/v1/virtual_machines", - "api.katapult.io/core/v1/virtual_machines:power_actions" - ] + "in": "query", + "name": "network[id]", + "schema": { + "type": "string" + }, + "description": "The network to return. \n\n All 'network[]' params are mutually exclusive, only one can be provided." }, { - "Authenticator": [ - "virtual_machines", - "virtual_machines:power_actions" - ] + "in": "query", + "name": "network[permalink]", + "schema": { + "type": "string" + }, + "description": "The network to return. \n\n All 'network[]' params are mutually exclusive, only one can be provided." } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "virtual_machine": { - "$ref": "#/components/schemas/VirtualMachineLookup" - } - }, - "required": [ - "virtual_machine" - ] - } - } - } - }, "responses": { "200": { - "description": "Queues a task to shutdown a virtual machine", + "description": "Returns details for a specific network", "content": { "application/json": { "schema": { "properties": { - "task": { - "$ref": "#/components/schemas/PostVirtualMachineShutdown200ResponseTask" + "network": { + "description": "The details for the requested network", + "allOf": [ + { + "$ref": "#/components/schemas/Network" + } + ] } }, "required": [ - "task" + "network" ] } } @@ -9984,13 +9561,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/VirtualMachineNotFoundResponse" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" + "$ref": "#/components/responses/NetworkNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -10001,25 +9575,23 @@ } } }, - "/virtual_machines/virtual_machine/reset": { + "/organizations/organization/object_storage/object_storage_cluster": { "post": { - "operationId": "post:virtual_machine_reset", - "summary": "Reset virtual machine", - "description": "Queues a task to reset a virtual machine\n## Scopes\n- `virtual_machines`\n- `virtual_machines:power_actions`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "post:organization_object_storage_object_storage_cluster", + "summary": "Create object storage account", + "description": "Create a new object storage account for an organization. Provisioning will be started in the background and can be monitored via the GET account endpoint.\n## Scopes\n- `object_storage`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Power functions" + "Object storage" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/virtual_machines", - "api.katapult.io/core/v1/virtual_machines:power_actions" + "api.katapult.io/core/v1/object_storage" ] }, { "Authenticator": [ - "virtual_machines", - "virtual_machines:power_actions" + "object_storage" ] } ], @@ -10028,30 +9600,39 @@ "application/json": { "schema": { "properties": { - "virtual_machine": { - "$ref": "#/components/schemas/VirtualMachineLookup" + "organization": { + "$ref": "#/components/schemas/OrganizationLookup" + }, + "object_storage_cluster": { + "$ref": "#/components/schemas/ObjectStorageClusterLookup" } }, "required": [ - "virtual_machine" + "organization", + "object_storage_cluster" ] } } } }, "responses": { - "200": { - "description": "Queues a task to reset a virtual machine", + "201": { + "description": "Create a new object storage account for an organization. Provisioning will be started in the background and can be monitored via the GET account endpoint.", "content": { "application/json": { "schema": { "properties": { - "task": { - "$ref": "#/components/schemas/PostVirtualMachineReset200ResponseTask" + "object_storage_account": { + "description": "The object storage account that was created", + "allOf": [ + { + "$ref": "#/components/schemas/ObjectStorageAccount" + } + ] } }, "required": [ - "task" + "object_storage_account" ] } } @@ -10061,14 +9642,17 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/VirtualMachineNotFoundResponse" + "$ref": "#/components/responses/ObjectStorageClusterNotFoundOrganizationNotFound404Res" }, "406": { "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" + }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, @@ -10076,65 +9660,65 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/dns_zones/dns_zone/records": { + }, "get": { - "operationId": "get:dns_zone_records", - "summary": "List DNS records", - "description": "Return a list of all DNS records in a zone\n## Scopes\n- `dns`\n- `dns:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:organization_object_storage_object_storage_cluster", + "summary": "Get object storage account details", + "description": "Returns object storage account details\n## Scopes\n- `object_storage:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Records" + "Object storage" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/dns", - "api.katapult.io/core/v1/dns:read" + "api.katapult.io/core/v1/object_storage:read" ] }, { "Authenticator": [ - "dns", - "dns:read" + "object_storage:read" ] } ], "parameters": [ { "in": "query", - "name": "dns_zone[id]", + "name": "organization[id]", "schema": { "type": "string" }, - "description": "All 'dns_zone[]' params are mutually exclusive, only one can be provided." + "description": "The organization that owns the object storage account. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." }, { "in": "query", - "name": "dns_zone[name]", + "name": "organization[sub_domain]", "schema": { "type": "string" }, - "description": "All 'dns_zone[]' params are mutually exclusive, only one can be provided." + "description": "The organization that owns the object storage account. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." + }, + { + "in": "query", + "name": "object_storage_cluster[region]", + "schema": { + "type": "string" + }, + "description": "The object storage cluster region." } ], "responses": { "200": { - "description": "Return a list of all DNS records in a zone", + "description": "Returns object storage account details", "content": { "application/json": { "schema": { "properties": { - "dns_records": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DNSRecord" - }, - "description": "The DNS record for the provided zone" + "object_storage_account": { + "$ref": "#/components/schemas/ObjectStorageAccount" } }, "required": [ - "dns_records" + "object_storage_account" ] } } @@ -10144,10 +9728,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/ObjectStorageAccountNotProvisionedOrganizationSuspendedPermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/DNSZoneNotFoundResponse" + "$ref": "#/components/responses/ObjectStorageAccountNotFoundObjectStorageClusterNotFoundOrganizationNotFound404Res" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -10157,22 +9744,22 @@ } } }, - "post": { - "operationId": "post:dns_zone_records", - "summary": "Create DNS record", - "description": "Create a new DNS record\n## Scopes\n- `dns`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "delete": { + "operationId": "delete:organization_object_storage_object_storage_cluster", + "summary": "Move object storage to trash", + "description": "Move object storage into the trash\n## Scopes\n- `object_storage`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Records" + "Object storage" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/dns" + "api.katapult.io/core/v1/object_storage" ] }, { "Authenticator": [ - "dns" + "object_storage" ] } ], @@ -10181,16 +9768,16 @@ "application/json": { "schema": { "properties": { - "dns_zone": { - "$ref": "#/components/schemas/DNSZoneLookup" + "organization": { + "$ref": "#/components/schemas/OrganizationLookup" }, - "properties": { - "$ref": "#/components/schemas/DNSRecordArguments" + "object_storage_cluster": { + "$ref": "#/components/schemas/ObjectStorageClusterLookup" } }, "required": [ - "dns_zone", - "properties" + "organization", + "object_storage_cluster" ] } } @@ -10198,17 +9785,21 @@ }, "responses": { "200": { - "description": "Create a new DNS record", + "description": "Move object storage into the trash", "content": { "application/json": { "schema": { "properties": { - "dns_record": { - "$ref": "#/components/schemas/DNSRecord" + "trash_object": { + "$ref": "#/components/schemas/DeleteOrganizationObjectStorageObjectStorageCluster200ResponseTrashObject" + }, + "object_storage_account": { + "$ref": "#/components/schemas/ObjectStorageAccount" } }, "required": [ - "dns_record" + "trash_object", + "object_storage_account" ] } } @@ -10218,10 +9809,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/ObjectStorageAccountNotProvisionedOrganizationSuspendedPermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/DNSZoneNotFoundResponse" + "$ref": "#/components/responses/ObjectStorageAccountNotFoundObjectStorageClusterNotFoundOrganizationNotFound404Res" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -10235,56 +9829,57 @@ } } }, - "/dns_records/dns_record": { + "/operating_systems": { "get": { - "operationId": "get:dns_record", - "summary": "Get DNS record", - "description": "Return details for a specific DNS record\n## Scopes\n- `dns`\n- `dns:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:operating_systems", + "summary": "List operating systems", + "description": "Return a list of all operating systems", "tags": [ - "Records" + "Operating systems" ], - "security": [ + "parameters": [ { - "OAuth2": [ - "api.katapult.io/core/v1/dns", - "api.katapult.io/core/v1/dns:read" - ] + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "default": 1, + "minimum": 1 + }, + "description": "The page number to request. If not provided, the first page will be returned." }, { - "Authenticator": [ - "dns", - "dns:read" - ] - } - ], - "parameters": [ - { + "name": "per_page", "in": "query", - "name": "dns_record[id]", "schema": { - "type": "string" + "type": "integer", + "default": 30, + "minimum": 1 }, - "description": "All 'dns_record[]' params are mutually exclusive, only one can be provided." + "description": "The number of items to return per page. If not provided, the default value will be used." } ], "responses": { "200": { - "description": "Return details for a specific DNS record", + "description": "Return a list of all operating systems", "content": { "application/json": { "schema": { "properties": { - "dns_record": { - "description": "The DNS record for the provided organization", - "allOf": [ - { - "$ref": "#/components/schemas/DNSRecord" - } - ] + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "operating_systems": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetOperatingSystems200ResponseOperatingSystems" + }, + "description": "The list of available operating systems" } }, "required": [ - "dns_record" + "pagination", + "operating_systems" ] } } @@ -10296,9 +9891,6 @@ "403": { "$ref": "#/components/responses/APIAuthenticator403Response" }, - "404": { - "$ref": "#/components/responses/DNSRecordNotFoundResponse" - }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, @@ -10306,64 +9898,44 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, - "patch": { - "operationId": "patch:dns_record", - "summary": "Update DNS record", - "description": "Update a DNS record properties\n## Scopes\n- `dns`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + } + }, + "/operating_systems/operating_system": { + "get": { + "operationId": "get:operating_system", + "summary": "Get operating system", + "description": "Return details for a specific operating system", "tags": [ - "Records" + "Operating systems" ], - "security": [ - { - "OAuth2": [ - "api.katapult.io/core/v1/dns" - ] - }, + "parameters": [ { - "Authenticator": [ - "dns" - ] + "in": "query", + "name": "operating_system[id]", + "schema": { + "type": "string" + }, + "description": "The operating system to return." } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "dns_record": { - "$ref": "#/components/schemas/DNSRecordLookup" - }, - "properties": { - "$ref": "#/components/schemas/DNSRecordArguments" - } - }, - "required": [ - "dns_record", - "properties" - ] - } - } - } - }, "responses": { "200": { - "description": "Update a DNS record properties", + "description": "Return details for a specific operating system", "content": { "application/json": { "schema": { "properties": { - "dns_record": { - "description": "The DNS record that has been updated", + "operating_system": { + "description": "The operating system details", "allOf": [ { - "$ref": "#/components/schemas/DNSRecord" + "$ref": "#/components/schemas/OperatingSystem" } ] } }, "required": [ - "dns_record" + "operating_system" ] } } @@ -10376,10 +9948,7 @@ "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/DNSRecordNotFoundResponse" - }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/OperatingSystemNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -10388,86 +9957,28 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, - "delete": { - "operationId": "delete:dns_record", - "summary": "Delete DNS record", - "description": "Delete a DNS record\n## Scopes\n- `dns`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + } + }, + "/organizations/organization/users_with_access": { + "get": { + "operationId": "get:organization_users_with_access", + "summary": "List organization users", + "description": "This will return a simple list of users with any access to this organization. This\nendpoint is available to all users with access to the organization therefore allows\nthem to see a small amount of information about their peers. This is useful when\ncombined with other API actions that require the ID of a fellow user (such as when\ndetermining which users to assign a virtual machine).\n\n## Scopes\n- `organizations:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Records" + "Organization users" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/dns" + "api.katapult.io/core/v1/organizations:read" ] }, { "Authenticator": [ - "dns" + "organizations:read" ] } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "dns_record": { - "$ref": "#/components/schemas/DNSRecordLookup" - } - }, - "required": [ - "dns_record" - ] - } - } - } - }, - "responses": { - "200": { - "description": "Delete a DNS record", - "content": { - "application/json": { - "schema": { - "properties": { - "deleted": { - "type": "boolean" - } - }, - "required": [ - "deleted" - ] - } - } - } - }, - "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" - }, - "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" - }, - "404": { - "$ref": "#/components/responses/DNSRecordNotFoundResponse" - }, - "429": { - "$ref": "#/components/responses/APIAuthenticator429Response" - }, - "503": { - "$ref": "#/components/responses/APIAuthenticator503Response" - } - } - } - }, - "/organizations/organization/ssh_keys": { - "get": { - "operationId": "get:organization_ssh_keys", - "summary": "List organization SSH keys", - "description": "Returns a list of all SSH keys for an organization", - "tags": [ - "SSH keys" - ], "parameters": [ { "in": "query", @@ -10475,7 +9986,7 @@ "schema": { "type": "string" }, - "description": "The organization to list SSH keys for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." }, { "in": "query", @@ -10483,7 +9994,7 @@ "schema": { "type": "string" }, - "description": "The organization to list SSH keys for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." }, { "name": "page", @@ -10508,7 +10019,7 @@ ], "responses": { "200": { - "description": "Returns a list of all SSH keys for an organization", + "description": "This will return a simple list of users with any access to this organization. This\nendpoint is available to all users with access to the organization therefore allows\nthem to see a small amount of information about their peers. This is useful when\ncombined with other API actions that require the ID of a fellow user (such as when\ndetermining which users to assign a virtual machine).\n", "content": { "application/json": { "schema": { @@ -10516,16 +10027,16 @@ "pagination": { "$ref": "#/components/schemas/PaginationObject" }, - "ssh_keys": { + "users": { "type": "array", "items": { - "$ref": "#/components/schemas/AuthSSHKey" + "$ref": "#/components/schemas/GetOrganizationUsersWithAccess200ResponseUsers" } } }, "required": [ "pagination", - "ssh_keys" + "users" ] } } @@ -10535,7 +10046,7 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" }, "404": { "$ref": "#/components/responses/OrganizationNotFoundResponse" @@ -10547,47 +10058,47 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, - "post": { - "operationId": "post:organization_ssh_keys", - "summary": "Add organization SSH key", - "description": "Add an SSH key to an organization", + } + }, + "/organizations": { + "get": { + "operationId": "get:organizations", + "summary": "List organizations", + "description": "This will return a list of all organizations the authenticated identity has access to\n## Scopes\n- `organizations:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "SSH keys" + "Organizations" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "organization": { - "$ref": "#/components/schemas/OrganizationLookup" - }, - "ssh_key": { - "$ref": "#/components/schemas/AuthSSHKeyProperties" - } - }, - "required": [ - "organization", - "ssh_key" - ] - } - } + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/organizations:read" + ] + }, + { + "Authenticator": [ + "organizations:read" + ] } - }, + ], + "parameters": [ + + ], "responses": { - "201": { - "description": "Add an SSH key to an organization", + "200": { + "description": "This will return a list of all organizations the authenticated identity has access to", "content": { "application/json": { "schema": { "properties": { - "ssh_key": { - "$ref": "#/components/schemas/AuthSSHKey" + "organizations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetOrganizations200ResponseOrganizations" + } } }, "required": [ - "ssh_key" + "organizations" ] } } @@ -10597,13 +10108,7 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" - }, - "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" - }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -10614,43 +10119,57 @@ } } }, - "/ssh_keys/ssh_key": { - "delete": { - "operationId": "delete:ssh_key", - "summary": "Delete SSH key", - "description": "Delete an SSH key", + "/organizations/organization": { + "get": { + "operationId": "get:organization", + "summary": "Get organization", + "description": "Returns information about a specific organization\n## Scopes\n- `organizations:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "SSH keys" + "Organizations" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "ssh_key": { - "$ref": "#/components/schemas/AuthSSHKeyLookup" - } - }, - "required": [ - "ssh_key" - ] - } - } + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/organizations:read" + ] + }, + { + "Authenticator": [ + "organizations:read" + ] } - }, + ], + "parameters": [ + { + "in": "query", + "name": "organization[id]", + "schema": { + "type": "string" + }, + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + }, + { + "in": "query", + "name": "organization[sub_domain]", + "schema": { + "type": "string" + }, + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + } + ], "responses": { "200": { - "description": "Delete an SSH key", + "description": "Returns information about a specific organization", "content": { "application/json": { "schema": { "properties": { - "ssh_key": { - "$ref": "#/components/schemas/AuthSSHKey" + "organization": { + "$ref": "#/components/schemas/Organization" } }, "required": [ - "ssh_key" + "organization" ] } } @@ -10660,13 +10179,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" }, "404": { - "$ref": "#/components/responses/SSHKeyNotFoundResponse" - }, - "409": { - "$ref": "#/components/responses/DeletionRestrictedResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -10677,92 +10193,90 @@ } } }, - "/security_groups/security_group/rules": { + "/organizations/organization/policy": { "get": { - "operationId": "get:security_group_rules", - "summary": "List security group rules", - "description": "Returns a list of all rules for a given security group\n## Scopes\n- `security_groups`\n- `security_groups:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:organization_policy", + "summary": "Get organization limits and usage", + "description": "Returns the computed policy limits for a organization\n## Scopes\n- `organizations:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Security group rules" + "Organizations" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/security_groups", - "api.katapult.io/core/v1/security_groups:read" + "api.katapult.io/core/v1/organizations:read" ] }, { "Authenticator": [ - "security_groups", - "security_groups:read" + "organizations:read" ] } ], "parameters": [ { "in": "query", - "name": "security_group[id]", + "name": "organization[id]", "schema": { "type": "string" }, - "description": "The security group to return all load rules for. \n\n All 'security_group[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer", - "default": 1, - "minimum": 1 - }, - "description": "The page number to request. If not provided, the first page will be returned." + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." }, { - "name": "per_page", "in": "query", + "name": "organization[sub_domain]", "schema": { - "type": "integer", - "default": 30, - "minimum": 1 + "type": "string" }, - "description": "The number of items to return per page. If not provided, the default value will be used." + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." } ], "responses": { "200": { - "description": "Returns a list of all rules for a given security group", + "description": "Returns the computed policy limits for a organization", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" + "policy_type": { + "$ref": "#/components/schemas/PolicyType" }, - "security_group_rules": { + "policy_name": { + "type": "string", + "nullable": true + }, + "limits": { + "$ref": "#/components/schemas/PolicyLimits" + }, + "features": { + "$ref": "#/components/schemas/PolicyFeatures" + }, + "reasons_for_disallowing_resource_creation": { "type": "array", "items": { - "$ref": "#/components/schemas/GetSecurityGroupRules200ResponseSecurityGroupRules" - }, - "description": "The security group rules for this security group" + "type": "string" + } } }, "required": [ - "pagination", - "security_group_rules" + "policy_type", + "policy_name", + "limits", + "features", + "reasons_for_disallowing_resource_creation" ] } } } }, "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" + "$ref": "#/components/responses/PolicyNotAvailableForManagedOrganizations400Res" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" }, "404": { - "$ref": "#/components/responses/SecurityGroupNotFoundResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -10771,64 +10285,59 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, - "post": { - "operationId": "post:security_group_rules", - "summary": "Create security group rule", - "description": "Create a new security group rule\n## Scopes\n- `security_groups`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + } + }, + "/organizations/organization/policy_limits": { + "get": { + "operationId": "get:organization_policy_limits", + "summary": "Get organization policy limits", + "description": "Returns the computed policy limits for a organization\n## Scopes\n- `organizations:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Security group rules" + "Organizations" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/security_groups" + "api.katapult.io/core/v1/organizations:read" ] }, { "Authenticator": [ - "security_groups" + "organizations:read" ] } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "security_group": { - "$ref": "#/components/schemas/SecurityGroupLookup" - }, - "properties": { - "$ref": "#/components/schemas/SecurityGroupRuleArguments" - } - }, - "required": [ - "security_group", - "properties" - ] - } - } + "parameters": [ + { + "in": "query", + "name": "organization[id]", + "schema": { + "type": "string" + }, + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + }, + { + "in": "query", + "name": "organization[sub_domain]", + "schema": { + "type": "string" + }, + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." } - }, + ], "responses": { "200": { - "description": "Create a new security group rule", + "description": "Returns the computed policy limits for a organization", "content": { "application/json": { "schema": { "properties": { - "security_group_rule": { - "description": "The security group rule that has been created", - "allOf": [ - { - "$ref": "#/components/schemas/PostSecurityGroupRules200ResponseSecurityGroupRule" - } - ] + "policy_limits": { + "$ref": "#/components/schemas/OrganizationPolicy" } }, "required": [ - "security_group_rule" + "policy_limits" ] } } @@ -10838,13 +10347,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" }, "404": { - "$ref": "#/components/responses/SecurityGroupNotFoundResponse" - }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -10855,69 +10361,78 @@ } } }, - "/security_groups/rules/security_group_rule": { + "/organizations/organization/prices": { "get": { - "operationId": "get:security_groups_rules_security_group_rule", - "summary": "Get security group rule", - "description": "Returns details about a security group rule\n## Scopes\n- `security_groups`\n- `security_groups:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:organization_prices", + "summary": "Get organization prices", + "description": "Returns the active prices for an organization\n## Scopes\n- `organizations:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Security group rules" + "Organizations" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/security_groups", - "api.katapult.io/core/v1/security_groups:read" + "api.katapult.io/core/v1/organizations:read" ] }, { "Authenticator": [ - "security_groups", - "security_groups:read" + "organizations:read" ] } ], "parameters": [ { "in": "query", - "name": "security_group_rule[id]", + "name": "organization[id]", + "schema": { + "type": "string" + }, + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + }, + { + "in": "query", + "name": "organization[sub_domain]", "schema": { "type": "string" }, - "description": "The security group rule to return the details for. \n\n All 'security_group_rule[]' params are mutually exclusive, only one can be provided." + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." } ], "responses": { "200": { - "description": "Returns details about a security group rule", + "description": "Returns the active prices for an organization", "content": { "application/json": { "schema": { "properties": { - "security_group_rule": { - "description": "The resolved security group rule", - "allOf": [ - { - "$ref": "#/components/schemas/GetSecurityGroupsRulesSecurityGroupRule200ResponseSecurityGroupRule" - } - ] + "currency": { + "$ref": "#/components/schemas/Currency" + }, + "prices": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PriceResourceWithSinglePriceVariant" + }, + "description": "The prices in the default price plan" } }, "required": [ - "security_group_rule" + "currency", + "prices" ] } } } }, "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" + "$ref": "#/components/responses/PricesNotAvailableForManagedOrganizations400Res" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" }, "404": { - "$ref": "#/components/responses/SecurityGroupRuleNotFoundResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -10926,64 +10441,61 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, - "patch": { - "operationId": "patch:security_groups_rules_security_group_rule", - "summary": "Update security group rule", - "description": "Updates a security group rule with new properties\n## Scopes\n- `security_groups`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + } + }, + "/organizations/organization/deletion_steps": { + "get": { + "operationId": "get:organization_deletion_steps", + "summary": "Deletion steps", + "description": "Returns details of the steps which must be performed before an organization can be deleted\n## Scopes\n- `organizations:delete`\n- `managed_organizations:delete`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Security group rules" + "Organizations" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/security_groups" + "api.katapult.io/core/v1/organizations:delete", + "api.katapult.io/core/v1/managed_organizations:delete" ] }, { "Authenticator": [ - "security_groups" + "organizations:delete", + "managed_organizations:delete" ] } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "security_group_rule": { - "$ref": "#/components/schemas/SecurityGroupRuleLookup" - }, - "properties": { - "$ref": "#/components/schemas/SecurityGroupRuleArguments" - } - }, - "required": [ - "security_group_rule", - "properties" - ] - } - } + "parameters": [ + { + "in": "query", + "name": "organization[id]", + "schema": { + "type": "string" + }, + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + }, + { + "in": "query", + "name": "organization[sub_domain]", + "schema": { + "type": "string" + }, + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." } - }, + ], "responses": { "200": { - "description": "Updates a security group rule with new properties", + "description": "Returns details of the steps which must be performed before an organization can be deleted", "content": { "application/json": { "schema": { "properties": { - "security_group_rule": { - "description": "The security group that has been updated", - "allOf": [ - { - "$ref": "#/components/schemas/PatchSecurityGroupsRulesSecurityGroupRule200ResponseSecurityGroupRule" - } - ] + "steps": { + "$ref": "#/components/schemas/OrganizationDeletionSteps" } }, "required": [ - "security_group_rule" + "steps" ] } } @@ -10993,13 +10505,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/SecurityGroupRuleNotFoundResponse" - }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -11008,23 +10517,27 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, - "delete": { - "operationId": "delete:security_groups_rules_security_group_rule", - "summary": "Delete security group rule", - "description": "Delete a security group rule\n## Scopes\n- `security_groups`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + } + }, + "/virtual_machines/virtual_machine/start": { + "post": { + "operationId": "post:virtual_machine_start", + "summary": "Start virtual machine", + "description": "Queues a task to start a virtual machine\n## Scopes\n- `virtual_machines`\n- `virtual_machines:power_actions`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Security group rules" + "Power functions" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/security_groups" + "api.katapult.io/core/v1/virtual_machines", + "api.katapult.io/core/v1/virtual_machines:power_actions" ] }, { "Authenticator": [ - "security_groups" + "virtual_machines", + "virtual_machines:power_actions" ] } ], @@ -11033,12 +10546,12 @@ "application/json": { "schema": { "properties": { - "security_group_rule": { - "$ref": "#/components/schemas/SecurityGroupRuleLookup" + "virtual_machine": { + "$ref": "#/components/schemas/VirtualMachineLookup" } }, "required": [ - "security_group_rule" + "virtual_machine" ] } } @@ -11046,22 +10559,17 @@ }, "responses": { "200": { - "description": "Delete a security group rule", + "description": "Queues a task to start a virtual machine", "content": { "application/json": { "schema": { "properties": { - "security_group_rule": { - "description": "The security group rule that has been destroyed", - "allOf": [ - { - "$ref": "#/components/schemas/DeleteSecurityGroupsRulesSecurityGroupRule200ResponseSecurityGroupRule" - } - ] + "task": { + "$ref": "#/components/schemas/PostVirtualMachineStart200ResponseTask" } }, "required": [ - "security_group_rule" + "task" ] } } @@ -11074,10 +10582,10 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/SecurityGroupRuleNotFoundResponse" + "$ref": "#/components/responses/VirtualMachineNotFoundResponse" }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "406": { + "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -11088,109 +10596,57 @@ } } }, - "/organizations/organization/security_groups": { - "get": { - "operationId": "get:organization_security_groups", - "summary": "List security groups", - "description": "Returns a list of all security groups for a given organization\n## Scopes\n- `security_groups`\n- `security_groups:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", - "tags": [ - "Security groups" + "/virtual_machines/virtual_machine/stop": { + "post": { + "operationId": "post:virtual_machine_stop", + "summary": "Stop virtual machine", + "description": "Queues a task to stop a virtual machine\n## Scopes\n- `virtual_machines`\n- `virtual_machines:power_actions`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "tags": [ + "Power functions" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/security_groups", - "api.katapult.io/core/v1/security_groups:read" + "api.katapult.io/core/v1/virtual_machines", + "api.katapult.io/core/v1/virtual_machines:power_actions" ] }, { "Authenticator": [ - "security_groups", - "security_groups:read" + "virtual_machines", + "virtual_machines:power_actions" ] } ], - "parameters": [ - { - "in": "query", - "name": "organization[id]", - "schema": { - "type": "string" - }, - "description": "The organization to return all security groups for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "in": "query", - "name": "organization[sub_domain]", - "schema": { - "type": "string" - }, - "description": "The organization to return all security groups for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "in": "query", - "name": "annotations[][key]", - "schema": { - "type": "array", - "items": { - "type": "string" - } - }, - "description": "An array of annotations to filter by. \n\n All 'annotations[]' params are mutually exclusive, only one can be provided. \n\n All `annotations[]` params should have the same amount of elements." - }, - { - "in": "query", - "name": "annotations[][value]", - "schema": { - "type": "array", - "items": { - "type": "string" + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine": { + "$ref": "#/components/schemas/VirtualMachineLookup" + } + }, + "required": [ + "virtual_machine" + ] } - }, - "description": "An array of annotations to filter by. \n\n All 'annotations[]' params are mutually exclusive, only one can be provided. \n\n All `annotations[]` params should have the same amount of elements." - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer", - "default": 1, - "minimum": 1 - }, - "description": "The page number to request. If not provided, the first page will be returned." - }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer", - "default": 30, - "minimum": 1 - }, - "description": "The number of items to return per page. If not provided, the default value will be used." + } } - ], + }, "responses": { "200": { - "description": "Returns a list of all security groups for a given organization", + "description": "Queues a task to stop a virtual machine", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "security_groups": { - "type": "array", - "items": { - "$ref": "#/components/schemas/SecurityGroup" - }, - "description": "The security groups owned by this organization" + "task": { + "$ref": "#/components/schemas/PostVirtualMachineStop200ResponseTask" } }, "required": [ - "pagination", - "security_groups" + "task" ] } } @@ -11200,10 +10656,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/VirtualMachineNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -11212,23 +10671,27 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, + } + }, + "/virtual_machines/virtual_machine/shutdown": { "post": { - "operationId": "post:organization_security_groups", - "summary": "Create security group", - "description": "Create a new security group for a given organization\n## Scopes\n- `security_groups`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "post:virtual_machine_shutdown", + "summary": "Shutdown virtual machine", + "description": "Queues a task to shutdown a virtual machine\n## Scopes\n- `virtual_machines`\n- `virtual_machines:power_actions`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Security groups" + "Power functions" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/security_groups" + "api.katapult.io/core/v1/virtual_machines", + "api.katapult.io/core/v1/virtual_machines:power_actions" ] }, { "Authenticator": [ - "security_groups" + "virtual_machines", + "virtual_machines:power_actions" ] } ], @@ -11237,22 +10700,12 @@ "application/json": { "schema": { "properties": { - "organization": { - "$ref": "#/components/schemas/OrganizationLookup" - }, - "properties": { - "$ref": "#/components/schemas/SecurityGroupArguments" - }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } + "virtual_machine": { + "$ref": "#/components/schemas/VirtualMachineLookup" } }, "required": [ - "organization", - "properties" + "virtual_machine" ] } } @@ -11260,29 +10713,17 @@ }, "responses": { "200": { - "description": "Create a new security group for a given organization", + "description": "Queues a task to shutdown a virtual machine", "content": { "application/json": { "schema": { "properties": { - "security_group": { - "description": "The security group that has been created", - "allOf": [ - { - "$ref": "#/components/schemas/SecurityGroup" - } - ] - }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } + "task": { + "$ref": "#/components/schemas/PostVirtualMachineShutdown200ResponseTask" } }, "required": [ - "security_group", - "annotations" + "task" ] } } @@ -11292,13 +10733,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedPermissionDeniedResourceCreationRestricted403Res" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/VirtualMachineNotFoundResponse" }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "406": { + "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -11309,63 +10750,57 @@ } } }, - "/security_groups/security_group": { - "get": { - "operationId": "get:security_group", - "summary": "Get security group", - "description": "Returns details about a security group\n## Scopes\n- `security_groups`\n- `security_groups:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "/virtual_machines/virtual_machine/reset": { + "post": { + "operationId": "post:virtual_machine_reset", + "summary": "Reset virtual machine", + "description": "Queues a task to reset a virtual machine\n## Scopes\n- `virtual_machines`\n- `virtual_machines:power_actions`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Security groups" + "Power functions" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/security_groups", - "api.katapult.io/core/v1/security_groups:read" + "api.katapult.io/core/v1/virtual_machines", + "api.katapult.io/core/v1/virtual_machines:power_actions" ] }, { "Authenticator": [ - "security_groups", - "security_groups:read" + "virtual_machines", + "virtual_machines:power_actions" ] } ], - "parameters": [ - { - "in": "query", - "name": "security_group[id]", - "schema": { - "type": "string" - }, - "description": "The security group to return the details for. \n\n All 'security_group[]' params are mutually exclusive, only one can be provided." + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine": { + "$ref": "#/components/schemas/VirtualMachineLookup" + } + }, + "required": [ + "virtual_machine" + ] + } + } } - ], + }, "responses": { "200": { - "description": "Returns details about a security group", + "description": "Queues a task to reset a virtual machine", "content": { "application/json": { "schema": { "properties": { - "security_group": { - "description": "The security group", - "allOf": [ - { - "$ref": "#/components/schemas/SecurityGroup" - } - ] - }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } + "task": { + "$ref": "#/components/schemas/PostVirtualMachineReset200ResponseTask" } }, "required": [ - "security_group", - "annotations" + "task" ] } } @@ -11375,10 +10810,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/SecurityGroupNotFoundResponse" + "$ref": "#/components/responses/VirtualMachineNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -11387,77 +10825,65 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, - "patch": { - "operationId": "patch:security_group", - "summary": "Update security group", - "description": "Updates a security group with new properties\n## Scopes\n- `security_groups`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + } + }, + "/dns_zones/dns_zone/records": { + "get": { + "operationId": "get:dns_zone_records", + "summary": "List DNS records", + "description": "Return a list of all DNS records in a zone\n## Scopes\n- `dns`\n- `dns:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Security groups" + "Records" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/security_groups" - ] + "api.katapult.io/core/v1/dns", + "api.katapult.io/core/v1/dns:read" + ] }, { "Authenticator": [ - "security_groups" + "dns", + "dns:read" ] } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "security_group": { - "$ref": "#/components/schemas/SecurityGroupLookup" - }, - "properties": { - "$ref": "#/components/schemas/SecurityGroupArguments" - }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } - } - }, - "required": [ - "security_group", - "properties" - ] - } - } + "parameters": [ + { + "in": "query", + "name": "dns_zone[id]", + "schema": { + "type": "string" + }, + "description": "All 'dns_zone[]' params are mutually exclusive, only one can be provided." + }, + { + "in": "query", + "name": "dns_zone[name]", + "schema": { + "type": "string" + }, + "description": "All 'dns_zone[]' params are mutually exclusive, only one can be provided." } - }, + ], "responses": { "200": { - "description": "Updates a security group with new properties", + "description": "Return a list of all DNS records in a zone", "content": { "application/json": { "schema": { "properties": { - "security_group": { - "description": "The security group that has been updated", - "allOf": [ - { - "$ref": "#/components/schemas/SecurityGroup" - } - ] - }, - "annotations": { + "dns_records": { "type": "array", "items": { - "$ref": "#/components/schemas/KeyValue" - } + "$ref": "#/components/schemas/DNSRecord" + }, + "description": "The DNS record for the provided zone" } }, "required": [ - "security_group", - "annotations" + "dns_records" ] } } @@ -11470,10 +10896,7 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/SecurityGroupNotFoundResponse" - }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/DNSZoneNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -11483,22 +10906,22 @@ } } }, - "delete": { - "operationId": "delete:security_group", - "summary": "Delete security group", - "description": "Delete a security group\n## Scopes\n- `security_group`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "post": { + "operationId": "post:dns_zone_records", + "summary": "Create DNS record", + "description": "Create a new DNS record\n## Scopes\n- `dns`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Security groups" + "Records" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/security_group" + "api.katapult.io/core/v1/dns" ] }, { "Authenticator": [ - "security_group" + "dns" ] } ], @@ -11507,12 +10930,16 @@ "application/json": { "schema": { "properties": { - "security_group": { - "$ref": "#/components/schemas/SecurityGroupLookup" + "dns_zone": { + "$ref": "#/components/schemas/DNSZoneLookup" + }, + "properties": { + "$ref": "#/components/schemas/DNSRecordArguments" } }, "required": [ - "security_group" + "dns_zone", + "properties" ] } } @@ -11520,22 +10947,17 @@ }, "responses": { "200": { - "description": "Delete a security group", + "description": "Create a new DNS record", "content": { "application/json": { "schema": { "properties": { - "security_group": { - "description": "The security group that has been destroyed", - "allOf": [ - { - "$ref": "#/components/schemas/DeleteSecurityGroup200ResponseSecurityGroup" - } - ] + "dns_record": { + "$ref": "#/components/schemas/DNSRecord" } }, "required": [ - "security_group" + "dns_record" ] } } @@ -11548,10 +10970,7 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/SecurityGroupNotFoundResponse" - }, - "409": { - "$ref": "#/components/responses/DeletionRestrictedResponse" + "$ref": "#/components/responses/DNSZoneNotFoundResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -11565,87 +10984,56 @@ } } }, - "/organizations/organization/tags": { + "/dns_records/dns_record": { "get": { - "operationId": "get:organization_tags", - "summary": "List tags", - "description": "Returns a list of all tags for an organization\n## Scopes\n- `tags`\n- `tags:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:dns_record", + "summary": "Get DNS record", + "description": "Return details for a specific DNS record\n## Scopes\n- `dns`\n- `dns:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Tags" + "Records" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/tags", - "api.katapult.io/core/v1/tags:read" + "api.katapult.io/core/v1/dns", + "api.katapult.io/core/v1/dns:read" ] }, { "Authenticator": [ - "tags", - "tags:read" + "dns", + "dns:read" ] } ], "parameters": [ { "in": "query", - "name": "organization[id]", - "schema": { - "type": "string" - }, - "description": "The organization to list the tags for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "in": "query", - "name": "organization[sub_domain]", + "name": "dns_record[id]", "schema": { "type": "string" }, - "description": "The organization to list the tags for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer", - "default": 1, - "minimum": 1 - }, - "description": "The page number to request. If not provided, the first page will be returned." - }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer", - "default": 30, - "minimum": 1 - }, - "description": "The number of items to return per page. If not provided, the default value will be used." + "description": "" } ], "responses": { "200": { - "description": "Returns a list of all tags for an organization", + "description": "Return details for a specific DNS record", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "tags": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetOrganizationTags200ResponseTags" - }, - "description": "The details for the tags on the organization" + "dns_record": { + "description": "The DNS record for the provided organization", + "allOf": [ + { + "$ref": "#/components/schemas/DNSRecord" + } + ] } }, "required": [ - "pagination", - "tags" + "dns_record" ] } } @@ -11655,10 +11043,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/DNSRecordNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -11668,22 +11056,22 @@ } } }, - "post": { - "operationId": "post:organization_tags", - "summary": "Create a tag", - "description": "Creates a new tag with the provided properties\n## Scopes\n- `tags`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "patch": { + "operationId": "patch:dns_record", + "summary": "Update DNS record", + "description": "Update a DNS record properties\n## Scopes\n- `dns`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Tags" + "Records" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/tags" + "api.katapult.io/core/v1/dns" ] }, { "Authenticator": [ - "tags" + "dns" ] } ], @@ -11692,15 +11080,15 @@ "application/json": { "schema": { "properties": { - "organization": { - "$ref": "#/components/schemas/OrganizationLookup" + "dns_record": { + "$ref": "#/components/schemas/DNSRecordLookup" }, "properties": { - "$ref": "#/components/schemas/TagArguments" + "$ref": "#/components/schemas/DNSRecordArguments" } }, "required": [ - "organization", + "dns_record", "properties" ] } @@ -11709,22 +11097,22 @@ }, "responses": { "200": { - "description": "Creates a new tag with the provided properties", + "description": "Update a DNS record properties", "content": { "application/json": { "schema": { "properties": { - "tag": { - "description": "The newly created tag", + "dns_record": { + "description": "The DNS record that has been updated", "allOf": [ { - "$ref": "#/components/schemas/Tag" + "$ref": "#/components/schemas/DNSRecord" } ] } }, "required": [ - "tag" + "dns_record" ] } } @@ -11734,10 +11122,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/DNSRecordNotFoundResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -11749,58 +11137,55 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/tags/tag": { - "get": { - "operationId": "get:tag", - "summary": "Get tag", - "description": "Returns details about a specific tag\n## Scopes\n- `tags`\n- `tags:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + }, + "delete": { + "operationId": "delete:dns_record", + "summary": "Delete DNS record", + "description": "Delete a DNS record\n## Scopes\n- `dns`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Tags" + "Records" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/tags", - "api.katapult.io/core/v1/tags:read" + "api.katapult.io/core/v1/dns" ] }, { "Authenticator": [ - "tags", - "tags:read" + "dns" ] } ], - "parameters": [ - { - "in": "query", - "name": "tag[id]", - "schema": { - "type": "string" - }, - "description": "The tag to load the details for. \n\n All 'tag[]' params are mutually exclusive, only one can be provided." - } - ], - "responses": { - "200": { - "description": "Returns details about a specific tag", + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "dns_record": { + "$ref": "#/components/schemas/DNSRecordLookup" + } + }, + "required": [ + "dns_record" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Delete a DNS record", "content": { "application/json": { "schema": { "properties": { - "tag": { - "description": "The details for the requested tag", - "allOf": [ - { - "$ref": "#/components/schemas/Tag" - } - ] + "deleted": { + "type": "boolean" } }, "required": [ - "tag" + "deleted" ] } } @@ -11813,7 +11198,7 @@ "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/TagNotFoundResponse" + "$ref": "#/components/responses/DNSRecordNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -11822,64 +11207,136 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, - "patch": { - "operationId": "patch:tag", - "summary": "Update a tag", - "description": "Updates a tag with the provided properties\n## Scopes\n- `tags`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + } + }, + "/organizations/organization/ssh_keys": { + "get": { + "operationId": "get:organization_ssh_keys", + "summary": "List organization SSH keys", + "description": "Returns a list of all SSH keys for an organization", "tags": [ - "Tags" + "SSH keys" ], - "security": [ + "parameters": [ { - "OAuth2": [ - "api.katapult.io/core/v1/tags" - ] + "in": "query", + "name": "organization[id]", + "schema": { + "type": "string" + }, + "description": "The organization to list SSH keys for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." }, { - "Authenticator": [ - "tags" - ] + "in": "query", + "name": "organization[sub_domain]", + "schema": { + "type": "string" + }, + "description": "The organization to list SSH keys for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "default": 1, + "minimum": 1 + }, + "description": "The page number to request. If not provided, the first page will be returned." + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer", + "default": 30, + "minimum": 1 + }, + "description": "The number of items to return per page. If not provided, the default value will be used." + } + ], + "responses": { + "200": { + "description": "Returns a list of all SSH keys for an organization", + "content": { + "application/json": { + "schema": { + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "ssh_keys": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AuthSSHKey" + } + } + }, + "required": [ + "pagination", + "ssh_keys" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/OrganizationNotFoundResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" } + } + }, + "post": { + "operationId": "post:organization_ssh_keys", + "summary": "Add organization SSH key", + "description": "Add an SSH key to an organization", + "tags": [ + "SSH keys" ], "requestBody": { "content": { "application/json": { "schema": { "properties": { - "tag": { - "$ref": "#/components/schemas/TagLookup" + "organization": { + "$ref": "#/components/schemas/OrganizationLookup" }, - "properties": { - "$ref": "#/components/schemas/TagArguments" + "ssh_key": { + "$ref": "#/components/schemas/AuthSSHKeyProperties" } }, "required": [ - "tag", - "properties" + "organization", + "ssh_key" ] } } } }, "responses": { - "200": { - "description": "Updates a tag with the provided properties", + "201": { + "description": "Add an SSH key to an organization", "content": { "application/json": { "schema": { "properties": { - "tag": { - "description": "The newly updated tag", - "allOf": [ - { - "$ref": "#/components/schemas/Tag" - } - ] + "ssh_key": { + "$ref": "#/components/schemas/AuthSSHKey" } }, "required": [ - "tag" + "ssh_key" ] } } @@ -11889,10 +11346,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" }, "404": { - "$ref": "#/components/responses/TagNotFoundResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -11904,37 +11361,27 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, + } + }, + "/ssh_keys/ssh_key": { "delete": { - "operationId": "delete:tag", - "summary": "Delete a tag", - "description": "Deletes a tag\n## Scopes\n- `tags`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "delete:ssh_key", + "summary": "Delete SSH key", + "description": "Delete an SSH key", "tags": [ - "Tags" - ], - "security": [ - { - "OAuth2": [ - "api.katapult.io/core/v1/tags" - ] - }, - { - "Authenticator": [ - "tags" - ] - } + "SSH keys" ], "requestBody": { "content": { "application/json": { "schema": { "properties": { - "tag": { - "$ref": "#/components/schemas/TagLookup" + "ssh_key": { + "$ref": "#/components/schemas/AuthSSHKeyLookup" } }, "required": [ - "tag" + "ssh_key" ] } } @@ -11942,22 +11389,17 @@ }, "responses": { "200": { - "description": "Deletes a tag", + "description": "Delete an SSH key", "content": { "application/json": { "schema": { "properties": { - "tag": { - "description": "The newly deleted tag", - "allOf": [ - { - "$ref": "#/components/schemas/Tag" - } - ] + "ssh_key": { + "$ref": "#/components/schemas/AuthSSHKey" } }, "required": [ - "tag" + "ssh_key" ] } } @@ -11970,7 +11412,10 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/TagNotFoundResponse" + "$ref": "#/components/responses/SSHKeyNotFoundResponse" + }, + "409": { + "$ref": "#/components/responses/DeletionRestrictedResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -11981,135 +11426,61 @@ } } }, - "/tasks/task": { + "/security_groups/security_group/rules": { "get": { - "operationId": "get:task", - "summary": "Get Task", - "description": "Returns details about a specific task\n## Scopes\n- `tasks`\n- `tasks:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:security_group_rules", + "summary": "List security group rules", + "description": "Returns a list of all rules for a given security group\n## Scopes\n- `security_groups`\n- `security_groups:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Tasks" + "Security group rules" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/tasks", - "api.katapult.io/core/v1/tasks:read" + "api.katapult.io/core/v1/security_groups", + "api.katapult.io/core/v1/security_groups:read" ] }, { "Authenticator": [ - "tasks", - "tasks:read" + "security_groups", + "security_groups:read" ] } ], "parameters": [ { "in": "query", - "name": "task[id]", + "name": "security_group[id]", "schema": { "type": "string" }, - "description": "All 'task[]' params are mutually exclusive, only one can be provided." + "description": "The security group to return all load rules for." + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "default": 1, + "minimum": 1 + }, + "description": "The page number to request. If not provided, the first page will be returned." + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer", + "default": 30, + "minimum": 1 + }, + "description": "The number of items to return per page. If not provided, the default value will be used." } ], "responses": { "200": { - "description": "Returns details about a specific task", - "content": { - "application/json": { - "schema": { - "properties": { - "task": { - "$ref": "#/components/schemas/Task" - } - }, - "required": [ - "task" - ] - } - } - } - }, - "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" - }, - "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" - }, - "404": { - "$ref": "#/components/responses/TaskNotFoundResponse" - }, - "429": { - "$ref": "#/components/responses/APIAuthenticator429Response" - }, - "503": { - "$ref": "#/components/responses/APIAuthenticator503Response" - } - } - } - }, - "/organizations/organization/trash_objects": { - "get": { - "operationId": "get:organization_trash_objects", - "summary": "List trash objects", - "description": "Provides a full list of all trash objects for a specific organization\n## Scopes\n- `trash_objects:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", - "tags": [ - "Trash objects" - ], - "security": [ - { - "OAuth2": [ - "api.katapult.io/core/v1/trash_objects:read" - ] - }, - { - "Authenticator": [ - "trash_objects:read" - ] - } - ], - "parameters": [ - { - "in": "query", - "name": "organization[id]", - "schema": { - "type": "string" - }, - "description": "The organization to find all trash objects for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "in": "query", - "name": "organization[sub_domain]", - "schema": { - "type": "string" - }, - "description": "The organization to find all trash objects for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer", - "default": 1, - "minimum": 1 - }, - "description": "The page number to request. If not provided, the first page will be returned." - }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer", - "default": 30, - "minimum": 1 - }, - "description": "The number of items to return per page. If not provided, the default value will be used." - } - ], - "responses": { - "200": { - "description": "Provides a full list of all trash objects for a specific organization", + "description": "Returns a list of all rules for a given security group", "content": { "application/json": { "schema": { @@ -12117,17 +11488,17 @@ "pagination": { "$ref": "#/components/schemas/PaginationObject" }, - "trash_objects": { + "security_group_rules": { "type": "array", "items": { - "$ref": "#/components/schemas/TrashObject" + "$ref": "#/components/schemas/GetSecurityGroupRules200ResponseSecurityGroupRules" }, - "description": "The trash objects that belong to this organization" + "description": "The security group rules for this security group" } }, "required": [ "pagination", - "trash_objects" + "security_group_rules" ] } } @@ -12137,10 +11508,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/SecurityGroupNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -12149,25 +11520,23 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/organizations/organization/trash_objects/purge_all": { + }, "post": { - "operationId": "post:organization_trash_objects_purge_all", - "summary": "Purge all trash objects", - "description": "Purge all trash objects for an organization\n## Scopes\n- `trash_objects:purge`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "post:security_group_rules", + "summary": "Create security group rule", + "description": "Create a new security group rule\n## Scopes\n- `security_groups`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Trash objects" + "Security group rules" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/trash_objects:purge" + "api.katapult.io/core/v1/security_groups" ] }, { "Authenticator": [ - "trash_objects:purge" + "security_groups" ] } ], @@ -12176,12 +11545,16 @@ "application/json": { "schema": { "properties": { - "organization": { - "$ref": "#/components/schemas/OrganizationLookup" + "security_group": { + "$ref": "#/components/schemas/SecurityGroupLookup" + }, + "properties": { + "$ref": "#/components/schemas/SecurityGroupRuleArguments" } }, "required": [ - "organization" + "security_group", + "properties" ] } } @@ -12189,17 +11562,22 @@ }, "responses": { "200": { - "description": "Purge all trash objects for an organization", + "description": "Create a new security group rule", "content": { "application/json": { "schema": { "properties": { - "task": { - "$ref": "#/components/schemas/Task" + "security_group_rule": { + "description": "The security group rule that has been created", + "allOf": [ + { + "$ref": "#/components/schemas/PostSecurityGroupRules200ResponseSecurityGroupRule" + } + ] } }, "required": [ - "task" + "security_group_rule" ] } } @@ -12209,13 +11587,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/SecurityGroupNotFoundResponse" }, - "406": { - "$ref": "#/components/responses/TaskQueueingErrorResponse" + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -12226,62 +11604,56 @@ } } }, - "/trash_objects/trash_object": { + "/security_groups/rules/security_group_rule": { "get": { - "operationId": "get:trash_object", - "summary": "Get trash object", - "description": "Provides information on a specific trash object\n## Scopes\n- `trash_objects:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:security_groups_rules_security_group_rule", + "summary": "Get security group rule", + "description": "Returns details about a security group rule\n## Scopes\n- `security_groups`\n- `security_groups:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Trash objects" + "Security group rules" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/trash_objects:read" + "api.katapult.io/core/v1/security_groups", + "api.katapult.io/core/v1/security_groups:read" ] }, { "Authenticator": [ - "trash_objects:read" + "security_groups", + "security_groups:read" ] } ], "parameters": [ { "in": "query", - "name": "trash_object[id]", - "schema": { - "type": "string" - }, - "description": "The trash object to find. \n\n All 'trash_object[]' params are mutually exclusive, only one can be provided." - }, - { - "in": "query", - "name": "trash_object[object_id]", + "name": "security_group_rule[id]", "schema": { "type": "string" }, - "description": "The trash object to find. \n\n All 'trash_object[]' params are mutually exclusive, only one can be provided." + "description": "The security group rule to return the details for." } ], "responses": { "200": { - "description": "Provides information on a specific trash object", + "description": "Returns details about a security group rule", "content": { "application/json": { "schema": { "properties": { - "trash_object": { - "description": "The requested trash object", + "security_group_rule": { + "description": "The resolved security group rule", "allOf": [ { - "$ref": "#/components/schemas/TrashObject" + "$ref": "#/components/schemas/GetSecurityGroupsRulesSecurityGroupRule200ResponseSecurityGroupRule" } ] } }, "required": [ - "trash_object" + "security_group_rule" ] } } @@ -12291,10 +11663,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/TrashObjectNotFoundResponse" + "$ref": "#/components/responses/SecurityGroupRuleNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -12304,22 +11676,22 @@ } } }, - "delete": { - "operationId": "delete:trash_object", - "summary": "Purge a trash object", - "description": "Purge a specific trash object\n## Scopes\n- `trash_objects:purge`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "patch": { + "operationId": "patch:security_groups_rules_security_group_rule", + "summary": "Update security group rule", + "description": "Updates a security group rule with new properties\n## Scopes\n- `security_groups`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Trash objects" + "Security group rules" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/trash_objects:purge" + "api.katapult.io/core/v1/security_groups" ] }, { "Authenticator": [ - "trash_objects:purge" + "security_groups" ] } ], @@ -12328,12 +11700,16 @@ "application/json": { "schema": { "properties": { - "trash_object": { - "$ref": "#/components/schemas/TrashObjectLookup" + "security_group_rule": { + "$ref": "#/components/schemas/SecurityGroupRuleLookup" + }, + "properties": { + "$ref": "#/components/schemas/SecurityGroupRuleArguments" } }, "required": [ - "trash_object" + "security_group_rule", + "properties" ] } } @@ -12341,17 +11717,22 @@ }, "responses": { "200": { - "description": "Purge a specific trash object", + "description": "Updates a security group rule with new properties", "content": { "application/json": { "schema": { "properties": { - "task": { - "$ref": "#/components/schemas/Task" + "security_group_rule": { + "description": "The security group that has been updated", + "allOf": [ + { + "$ref": "#/components/schemas/PatchSecurityGroupsRulesSecurityGroupRule200ResponseSecurityGroupRule" + } + ] } }, "required": [ - "task" + "security_group_rule" ] } } @@ -12364,10 +11745,10 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/TrashObjectNotFoundResponse" + "$ref": "#/components/responses/SecurityGroupRuleNotFoundResponse" }, - "406": { - "$ref": "#/components/responses/TaskQueueingErrorResponse" + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -12376,25 +11757,23 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/trash_objects/trash_object/restore": { - "post": { - "operationId": "post:trash_object_restore", - "summary": "Restore a trash object", - "description": "Restore a trashed object to its original location\n## Scopes\n- `trash_objects:restore`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + }, + "delete": { + "operationId": "delete:security_groups_rules_security_group_rule", + "summary": "Delete security group rule", + "description": "Delete a security group rule\n## Scopes\n- `security_groups`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Trash objects" + "Security group rules" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/trash_objects:restore" + "api.katapult.io/core/v1/security_groups" ] }, { "Authenticator": [ - "trash_objects:restore" + "security_groups" ] } ], @@ -12403,12 +11782,12 @@ "application/json": { "schema": { "properties": { - "trash_object": { - "$ref": "#/components/schemas/TrashObjectLookup" + "security_group_rule": { + "$ref": "#/components/schemas/SecurityGroupRuleLookup" } }, "required": [ - "trash_object" + "security_group_rule" ] } } @@ -12416,22 +11795,22 @@ }, "responses": { "200": { - "description": "Restore a trashed object to its original location", + "description": "Delete a security group rule", "content": { "application/json": { "schema": { "properties": { - "trash_object": { - "description": "The requested trash object", + "security_group_rule": { + "description": "The security group rule that has been destroyed", "allOf": [ { - "$ref": "#/components/schemas/TrashObject" + "$ref": "#/components/schemas/DeleteSecurityGroupsRulesSecurityGroupRule200ResponseSecurityGroupRule" } ] } }, "required": [ - "trash_object" + "security_group_rule" ] } } @@ -12444,118 +11823,10 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/TrashObjectNotFoundResponse" - }, - "429": { - "$ref": "#/components/responses/APIAuthenticator429Response" - }, - "503": { - "$ref": "#/components/responses/APIAuthenticator503Response" - } - } - } - }, - "/users/current": { - "get": { - "operationId": "get:users_current", - "summary": "Get current user details", - "description": "This endpoint returns details for the currently authenticated user. If the API token used to\nauthenticate to the API is not associated with a user, this method will return an error.\n", - "tags": [ - "Users" - ], - "parameters": [ - - ], - "responses": { - "200": { - "description": "This endpoint returns details for the currently authenticated user. If the API token used to\nauthenticate to the API is not associated with a user, this method will return an error.\n", - "content": { - "application/json": { - "schema": { - "properties": { - "user": { - "$ref": "#/components/schemas/User" - }, - "organizations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetUsersCurrent200ResponseOrganizations" - } - }, - "api_token_id": { - "type": "string", - "nullable": true - } - }, - "required": [ - "user", - "organizations", - "api_token_id" - ] - } - } - } - }, - "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" - }, - "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" - }, - "404": { - "$ref": "#/components/responses/NoUserAssociatedWithIdentityResponse" - }, - "429": { - "$ref": "#/components/responses/APIAuthenticator429Response" - }, - "503": { - "$ref": "#/components/responses/APIAuthenticator503Response" - } - } - } - }, - "/invalidate_linked_web_session": { - "post": { - "operationId": "post:invalidate_linked_web_session", - "summary": "Invalidate linked web session", - "description": "This endpoint allows you to invalidate the web session which is associated with your authenticated\nidentity. This will only work for API identities (most likely API tokens) that were generated using the first-party application\nlogin flow.\n", - "tags": [ - "Users" - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - - } - } - } - } - }, - "responses": { - "200": { - "description": "This endpoint allows you to invalidate the web session which is associated with your authenticated\nidentity. This will only work for API identities (most likely API tokens) that were generated using the first-party application\nlogin flow.\n", - "content": { - "application/json": { - "schema": { - "properties": { - "status": { - "type": "boolean" - } - }, - "required": [ - "status" - ] - } - } - } - }, - "400": { - "$ref": "#/components/responses/IdentityNotLinkedToWebSession400Res" + "$ref": "#/components/responses/SecurityGroupRuleNotFoundResponse" }, - "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -12566,25 +11837,25 @@ } } }, - "/organizations/organization/virtual_networks": { + "/organizations/organization/security_groups": { "get": { - "operationId": "get:organization_virtual_networks", - "summary": "List virtual networks", - "description": "Return a list of all virtual networks for an organization\n## Scopes\n- `virtual_networks`\n- `virtual_networks:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:organization_security_groups", + "summary": "List security groups", + "description": "Returns a list of all security groups for a given organization\n## Scopes\n- `security_groups`\n- `security_groups:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Virtual Networks" + "Security groups" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/virtual_networks", - "api.katapult.io/core/v1/virtual_networks:read" + "api.katapult.io/core/v1/security_groups", + "api.katapult.io/core/v1/security_groups:read" ] }, { "Authenticator": [ - "virtual_networks", - "virtual_networks:read" + "security_groups", + "security_groups:read" ] } ], @@ -12595,7 +11866,7 @@ "schema": { "type": "string" }, - "description": "The organization for which to return virtual networks. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "The organization to return all security groups for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." }, { "in": "query", @@ -12603,7 +11874,29 @@ "schema": { "type": "string" }, - "description": "The organization for which to return virtual networks. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "The organization to return all security groups for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." + }, + { + "in": "query", + "name": "annotations[][key]", + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "An array of annotations to filter by. \n\n All `annotations[]` params should have the same amount of elements." + }, + { + "in": "query", + "name": "annotations[][value]", + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "An array of annotations to filter by. \n\n All `annotations[]` params should have the same amount of elements." }, { "name": "page", @@ -12628,7 +11921,7 @@ ], "responses": { "200": { - "description": "Return a list of all virtual networks for an organization", + "description": "Returns a list of all security groups for a given organization", "content": { "application/json": { "schema": { @@ -12636,17 +11929,17 @@ "pagination": { "$ref": "#/components/schemas/PaginationObject" }, - "virtual_networks": { + "security_groups": { "type": "array", "items": { - "$ref": "#/components/schemas/VirtualNetwork" + "$ref": "#/components/schemas/SecurityGroup" }, - "description": "The virtual networks for the provided organization" + "description": "The security groups owned by this organization" } }, "required": [ "pagination", - "virtual_networks" + "security_groups" ] } } @@ -12670,21 +11963,21 @@ } }, "post": { - "operationId": "post:organization_virtual_networks", - "summary": "Create a virtual network", - "description": "Create a new virtual network with the provided details\n## Scopes\n- `virtual_networks`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "post:organization_security_groups", + "summary": "Create security group", + "description": "Create a new security group for a given organization\n## Scopes\n- `security_groups`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Virtual Networks" + "Security groups" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/virtual_networks" + "api.katapult.io/core/v1/security_groups" ] }, { "Authenticator": [ - "virtual_networks" + "security_groups" ] } ], @@ -12696,16 +11989,18 @@ "organization": { "$ref": "#/components/schemas/OrganizationLookup" }, - "data_center": { - "$ref": "#/components/schemas/DataCenterLookup" - }, "properties": { - "$ref": "#/components/schemas/VirtualNetworkArguments" + "$ref": "#/components/schemas/SecurityGroupArguments" + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } } }, "required": [ "organization", - "data_center", "properties" ] } @@ -12714,22 +12009,29 @@ }, "responses": { "200": { - "description": "Create a new virtual network with the provided details", + "description": "Create a new security group for a given organization", "content": { "application/json": { "schema": { "properties": { - "virtual_network": { - "description": "The new virtual network details", + "security_group": { + "description": "The security group that has been created", "allOf": [ { - "$ref": "#/components/schemas/VirtualNetwork" + "$ref": "#/components/schemas/SecurityGroup" } ] + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } } }, "required": [ - "virtual_network" + "security_group", + "annotations" ] } } @@ -12739,10 +12041,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedPermissionDeniedResourceCreationRestricted403Res" }, "404": { - "$ref": "#/components/responses/DataCenterNotFoundOrganizationNotFound404Res" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -12756,56 +12058,63 @@ } } }, - "/virtual_networks/virtual_network": { + "/security_groups/security_group": { "get": { - "operationId": "get:virtual_network", - "summary": "Get virtual network", - "description": "Return detailed information about a virtual network\n## Scopes\n- `virtual_networks`\n- `virtual_networks:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:security_group", + "summary": "Get security group", + "description": "Returns details about a security group\n## Scopes\n- `security_groups`\n- `security_groups:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Virtual Networks" + "Security groups" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/virtual_networks", - "api.katapult.io/core/v1/virtual_networks:read" + "api.katapult.io/core/v1/security_groups", + "api.katapult.io/core/v1/security_groups:read" ] }, { "Authenticator": [ - "virtual_networks", - "virtual_networks:read" + "security_groups", + "security_groups:read" ] } ], "parameters": [ { "in": "query", - "name": "virtual_network[id]", + "name": "security_group[id]", "schema": { "type": "string" }, - "description": "The virtual network to retrieve. \n\n All 'virtual_network[]' params are mutually exclusive, only one can be provided." + "description": "The security group to return the details for." } ], "responses": { "200": { - "description": "Return detailed information about a virtual network", + "description": "Returns details about a security group", "content": { "application/json": { "schema": { "properties": { - "virtual_network": { - "description": "The virtual network details", + "security_group": { + "description": "The security group", "allOf": [ { - "$ref": "#/components/schemas/VirtualNetwork" + "$ref": "#/components/schemas/SecurityGroup" } ] - } + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } + } }, "required": [ - "virtual_network" + "security_group", + "annotations" ] } } @@ -12815,10 +12124,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/VirtualNetworkNotFoundResponse" + "$ref": "#/components/responses/SecurityGroupNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -12829,21 +12138,21 @@ } }, "patch": { - "operationId": "patch:virtual_network", - "summary": "Update a virtual network", - "description": "Update a virtual network with the provided details\n## Scopes\n- `virtual_networks`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "patch:security_group", + "summary": "Update security group", + "description": "Updates a security group with new properties\n## Scopes\n- `security_groups`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Virtual Networks" + "Security groups" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/virtual_networks" + "api.katapult.io/core/v1/security_groups" ] }, { "Authenticator": [ - "virtual_networks" + "security_groups" ] } ], @@ -12852,15 +12161,21 @@ "application/json": { "schema": { "properties": { - "virtual_network": { - "$ref": "#/components/schemas/VirtualNetworkLookup" + "security_group": { + "$ref": "#/components/schemas/SecurityGroupLookup" }, "properties": { - "$ref": "#/components/schemas/VirtualNetworkArguments" + "$ref": "#/components/schemas/SecurityGroupArguments" + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } } }, "required": [ - "virtual_network", + "security_group", "properties" ] } @@ -12869,22 +12184,29 @@ }, "responses": { "200": { - "description": "Update a virtual network with the provided details", + "description": "Updates a security group with new properties", "content": { "application/json": { "schema": { "properties": { - "virtual_network": { - "description": "The updated virtual network details", + "security_group": { + "description": "The security group that has been updated", "allOf": [ { - "$ref": "#/components/schemas/VirtualNetwork" + "$ref": "#/components/schemas/SecurityGroup" } ] + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } } }, "required": [ - "virtual_network" + "security_group", + "annotations" ] } } @@ -12897,7 +12219,7 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/VirtualNetworkNotFoundResponse" + "$ref": "#/components/responses/SecurityGroupNotFoundResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -12911,21 +12233,21 @@ } }, "delete": { - "operationId": "delete:virtual_network", - "summary": "Delete a virtual network", - "description": "\n## Scopes\n- `virtual_networks`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "delete:security_group", + "summary": "Delete security group", + "description": "Delete a security group\n## Scopes\n- `security_group`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Virtual Networks" + "Security groups" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/virtual_networks" + "api.katapult.io/core/v1/security_group" ] }, { "Authenticator": [ - "virtual_networks" + "security_group" ] } ], @@ -12934,12 +12256,12 @@ "application/json": { "schema": { "properties": { - "virtual_network": { - "$ref": "#/components/schemas/VirtualNetworkLookup" + "security_group": { + "$ref": "#/components/schemas/SecurityGroupLookup" } }, "required": [ - "virtual_network" + "security_group" ] } } @@ -12947,22 +12269,22 @@ }, "responses": { "200": { - "description": "", + "description": "Delete a security group", "content": { "application/json": { "schema": { "properties": { - "virtual_network": { - "description": "The details for the deleted virtual network", + "security_group": { + "description": "The security group that has been destroyed", "allOf": [ { - "$ref": "#/components/schemas/VirtualNetwork" + "$ref": "#/components/schemas/DeleteSecurityGroup200ResponseSecurityGroup" } ] } }, "required": [ - "virtual_network" + "security_group" ] } } @@ -12975,11 +12297,14 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/VirtualNetworkNotFoundResponse" + "$ref": "#/components/responses/SecurityGroupNotFoundResponse" }, "409": { "$ref": "#/components/responses/DeletionRestrictedResponse" }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" + }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, @@ -12989,25 +12314,25 @@ } } }, - "/organizations/organization/virtual_machine_groups": { + "/organizations/organization/tags": { "get": { - "operationId": "get:organization_virtual_machine_groups", - "summary": "List virtual machine groups", - "description": "Return a list of all virtual machine groups for an organization\n## Scopes\n- `virtual_machine_groups`\n- `virtual_machine_groups:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:organization_tags", + "summary": "List tags", + "description": "Returns a list of all tags for an organization\n## Scopes\n- `tags`\n- `tags:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Virtual machine groups" + "Tags" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/virtual_machine_groups", - "api.katapult.io/core/v1/virtual_machine_groups:read" + "api.katapult.io/core/v1/tags", + "api.katapult.io/core/v1/tags:read" ] }, { "Authenticator": [ - "virtual_machine_groups", - "virtual_machine_groups:read" + "tags", + "tags:read" ] } ], @@ -13018,7 +12343,7 @@ "schema": { "type": "string" }, - "description": "The organization to return groups for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "The organization to list the tags for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." }, { "in": "query", @@ -13026,26 +12351,50 @@ "schema": { "type": "string" }, - "description": "The organization to return groups for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "The organization to list the tags for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "default": 1, + "minimum": 1 + }, + "description": "The page number to request. If not provided, the first page will be returned." + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer", + "default": 30, + "minimum": 1 + }, + "description": "The number of items to return per page. If not provided, the default value will be used." } ], "responses": { "200": { - "description": "Return a list of all virtual machine groups for an organization", + "description": "Returns a list of all tags for an organization", "content": { "application/json": { "schema": { "properties": { - "virtual_machine_groups": { + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "tags": { "type": "array", "items": { - "$ref": "#/components/schemas/VirtualMachineGroup" + "$ref": "#/components/schemas/GetOrganizationTags200ResponseTags" }, - "description": "The virtual machine groups for the provided organization" + "description": "The details for the tags on the organization" } }, "required": [ - "virtual_machine_groups" + "pagination", + "tags" ] } } @@ -13055,7 +12404,7 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" }, "404": { "$ref": "#/components/responses/OrganizationNotFoundResponse" @@ -13069,21 +12418,21 @@ } }, "post": { - "operationId": "post:organization_virtual_machine_groups", - "summary": "Create a virtual machine group", - "description": "Create a new virtual machine group with the provided details\n## Scopes\n- `virtual_machine_groups`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "post:organization_tags", + "summary": "Create a tag", + "description": "Creates a new tag with the provided properties\n## Scopes\n- `tags`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Virtual machine groups" + "Tags" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/virtual_machine_groups" + "api.katapult.io/core/v1/tags" ] }, { "Authenticator": [ - "virtual_machine_groups" + "tags" ] } ], @@ -13096,7 +12445,7 @@ "$ref": "#/components/schemas/OrganizationLookup" }, "properties": { - "$ref": "#/components/schemas/VirtualMachineGroupArguments" + "$ref": "#/components/schemas/TagArguments" } }, "required": [ @@ -13109,22 +12458,22 @@ }, "responses": { "200": { - "description": "Create a new virtual machine group with the provided details", + "description": "Creates a new tag with the provided properties", "content": { "application/json": { "schema": { "properties": { - "virtual_machine_group": { - "description": "The new virtual machine group details", + "tag": { + "description": "The newly created tag", "allOf": [ { - "$ref": "#/components/schemas/VirtualMachineGroup" + "$ref": "#/components/schemas/Tag" } ] } }, "required": [ - "virtual_machine_group" + "tag" ] } } @@ -13151,56 +12500,56 @@ } } }, - "/virtual_machine_groups/virtual_machine_group": { + "/tags/tag": { "get": { - "operationId": "get:virtual_machine_group", - "summary": "Get virtual machine group", - "description": "Return detailed information about a virtual machine group\n## Scopes\n- `virtual_machine_groups`\n- `virtual_machine_groups:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:tag", + "summary": "Get tag", + "description": "Returns details about a specific tag\n## Scopes\n- `tags`\n- `tags:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Virtual machine groups" + "Tags" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/virtual_machine_groups", - "api.katapult.io/core/v1/virtual_machine_groups:read" + "api.katapult.io/core/v1/tags", + "api.katapult.io/core/v1/tags:read" ] }, { "Authenticator": [ - "virtual_machine_groups", - "virtual_machine_groups:read" + "tags", + "tags:read" ] } ], "parameters": [ { "in": "query", - "name": "virtual_machine_group[id]", + "name": "tag[id]", "schema": { "type": "string" }, - "description": "The virtual machine group to retrieve. \n\n All 'virtual_machine_group[]' params are mutually exclusive, only one can be provided." + "description": "The tag to load the details for." } ], "responses": { "200": { - "description": "Return detailed information about a virtual machine group", + "description": "Returns details about a specific tag", "content": { "application/json": { "schema": { "properties": { - "virtual_machine_group": { - "description": "The virtual machine group details", + "tag": { + "description": "The details for the requested tag", "allOf": [ { - "$ref": "#/components/schemas/VirtualMachineGroup" + "$ref": "#/components/schemas/Tag" } ] } }, "required": [ - "virtual_machine_group" + "tag" ] } } @@ -13210,10 +12559,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/VirtualMachineGroupNotFoundResponse" + "$ref": "#/components/responses/TagNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -13224,21 +12573,21 @@ } }, "patch": { - "operationId": "patch:virtual_machine_group", - "summary": "Update a virtual machine group", - "description": "Update a virtual machine group with the provided details\n## Scopes\n- `virtual_machine_groups`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "patch:tag", + "summary": "Update a tag", + "description": "Updates a tag with the provided properties\n## Scopes\n- `tags`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Virtual machine groups" + "Tags" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/virtual_machine_groups" + "api.katapult.io/core/v1/tags" ] }, { "Authenticator": [ - "virtual_machine_groups" + "tags" ] } ], @@ -13247,15 +12596,15 @@ "application/json": { "schema": { "properties": { - "virtual_machine_group": { - "$ref": "#/components/schemas/VirtualMachineGroupLookup" + "tag": { + "$ref": "#/components/schemas/TagLookup" }, "properties": { - "$ref": "#/components/schemas/VirtualMachineGroupArguments" + "$ref": "#/components/schemas/TagArguments" } }, "required": [ - "virtual_machine_group", + "tag", "properties" ] } @@ -13264,22 +12613,22 @@ }, "responses": { "200": { - "description": "Update a virtual machine group with the provided details", + "description": "Updates a tag with the provided properties", "content": { "application/json": { "schema": { "properties": { - "virtual_machine_group": { - "description": "The updated virtual machine group details", + "tag": { + "description": "The newly updated tag", "allOf": [ { - "$ref": "#/components/schemas/VirtualMachineGroup" + "$ref": "#/components/schemas/Tag" } ] } }, "required": [ - "virtual_machine_group" + "tag" ] } } @@ -13292,7 +12641,7 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/VirtualMachineGroupNotFoundResponse" + "$ref": "#/components/responses/TagNotFoundResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -13306,21 +12655,21 @@ } }, "delete": { - "operationId": "delete:virtual_machine_group", - "summary": "Delete a virtual machine group", - "description": "\n## Scopes\n- `virtual_machine_groups`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "delete:tag", + "summary": "Delete a tag", + "description": "Deletes a tag\n## Scopes\n- `tags`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Virtual machine groups" + "Tags" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/virtual_machine_groups" + "api.katapult.io/core/v1/tags" ] }, { "Authenticator": [ - "virtual_machine_groups" + "tags" ] } ], @@ -13329,12 +12678,12 @@ "application/json": { "schema": { "properties": { - "virtual_machine_group": { - "$ref": "#/components/schemas/VirtualMachineGroupLookup" + "tag": { + "$ref": "#/components/schemas/TagLookup" } }, "required": [ - "virtual_machine_group" + "tag" ] } } @@ -13342,22 +12691,22 @@ }, "responses": { "200": { - "description": "", + "description": "Deletes a tag", "content": { "application/json": { "schema": { "properties": { - "virtual_machine_group": { - "description": "The details for the deleted virtual machine group", + "tag": { + "description": "The newly deleted tag", "allOf": [ { - "$ref": "#/components/schemas/VirtualMachineGroup" + "$ref": "#/components/schemas/Tag" } ] } }, "required": [ - "virtual_machine_group" + "tag" ] } } @@ -13370,10 +12719,7 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/VirtualMachineGroupNotFoundResponse" - }, - "409": { - "$ref": "#/components/responses/DeletionRestrictedResponse" + "$ref": "#/components/responses/TagNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -13384,87 +12730,51 @@ } } }, - "/virtual_machines/virtual_machine/network_interfaces": { + "/tasks/task": { "get": { - "operationId": "get:virtual_machine_network_interfaces", - "summary": "List virtual machine network interfaces", - "description": "Returns a list of virtual machine network interfaces\n## Scopes\n- `virtual_machines`\n- `virtual_machines:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:task", + "summary": "Get Task", + "description": "Returns details about a specific task\n## Scopes\n- `tasks`\n- `tasks:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Virtual machine network interfaces" + "Tasks" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/virtual_machines", - "api.katapult.io/core/v1/virtual_machines:read" + "api.katapult.io/core/v1/tasks", + "api.katapult.io/core/v1/tasks:read" ] }, { "Authenticator": [ - "virtual_machines", - "virtual_machines:read" + "tasks", + "tasks:read" ] } ], "parameters": [ { "in": "query", - "name": "virtual_machine[id]", - "schema": { - "type": "string" - }, - "description": "The virtual machine to show network interfaces for. \n\n All 'virtual_machine[]' params are mutually exclusive, only one can be provided." - }, - { - "in": "query", - "name": "virtual_machine[fqdn]", + "name": "task[id]", "schema": { "type": "string" }, - "description": "The virtual machine to show network interfaces for. \n\n All 'virtual_machine[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer", - "default": 1, - "minimum": 1 - }, - "description": "The page number to request. If not provided, the first page will be returned." - }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer", - "default": 30, - "minimum": 1 - }, - "description": "The number of items to return per page. If not provided, the default value will be used." + "description": "" } ], "responses": { "200": { - "description": "Returns a list of virtual machine network interfaces", + "description": "Returns details about a specific task", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "virtual_machine_network_interfaces": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaces" - }, - "description": "The network interfaces for this virtual machine" + "task": { + "$ref": "#/components/schemas/Task" } }, "required": [ - "pagination", - "virtual_machine_network_interfaces" + "task" ] } } @@ -13477,10 +12787,7 @@ "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/VirtualMachineNotFoundResponse" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "$ref": "#/components/responses/TaskNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -13491,80 +12798,85 @@ } } }, - "/virtual_machines/virtual_machine/networks/network/interface": { + "/organizations/organization/trash_objects": { "get": { - "operationId": "get:virtual_machine_network_interface", - "summary": "Get virtual machine network interface by network", - "description": "Return information about a virtual machine network interface for a specific network\n## Scopes\n- `virtual_machines`\n- `virtual_machines:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:organization_trash_objects", + "summary": "List trash objects", + "description": "Provides a full list of all trash objects for a specific organization\n## Scopes\n- `trash_objects:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Virtual machine network interfaces" + "Trash objects" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/virtual_machines", - "api.katapult.io/core/v1/virtual_machines:read" + "api.katapult.io/core/v1/trash_objects:read" ] }, { "Authenticator": [ - "virtual_machines", - "virtual_machines:read" + "trash_objects:read" ] } ], "parameters": [ { "in": "query", - "name": "virtual_machine[id]", + "name": "organization[id]", "schema": { "type": "string" }, - "description": "The virtual machine to find the network interface for. \n\n All 'virtual_machine[]' params are mutually exclusive, only one can be provided." + "description": "The organization to find all trash objects for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." }, { "in": "query", - "name": "virtual_machine[fqdn]", + "name": "organization[sub_domain]", "schema": { "type": "string" }, - "description": "The virtual machine to find the network interface for. \n\n All 'virtual_machine[]' params are mutually exclusive, only one can be provided." + "description": "The organization to find all trash objects for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." }, { + "name": "page", "in": "query", - "name": "network[id]", "schema": { - "type": "string" + "type": "integer", + "default": 1, + "minimum": 1 }, - "description": "The network to find the network interface for. \n\n All 'network[]' params are mutually exclusive, only one can be provided." + "description": "The page number to request. If not provided, the first page will be returned." }, { + "name": "per_page", "in": "query", - "name": "network[permalink]", "schema": { - "type": "string" + "type": "integer", + "default": 30, + "minimum": 1 }, - "description": "The network to find the network interface for. \n\n All 'network[]' params are mutually exclusive, only one can be provided." + "description": "The number of items to return per page. If not provided, the default value will be used." } ], "responses": { "200": { - "description": "Return information about a virtual machine network interface for a specific network", + "description": "Provides a full list of all trash objects for a specific organization", "content": { "application/json": { "schema": { "properties": { - "virtual_machine_network_interface": { - "description": "The network interface details", - "allOf": [ - { - "$ref": "#/components/schemas/GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterface" - } - ] + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "trash_objects": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TrashObject" + }, + "description": "The trash objects that belong to this organization" } }, "required": [ - "virtual_machine_network_interface" + "pagination", + "trash_objects" ] } } @@ -13574,13 +12886,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" }, "404": { - "$ref": "#/components/responses/InterfaceNotFoundNetworkNotFoundVirtualMachineNotFound404Res" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -13591,56 +12900,55 @@ } } }, - "/virtual_machine_network_interfaces/virtual_machine_network_interface": { - "get": { - "operationId": "get:v_m_n_i__v_m_n_i", - "summary": "Get virtual machine network interface", - "description": "Return information about a given virtual machine network interface\n## Scopes\n- `virtual_machines`\n- `virtual_machines:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "/organizations/organization/trash_objects/purge_all": { + "post": { + "operationId": "post:organization_trash_objects_purge_all", + "summary": "Purge all trash objects", + "description": "Purge all trash objects for an organization\n## Scopes\n- `trash_objects:purge`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Virtual machine network interfaces" + "Trash objects" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/virtual_machines", - "api.katapult.io/core/v1/virtual_machines:read" + "api.katapult.io/core/v1/trash_objects:purge" ] }, { "Authenticator": [ - "virtual_machines", - "virtual_machines:read" + "trash_objects:purge" ] } ], - "parameters": [ - { - "in": "query", - "name": "virtual_machine_network_interface[id]", - "schema": { - "type": "string" - }, - "description": "The network interface to show the information for. \n\n All 'virtual_machine_network_interface[]' params are mutually exclusive, only one can be provided." + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "organization": { + "$ref": "#/components/schemas/OrganizationLookup" + } + }, + "required": [ + "organization" + ] + } + } } - ], + }, "responses": { "200": { - "description": "Return information about a given virtual machine network interface", + "description": "Purge all trash objects for an organization", "content": { "application/json": { "schema": { "properties": { - "virtual_machine_network_interface": { - "description": "The network interface details", - "allOf": [ - { - "$ref": "#/components/schemas/GetVMNIVMNI200ResponseVirtualMachineNetworkInterface" - } - ] + "task": { + "$ref": "#/components/schemas/Task" } }, "required": [ - "virtual_machine_network_interface" + "task" ] } } @@ -13650,10 +12958,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/VirtualMachineNetworkInterfaceNotFoundResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/TaskQueueingErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -13664,66 +12975,64 @@ } } }, - "/virtual_machine_network_interfaces/virtual_machine_network_interface/available_ips/address_version": { + "/trash_objects/trash_object": { "get": { - "operationId": "get:virtual_machine_network_interface_available_ips_address_version", - "summary": "Get addresses available for network interface", - "description": "Returns a list of IP addresses that can be allocated to a specific network interface\n## Scopes\n- `ip_addresses`\n- `ip_addresses:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:trash_object", + "summary": "Get trash object", + "description": "Provides information on a specific trash object\n## Scopes\n- `trash_objects:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Virtual machine network interfaces" + "Trash objects" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/ip_addresses", - "api.katapult.io/core/v1/ip_addresses:read" + "api.katapult.io/core/v1/trash_objects:read" ] }, { "Authenticator": [ - "ip_addresses", - "ip_addresses:read" + "trash_objects:read" ] } ], "parameters": [ { "in": "query", - "name": "virtual_machine_network_interface[id]", + "name": "trash_object[id]", "schema": { "type": "string" }, - "description": "The network interface to get IP addresses for. \n\n All 'virtual_machine_network_interface[]' params are mutually exclusive, only one can be provided." + "description": "The trash object to find. \n\n All 'trash_object[]' params are mutually exclusive, only one can be provided." }, { - "name": "address_version", "in": "query", + "name": "trash_object[object_id]", "schema": { - "$ref": "#/components/schemas/IPAddressVersionEnum" + "type": "string" }, - "description": "The IP address version to return results for", - "required": true + "description": "The trash object to find. \n\n All 'trash_object[]' params are mutually exclusive, only one can be provided." } ], "responses": { "200": { - "description": "Returns a list of IP addresses that can be allocated to a specific network interface", + "description": "Provides information on a specific trash object", "content": { "application/json": { "schema": { "properties": { - "ip_addresses": { - "type": "array", - "items": { - "$ref": "#/components/schemas/IPAddress" - }, - "description": "The IP addresses available for this network interface" - } - }, - "required": [ - "ip_addresses" - ] - } + "trash_object": { + "description": "The requested trash object", + "allOf": [ + { + "$ref": "#/components/schemas/TrashObject" + } + ] + } + }, + "required": [ + "trash_object" + ] + } } } }, @@ -13734,7 +13043,7 @@ "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/VirtualMachineNetworkInterfaceNotFoundResponse" + "$ref": "#/components/responses/TrashObjectNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -13743,25 +13052,23 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/virtual_machine_network_interfaces/virtual_machine_network_interface/allocate_ip": { - "post": { - "operationId": "post:virtual_machine_network_interface_allocate_ip", - "summary": "Allocate an IP address", - "description": "Allocate a specific IP address to a given network interface\n## Scopes\n- `ip_addresses`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + }, + "delete": { + "operationId": "delete:trash_object", + "summary": "Purge a trash object", + "description": "Purge a specific trash object\n## Scopes\n- `trash_objects:purge`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Virtual machine network interfaces" + "Trash objects" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/ip_addresses" + "api.katapult.io/core/v1/trash_objects:purge" ] }, { "Authenticator": [ - "ip_addresses" + "trash_objects:purge" ] } ], @@ -13770,16 +13077,12 @@ "application/json": { "schema": { "properties": { - "virtual_machine_network_interface": { - "$ref": "#/components/schemas/VirtualMachineNetworkInterfaceLookup" - }, - "ip_address": { - "$ref": "#/components/schemas/IPAddressLookup" + "trash_object": { + "$ref": "#/components/schemas/TrashObjectLookup" } }, "required": [ - "virtual_machine_network_interface", - "ip_address" + "trash_object" ] } } @@ -13787,22 +13090,17 @@ }, "responses": { "200": { - "description": "Allocate a specific IP address to a given network interface", + "description": "Purge a specific trash object", "content": { "application/json": { "schema": { "properties": { - "virtual_machine_network_interface": { - "description": "The network interface details", - "allOf": [ - { - "$ref": "#/components/schemas/PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterface" - } - ] + "task": { + "$ref": "#/components/schemas/Task" } }, "required": [ - "virtual_machine_network_interface" + "task" ] } } @@ -13812,13 +13110,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/IPAddressNotFoundVirtualMachineNetworkInterfaceNotFound404Res" + "$ref": "#/components/responses/TrashObjectNotFoundResponse" }, - "422": { - "$ref": "#/components/responses/IPAlreadyAllocatedInvalidIP422Res" + "406": { + "$ref": "#/components/responses/TaskQueueingErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -13829,23 +13127,23 @@ } } }, - "/virtual_machine_network_interfaces/virtual_machine_network_interface/allocate_new_ip": { + "/trash_objects/trash_object/restore": { "post": { - "operationId": "post:virtual_machine_network_interface_allocate_new_ip", - "summary": "Allocate a new IP address", - "description": "Add a new IP address to this organization and allocate it to a virtual machine network interface\n## Scopes\n- `ip_addresses`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "post:trash_object_restore", + "summary": "Restore a trash object", + "description": "Restore a trashed object to its original location\n## Scopes\n- `trash_objects:restore`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Virtual machine network interfaces" + "Trash objects" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/ip_addresses" + "api.katapult.io/core/v1/trash_objects:restore" ] }, { "Authenticator": [ - "ip_addresses" + "trash_objects:restore" ] } ], @@ -13854,16 +13152,12 @@ "application/json": { "schema": { "properties": { - "virtual_machine_network_interface": { - "$ref": "#/components/schemas/VirtualMachineNetworkInterfaceLookup" - }, - "address_version": { - "$ref": "#/components/schemas/IPAddressVersionEnum" + "trash_object": { + "$ref": "#/components/schemas/TrashObjectLookup" } }, "required": [ - "virtual_machine_network_interface", - "address_version" + "trash_object" ] } } @@ -13871,22 +13165,22 @@ }, "responses": { "200": { - "description": "Add a new IP address to this organization and allocate it to a virtual machine network interface", + "description": "Restore a trashed object to its original location", "content": { "application/json": { "schema": { "properties": { - "ip_address": { - "description": "The newly allocated IP address", + "trash_object": { + "description": "The requested trash object", "allOf": [ { - "$ref": "#/components/schemas/IPAddress" + "$ref": "#/components/schemas/TrashObject" } ] } }, "required": [ - "ip_address" + "trash_object" ] } } @@ -13899,95 +13193,119 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/VirtualMachineNetworkInterfaceNotFoundResponse" + "$ref": "#/components/responses/TrashObjectNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, "503": { - "$ref": "#/components/responses/NoAvailableAddresses503Res" + "$ref": "#/components/responses/APIAuthenticator503Response" } } } }, - "/virtual_machine_network_interfaces/virtual_machine_network_interface/update_speed_profile": { - "patch": { - "operationId": "patch:virtual_machine_network_interface_update_speed_profile", - "summary": "Update the network speed profile for a virtual machine network interface", - "description": "\n## Scopes\n- `virtual_machines`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "/users/current": { + "get": { + "operationId": "get:users_current", + "summary": "Get current user details", + "description": "This endpoint returns details for the currently authenticated user. If the API token used to\nauthenticate to the API is not associated with a user, this method will return an error.\n", "tags": [ - "Virtual machine network interfaces" + "Users" ], - "security": [ - { - "OAuth2": [ - "api.katapult.io/core/v1/virtual_machines" - ] + "parameters": [ + + ], + "responses": { + "200": { + "description": "This endpoint returns details for the currently authenticated user. If the API token used to\nauthenticate to the API is not associated with a user, this method will return an error.\n", + "content": { + "application/json": { + "schema": { + "properties": { + "user": { + "$ref": "#/components/schemas/User" + }, + "organizations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetUsersCurrent200ResponseOrganizations" + } + }, + "api_token_id": { + "type": "string", + "nullable": true + } + }, + "required": [ + "user", + "organizations", + "api_token_id" + ] + } + } + } }, - { - "Authenticator": [ - "virtual_machines" - ] + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/APIAuthenticator403Response" + }, + "404": { + "$ref": "#/components/responses/NoUserAssociatedWithIdentityResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" } + } + } + }, + "/invalidate_linked_web_session": { + "post": { + "operationId": "post:invalidate_linked_web_session", + "summary": "Invalidate linked web session", + "description": "This endpoint allows you to invalidate the web session which is associated with your authenticated\nidentity. This will only work for API identities (most likely API tokens) that were generated using the first-party application\nlogin flow.\n", + "tags": [ + "Users" ], "requestBody": { "content": { "application/json": { "schema": { "properties": { - "virtual_machine_network_interface": { - "$ref": "#/components/schemas/VirtualMachineNetworkInterfaceLookup" - }, - "speed_profile": { - "$ref": "#/components/schemas/NetworkSpeedProfileLookup" - } - }, - "required": [ - "virtual_machine_network_interface", - "speed_profile" - ] + + } } } } }, "responses": { "200": { - "description": "", + "description": "This endpoint allows you to invalidate the web session which is associated with your authenticated\nidentity. This will only work for API identities (most likely API tokens) that were generated using the first-party application\nlogin flow.\n", "content": { "application/json": { "schema": { "properties": { - "task": { - "description": "The task responsible for updating the virtual machine network interface speed profile", - "allOf": [ - { - "$ref": "#/components/schemas/Task" - } - ] + "status": { + "type": "boolean" } }, "required": [ - "task" + "status" ] } } } }, "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" + "$ref": "#/components/responses/IdentityNotLinkedToWebSession400Res" }, "403": { "$ref": "#/components/responses/APIAuthenticator403Response" }, - "404": { - "$ref": "#/components/responses/NetworkSpeedProfileNotFoundVirtualMachineNetworkInterfaceNotFound404Res" - }, - "406": { - "$ref": "#/components/responses/TaskQueueingErrorResponse" - }, - "422": { - "$ref": "#/components/responses/SpeedProfileAlreadyAssignedResponse" - }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, @@ -13997,23 +13315,25 @@ } } }, - "/virtual_machine_packages": { + "/organizations/organization/virtual_networks": { "get": { - "operationId": "get:virtual_machine_packages", - "summary": "List virtual machine packages", - "description": "Returns a list of virtual machine packages\n## Scopes\n- `virtual_machine_packages:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:organization_virtual_networks", + "summary": "List virtual networks", + "description": "Return a list of all virtual networks for an organization\n## Scopes\n- `virtual_networks`\n- `virtual_networks:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Virtual machine packages" + "Virtual Networks" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/virtual_machine_packages:read" + "api.katapult.io/core/v1/virtual_networks", + "api.katapult.io/core/v1/virtual_networks:read" ] }, { "Authenticator": [ - "virtual_machine_packages:read" + "virtual_networks", + "virtual_networks:read" ] } ], @@ -14024,7 +13344,7 @@ "schema": { "type": "string" }, - "description": "Provide an organization to only show packages available to the given organization (otherwise only public packages will be displayed). \n\n All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "The organization for which to return virtual networks. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." }, { "in": "query", @@ -14032,7 +13352,7 @@ "schema": { "type": "string" }, - "description": "Provide an organization to only show packages available to the given organization (otherwise only public packages will be displayed). \n\n All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "The organization for which to return virtual networks. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." }, { "name": "page", @@ -14057,7 +13377,7 @@ ], "responses": { "200": { - "description": "Returns a list of virtual machine packages", + "description": "Return a list of all virtual networks for an organization", "content": { "application/json": { "schema": { @@ -14065,16 +13385,17 @@ "pagination": { "$ref": "#/components/schemas/PaginationObject" }, - "virtual_machine_packages": { + "virtual_networks": { "type": "array", "items": { - "$ref": "#/components/schemas/VirtualMachinePackage" - } + "$ref": "#/components/schemas/VirtualNetwork" + }, + "description": "The virtual networks for the provided organization" } }, "required": [ "pagination", - "virtual_machine_packages" + "virtual_networks" ] } } @@ -14084,7 +13405,7 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" }, "404": { "$ref": "#/components/responses/OrganizationNotFoundResponse" @@ -14096,59 +13417,68 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/virtual_machine_packages/virtual_machine_package": { - "get": { - "operationId": "get:virtual_machine_package", - "summary": "Get virtual machine package", - "description": "Return information about a given virtual machine package\n## Scopes\n- `virtual_machine_packages:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + }, + "post": { + "operationId": "post:organization_virtual_networks", + "summary": "Create a virtual network", + "description": "Create a new virtual network with the provided details\n## Scopes\n- `virtual_networks`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Virtual machine packages" + "Virtual Networks" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/virtual_machine_packages:read" + "api.katapult.io/core/v1/virtual_networks" ] }, { "Authenticator": [ - "virtual_machine_packages:read" + "virtual_networks" ] } ], - "parameters": [ - { - "in": "query", - "name": "virtual_machine_package[id]", - "schema": { - "type": "string" - }, - "description": "All 'virtual_machine_package[]' params are mutually exclusive, only one can be provided." - }, - { - "in": "query", - "name": "virtual_machine_package[permalink]", - "schema": { - "type": "string" - }, - "description": "All 'virtual_machine_package[]' params are mutually exclusive, only one can be provided." + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "organization": { + "$ref": "#/components/schemas/OrganizationLookup" + }, + "data_center": { + "$ref": "#/components/schemas/DataCenterLookup" + }, + "properties": { + "$ref": "#/components/schemas/VirtualNetworkArguments" + } + }, + "required": [ + "organization", + "data_center", + "properties" + ] + } + } } - ], + }, "responses": { "200": { - "description": "Return information about a given virtual machine package", + "description": "Create a new virtual network with the provided details", "content": { "application/json": { "schema": { "properties": { - "virtual_machine_package": { - "$ref": "#/components/schemas/VirtualMachinePackage" + "virtual_network": { + "description": "The new virtual network details", + "allOf": [ + { + "$ref": "#/components/schemas/VirtualNetwork" + } + ] } }, "required": [ - "virtual_machine_package" + "virtual_network" ] } } @@ -14158,10 +13488,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/VirtualMachinePackageNotFoundResponse" + "$ref": "#/components/responses/DataCenterNotFoundOrganizationNotFound404Res" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -14172,108 +13505,56 @@ } } }, - "/organizations/organization/virtual_machines": { + "/virtual_networks/virtual_network": { "get": { - "operationId": "get:organization_virtual_machines", - "summary": "List virtual machines", - "description": "Returns a list of all virtual machines for a given organization\n## Scopes\n- `virtual_machines`\n- `virtual_machines:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "operationId": "get:virtual_network", + "summary": "Get virtual network", + "description": "Return detailed information about a virtual network\n## Scopes\n- `virtual_networks`\n- `virtual_networks:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Virtual machines" + "Virtual Networks" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/virtual_machines", - "api.katapult.io/core/v1/virtual_machines:read" + "api.katapult.io/core/v1/virtual_networks", + "api.katapult.io/core/v1/virtual_networks:read" ] }, { "Authenticator": [ - "virtual_machines", - "virtual_machines:read" + "virtual_networks", + "virtual_networks:read" ] } ], "parameters": [ { "in": "query", - "name": "organization[id]", - "schema": { - "type": "string" - }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "in": "query", - "name": "organization[sub_domain]", + "name": "virtual_network[id]", "schema": { "type": "string" }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "in": "query", - "name": "annotations[][key]", - "schema": { - "type": "array", - "items": { - "type": "string" - } - }, - "description": "An array of annotations to filter by. \n\n All 'annotations[]' params are mutually exclusive, only one can be provided. \n\n All `annotations[]` params should have the same amount of elements." - }, - { - "in": "query", - "name": "annotations[][value]", - "schema": { - "type": "array", - "items": { - "type": "string" - } - }, - "description": "An array of annotations to filter by. \n\n All 'annotations[]' params are mutually exclusive, only one can be provided. \n\n All `annotations[]` params should have the same amount of elements." - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer", - "default": 1, - "minimum": 1 - }, - "description": "The page number to request. If not provided, the first page will be returned." - }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer", - "default": 30, - "minimum": 1 - }, - "description": "The number of items to return per page. If not provided, the default value will be used." + "description": "The virtual network to retrieve." } ], "responses": { "200": { - "description": "Returns a list of all virtual machines for a given organization", + "description": "Return detailed information about a virtual network", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "virtual_machines": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetOrganizationVirtualMachines200ResponseVirtualMachines" - } + "virtual_network": { + "description": "The virtual network details", + "allOf": [ + { + "$ref": "#/components/schemas/VirtualNetwork" + } + ] } }, "required": [ - "pagination", - "virtual_machines" + "virtual_network" ] } } @@ -14283,10 +13564,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/VirtualNetworkNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -14295,68 +13576,64 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/virtual_machines/virtual_machine": { - "get": { - "operationId": "get:virtual_machine", - "summary": "Get virtual machine", - "description": "Return information about a virtual machine\n## Scopes\n- `virtual_machines`\n- `virtual_machines:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + }, + "patch": { + "operationId": "patch:virtual_network", + "summary": "Update a virtual network", + "description": "Update a virtual network with the provided details\n## Scopes\n- `virtual_networks`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Virtual machines" + "Virtual Networks" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/virtual_machines", - "api.katapult.io/core/v1/virtual_machines:read" + "api.katapult.io/core/v1/virtual_networks" ] }, { "Authenticator": [ - "virtual_machines", - "virtual_machines:read" + "virtual_networks" ] } ], - "parameters": [ - { - "in": "query", - "name": "virtual_machine[id]", - "schema": { - "type": "string" - }, - "description": "All 'virtual_machine[]' params are mutually exclusive, only one can be provided." - }, - { - "in": "query", - "name": "virtual_machine[fqdn]", - "schema": { - "type": "string" - }, - "description": "All 'virtual_machine[]' params are mutually exclusive, only one can be provided." + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_network": { + "$ref": "#/components/schemas/VirtualNetworkLookup" + }, + "properties": { + "$ref": "#/components/schemas/VirtualNetworkArguments" + } + }, + "required": [ + "virtual_network", + "properties" + ] + } + } } - ], + }, "responses": { "200": { - "description": "Return information about a virtual machine", + "description": "Update a virtual network with the provided details", "content": { "application/json": { "schema": { "properties": { - "virtual_machine": { - "$ref": "#/components/schemas/GetVirtualMachine200ResponseVirtualMachine" - }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } + "virtual_network": { + "description": "The updated virtual network details", + "allOf": [ + { + "$ref": "#/components/schemas/VirtualNetwork" + } + ] } }, "required": [ - "virtual_machine", - "annotations" + "virtual_network" ] } } @@ -14366,13 +13643,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/VirtualMachineNotFoundResponse" + "$ref": "#/components/responses/VirtualNetworkNotFoundResponse" }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -14382,22 +13659,22 @@ } } }, - "patch": { - "operationId": "patch:virtual_machine", - "summary": "Update a Virtual Machine", - "description": "Update the properties of a virtual machine\n## Scopes\n- `virtual_machines`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "delete": { + "operationId": "delete:virtual_network", + "summary": "Delete a virtual network", + "description": "\n## Scopes\n- `virtual_networks`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Virtual machines" + "Virtual Networks" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/virtual_machines" + "api.katapult.io/core/v1/virtual_networks" ] }, { "Authenticator": [ - "virtual_machines" + "virtual_networks" ] } ], @@ -14406,22 +13683,12 @@ "application/json": { "schema": { "properties": { - "virtual_machine": { - "$ref": "#/components/schemas/VirtualMachineLookup" - }, - "properties": { - "$ref": "#/components/schemas/VirtualMachineArguments" - }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } + "virtual_network": { + "$ref": "#/components/schemas/VirtualNetworkLookup" } }, "required": [ - "virtual_machine", - "properties" + "virtual_network" ] } } @@ -14429,29 +13696,22 @@ }, "responses": { "200": { - "description": "Update the properties of a virtual machine", + "description": "", "content": { "application/json": { "schema": { "properties": { - "virtual_machine": { - "description": "The newly updated virtual machine", + "virtual_network": { + "description": "The details for the deleted virtual network", "allOf": [ { - "$ref": "#/components/schemas/PatchVirtualMachine200ResponseVirtualMachine" + "$ref": "#/components/schemas/VirtualNetwork" } ] - }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } } }, "required": [ - "virtual_machine", - "annotations" + "virtual_network" ] } } @@ -14461,13 +13721,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/VirtualMachineNotFoundResponse" + "$ref": "#/components/responses/VirtualNetworkNotFoundResponse" }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "409": { + "$ref": "#/components/responses/DeletionRestrictedResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -14476,56 +13736,65 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, - "delete": { - "operationId": "delete:virtual_machine", - "summary": "Delete virtual machine", - "description": "Moves an existing virtual machine to the trash\n## Scopes\n- `virtual_machines`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + } + }, + "/organizations/organization/virtual_machine_groups": { + "get": { + "operationId": "get:organization_virtual_machine_groups", + "summary": "List virtual machine groups", + "description": "Return a list of all virtual machine groups for an organization\n## Scopes\n- `virtual_machine_groups`\n- `virtual_machine_groups:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Virtual machines" + "Virtual machine groups" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/virtual_machines" + "api.katapult.io/core/v1/virtual_machine_groups", + "api.katapult.io/core/v1/virtual_machine_groups:read" ] }, { "Authenticator": [ - "virtual_machines" + "virtual_machine_groups", + "virtual_machine_groups:read" ] } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "virtual_machine": { - "$ref": "#/components/schemas/VirtualMachineLookup" - } - } - } - } + "parameters": [ + { + "in": "query", + "name": "organization[id]", + "schema": { + "type": "string" + }, + "description": "The organization to return groups for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." + }, + { + "in": "query", + "name": "organization[sub_domain]", + "schema": { + "type": "string" + }, + "description": "The organization to return groups for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." } - }, + ], "responses": { "200": { - "description": "Moves an existing virtual machine to the trash", + "description": "Return a list of all virtual machine groups for an organization", "content": { "application/json": { "schema": { "properties": { - "trash_object": { - "$ref": "#/components/schemas/TrashObject" - }, - "virtual_machine": { - "$ref": "#/components/schemas/DeleteVirtualMachine200ResponseVirtualMachine" + "virtual_machine_groups": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VirtualMachineGroup" + }, + "description": "The virtual machine groups for the provided organization" } }, "required": [ - "trash_object", - "virtual_machine" + "virtual_machine_groups" ] } } @@ -14535,13 +13804,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/VirtualMachineNotFoundResponse" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -14550,25 +13816,23 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/virtual_machines/virtual_machine/package": { - "put": { - "operationId": "put:virtual_machine_package", - "summary": "Change package", - "description": "Change a package for a virtual machine\n## Scopes\n- `virtual_machines`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + }, + "post": { + "operationId": "post:organization_virtual_machine_groups", + "summary": "Create a virtual machine group", + "description": "Create a new virtual machine group with the provided details\n## Scopes\n- `virtual_machine_groups`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Virtual machines" + "Virtual machine groups" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/virtual_machines" + "api.katapult.io/core/v1/virtual_machine_groups" ] }, { "Authenticator": [ - "virtual_machines" + "virtual_machine_groups" ] } ], @@ -14577,16 +13841,16 @@ "application/json": { "schema": { "properties": { - "virtual_machine": { - "$ref": "#/components/schemas/VirtualMachineLookup" + "organization": { + "$ref": "#/components/schemas/OrganizationLookup" }, - "virtual_machine_package": { - "$ref": "#/components/schemas/VirtualMachinePackageLookup" + "properties": { + "$ref": "#/components/schemas/VirtualMachineGroupArguments" } }, "required": [ - "virtual_machine", - "virtual_machine_package" + "organization", + "properties" ] } } @@ -14594,17 +13858,22 @@ }, "responses": { "200": { - "description": "Change a package for a virtual machine", + "description": "Create a new virtual machine group with the provided details", "content": { "application/json": { "schema": { "properties": { - "task": { - "$ref": "#/components/schemas/Task" + "virtual_machine_group": { + "description": "The new virtual machine group details", + "allOf": [ + { + "$ref": "#/components/schemas/VirtualMachineGroup" + } + ] } }, "required": [ - "task" + "virtual_machine_group" ] } } @@ -14614,13 +13883,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/VirtualMachineNotFoundVirtualMachinePackageNotFound404Res" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, - "406": { - "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -14631,59 +13900,56 @@ } } }, - "/virtual_machines/virtual_machine/flexible_resources": { - "put": { - "operationId": "put:virtual_machine_flexible_resources", - "summary": "Change flexible resources", - "description": "Change the flexible resources assigned to a virtual machine\n## Scopes\n- `virtual_machines`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "/virtual_machine_groups/virtual_machine_group": { + "get": { + "operationId": "get:virtual_machine_group", + "summary": "Get virtual machine group", + "description": "Return detailed information about a virtual machine group\n## Scopes\n- `virtual_machine_groups`\n- `virtual_machine_groups:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Virtual machines" + "Virtual machine groups" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/virtual_machines" + "api.katapult.io/core/v1/virtual_machine_groups", + "api.katapult.io/core/v1/virtual_machine_groups:read" ] }, { "Authenticator": [ - "virtual_machines" + "virtual_machine_groups", + "virtual_machine_groups:read" ] } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "virtual_machine": { - "$ref": "#/components/schemas/VirtualMachineLookup" - }, - "resources": { - "$ref": "#/components/schemas/VirtualMachineFlexibleResources" - } - }, - "required": [ - "virtual_machine", - "resources" - ] - } - } + "parameters": [ + { + "in": "query", + "name": "virtual_machine_group[id]", + "schema": { + "type": "string" + }, + "description": "The virtual machine group to retrieve." } - }, + ], "responses": { "200": { - "description": "Change the flexible resources assigned to a virtual machine", + "description": "Return detailed information about a virtual machine group", "content": { "application/json": { "schema": { "properties": { - "task": { - "$ref": "#/components/schemas/Task" + "virtual_machine_group": { + "description": "The virtual machine group details", + "allOf": [ + { + "$ref": "#/components/schemas/VirtualMachineGroup" + } + ] } }, "required": [ - "task" + "virtual_machine_group" ] } } @@ -14693,13 +13959,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/FlexibleResourcesUnavailableToOrganizationPermissionDenied403Res" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/VirtualMachineNotFoundResponse" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" + "$ref": "#/components/responses/VirtualMachineGroupNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -14708,25 +13971,23 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/virtual_machines/virtual_machine/allocate_ip": { - "post": { - "operationId": "post:virtual_machine_allocate_ip", - "summary": "Allocate an IP Address", - "description": "Allocate an IP address to a virtual machine, automatically determining the network interface\n## Scopes\n- `ip_addresses`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + }, + "patch": { + "operationId": "patch:virtual_machine_group", + "summary": "Update a virtual machine group", + "description": "Update a virtual machine group with the provided details\n## Scopes\n- `virtual_machine_groups`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Virtual machines" + "Virtual machine groups" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/ip_addresses" + "api.katapult.io/core/v1/virtual_machine_groups" ] }, { "Authenticator": [ - "ip_addresses" + "virtual_machine_groups" ] } ], @@ -14735,16 +13996,16 @@ "application/json": { "schema": { "properties": { - "virtual_machine": { - "$ref": "#/components/schemas/VirtualMachineLookup" - }, - "ip_address": { - "$ref": "#/components/schemas/IPAddressLookup" + "virtual_machine_group": { + "$ref": "#/components/schemas/VirtualMachineGroupLookup" + }, + "properties": { + "$ref": "#/components/schemas/VirtualMachineGroupArguments" } }, "required": [ - "virtual_machine", - "ip_address" + "virtual_machine_group", + "properties" ] } } @@ -14752,22 +14013,22 @@ }, "responses": { "200": { - "description": "Allocate an IP address to a virtual machine, automatically determining the network interface", + "description": "Update a virtual machine group with the provided details", "content": { "application/json": { "schema": { "properties": { - "ip_address": { - "description": "The newly allocated IP address", + "virtual_machine_group": { + "description": "The updated virtual machine group details", "allOf": [ { - "$ref": "#/components/schemas/IPAddress" + "$ref": "#/components/schemas/VirtualMachineGroup" } ] } }, "required": [ - "ip_address" + "virtual_machine_group" ] } } @@ -14777,16 +14038,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/IPAddressNotFoundVirtualMachineNotFound404Res" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "$ref": "#/components/responses/VirtualMachineGroupNotFoundResponse" }, "422": { - "$ref": "#/components/responses/IPAlreadyAllocatedNoInterfaceAvailable422Res" + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -14795,38 +14053,61 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/virtual_machine/authorized_keys": { - "get": { - "operationId": "get:virtual_machine_authorized_keys", - "summary": "Get authorized keys for a virtual machine", - "description": "Return the authorized keys for the virtual machine associated with the provided API token\n## Scopes\n- `virtual_machines:authorized_keys`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + }, + "delete": { + "operationId": "delete:virtual_machine_group", + "summary": "Delete a virtual machine group", + "description": "\n## Scopes\n- `virtual_machine_groups`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Virtual machines" + "Virtual machine groups" ], "security": [ { "OAuth2": [ - "api.katapult.io/core/v1/virtual_machines:authorized_keys" + "api.katapult.io/core/v1/virtual_machine_groups" ] }, { "Authenticator": [ - "virtual_machines:authorized_keys" + "virtual_machine_groups" ] } ], - "parameters": [ - - ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine_group": { + "$ref": "#/components/schemas/VirtualMachineGroupLookup" + } + }, + "required": [ + "virtual_machine_group" + ] + } + } + } + }, "responses": { "200": { - "description": "Return the authorized keys for the virtual machine associated with the provided API token", + "description": "", "content": { - "text/plain": { + "application/json": { "schema": { - "type": "string" + "properties": { + "virtual_machine_group": { + "description": "The details for the deleted virtual machine group", + "allOf": [ + { + "$ref": "#/components/schemas/VirtualMachineGroup" + } + ] + } + }, + "required": [ + "virtual_machine_group" + ] } } } @@ -14835,10 +14116,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/NoVirtualMachineForAPITokenResponse" + "$ref": "#/components/responses/VirtualMachineGroupNotFoundResponse" + }, + "409": { + "$ref": "#/components/responses/DeletionRestrictedResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -14849,34 +14133,87 @@ } } }, - "/zones": { + "/virtual_machines/virtual_machine/network_interfaces": { "get": { - "operationId": "get:zones", - "summary": "List zones", - "description": "Returns a list of all zones on the system for the current identity", + "operationId": "get:virtual_machine_network_interfaces", + "summary": "List virtual machine network interfaces", + "description": "Returns a list of virtual machine network interfaces\n## Scopes\n- `virtual_machines`\n- `virtual_machines:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Zones" + "Virtual machine network interfaces" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/virtual_machines", + "api.katapult.io/core/v1/virtual_machines:read" + ] + }, + { + "Authenticator": [ + "virtual_machines", + "virtual_machines:read" + ] + } ], "parameters": [ - + { + "in": "query", + "name": "virtual_machine[id]", + "schema": { + "type": "string" + }, + "description": "The virtual machine to show network interfaces for. \n\n All 'virtual_machine[]' params are mutually exclusive, only one can be provided." + }, + { + "in": "query", + "name": "virtual_machine[fqdn]", + "schema": { + "type": "string" + }, + "description": "The virtual machine to show network interfaces for. \n\n All 'virtual_machine[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "default": 1, + "minimum": 1 + }, + "description": "The page number to request. If not provided, the first page will be returned." + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer", + "default": 30, + "minimum": 1 + }, + "description": "The number of items to return per page. If not provided, the default value will be used." + } ], "responses": { "200": { - "description": "Returns a list of all zones on the system for the current identity", + "description": "Returns a list of virtual machine network interfaces", "content": { "application/json": { "schema": { "properties": { - "zones": { + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "virtual_machine_network_interfaces": { "type": "array", "items": { - "$ref": "#/components/schemas/GetZones200ResponseZones" + "$ref": "#/components/schemas/GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaces" }, - "description": "The zones available to the current identity" + "description": "The network interfaces for this virtual machine" } }, "required": [ - "zones" + "pagination", + "virtual_machine_network_interfaces" ] } } @@ -14888,6 +14225,12 @@ "403": { "$ref": "#/components/responses/APIAuthenticator403Response" }, + "404": { + "$ref": "#/components/responses/VirtualMachineNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" + }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, @@ -14895,52 +14238,72 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/zones/zone": { - "get": { - "operationId": "get:zone", - "summary": "Get zone", - "description": "Returns the details for a specific zone", + }, + "post": { + "operationId": "post:virtual_machine_network_interfaces", + "summary": "Create a virtual network interface", + "description": "Create a new virtual machine network interface with the provided details\n## Scopes\n- `virtual_machines`\n- `virtual_machines:network_interfaces`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ - "Zones" + "Virtual machine network interfaces" ], - "parameters": [ + "security": [ { - "in": "query", - "name": "zone[id]", - "schema": { - "type": "string" - }, - "description": "The zone to find. \n\n All 'zone[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/virtual_machines", + "api.katapult.io/core/v1/virtual_machines:network_interfaces" + ] }, { - "in": "query", - "name": "zone[permalink]", - "schema": { - "type": "string" - }, - "description": "The zone to find. \n\n All 'zone[]' params are mutually exclusive, only one can be provided." + "Authenticator": [ + "virtual_machines", + "virtual_machines:network_interfaces" + ] } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine": { + "$ref": "#/components/schemas/VirtualMachineLookup" + }, + "network": { + "$ref": "#/components/schemas/NetworkLookup" + }, + "virtual_network": { + "$ref": "#/components/schemas/VirtualNetworkLookup" + }, + "speed_profile": { + "$ref": "#/components/schemas/NetworkSpeedProfileLookup" + } + }, + "required": [ + "virtual_machine", + "speed_profile" + ] + } + } + } + }, "responses": { "200": { - "description": "Returns the details for a specific zone", + "description": "Create a new virtual machine network interface with the provided details", "content": { "application/json": { "schema": { "properties": { - "zone": { - "description": "The zone details", + "virtual_machine_network_interface": { + "description": "The network interface details", "allOf": [ { - "$ref": "#/components/schemas/Zone" + "$ref": "#/components/schemas/PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterface" } ] } }, "required": [ - "zone" + "virtual_machine_network_interface" ] } } @@ -14953,7 +14316,13 @@ "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/ZoneNotFoundResponse" + "$ref": "#/components/responses/NetworkNotFoundVirtualMachineNotFoundVirtualNetworkNotFound404Res" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -14963,17 +14332,1751 @@ } } } - } - }, - "components": { - "schemas": { - "GetDataCenters200ResponseDataCenters": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { + }, + "/virtual_machines/virtual_machine/networks/network/interface": { + "get": { + "operationId": "get:virtual_machine_network_interface", + "summary": "Get virtual machine network interface by network", + "description": "Return information about a virtual machine network interface for a specific network\n## Scopes\n- `virtual_machines`\n- `virtual_machines:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "tags": [ + "Virtual machine network interfaces" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/virtual_machines", + "api.katapult.io/core/v1/virtual_machines:read" + ] + }, + { + "Authenticator": [ + "virtual_machines", + "virtual_machines:read" + ] + } + ], + "parameters": [ + { + "in": "query", + "name": "virtual_machine[id]", + "schema": { + "type": "string" + }, + "description": "The virtual machine to find the network interface for. \n\n All 'virtual_machine[]' params are mutually exclusive, only one can be provided." + }, + { + "in": "query", + "name": "virtual_machine[fqdn]", + "schema": { + "type": "string" + }, + "description": "The virtual machine to find the network interface for. \n\n All 'virtual_machine[]' params are mutually exclusive, only one can be provided." + }, + { + "in": "query", + "name": "network[id]", + "schema": { + "type": "string" + }, + "description": "The network to find the network interface for. \n\n All 'network[]' params are mutually exclusive, only one can be provided." + }, + { + "in": "query", + "name": "network[permalink]", + "schema": { + "type": "string" + }, + "description": "The network to find the network interface for. \n\n All 'network[]' params are mutually exclusive, only one can be provided." + } + ], + "responses": { + "200": { + "description": "Return information about a virtual machine network interface for a specific network", + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine_network_interface": { + "description": "The network interface details", + "allOf": [ + { + "$ref": "#/components/schemas/GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterface" + } + ] + } + }, + "required": [ + "virtual_machine_network_interface" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/APIAuthenticator403Response" + }, + "404": { + "$ref": "#/components/responses/InterfaceNotFoundNetworkNotFoundVirtualMachineNotFound404Res" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + } + }, + "/virtual_machine_network_interfaces/virtual_machine_network_interface": { + "get": { + "operationId": "get:v_m_n_i__v_m_n_i", + "summary": "Get virtual machine network interface", + "description": "Return information about a given virtual machine network interface\n## Scopes\n- `virtual_machines`\n- `virtual_machines:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "tags": [ + "Virtual machine network interfaces" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/virtual_machines", + "api.katapult.io/core/v1/virtual_machines:read" + ] + }, + { + "Authenticator": [ + "virtual_machines", + "virtual_machines:read" + ] + } + ], + "parameters": [ + { + "in": "query", + "name": "virtual_machine_network_interface[id]", + "schema": { + "type": "string" + }, + "description": "The network interface to show the information for." + } + ], + "responses": { + "200": { + "description": "Return information about a given virtual machine network interface", + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine_network_interface": { + "description": "The network interface details", + "allOf": [ + { + "$ref": "#/components/schemas/GetVMNIVMNI200ResponseVirtualMachineNetworkInterface" + } + ] + } + }, + "required": [ + "virtual_machine_network_interface" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/APIAuthenticator403Response" + }, + "404": { + "$ref": "#/components/responses/VirtualMachineNetworkInterfaceNotFoundResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + }, + "delete": { + "operationId": "delete:virtual_machine_network_interface", + "summary": "Delete a virtual machine network interface", + "description": "\n## Scopes\n- `virtual_machines`\n- `virtual_machines:network_interfaces`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "tags": [ + "Virtual machine network interfaces" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/virtual_machines", + "api.katapult.io/core/v1/virtual_machines:network_interfaces" + ] + }, + { + "Authenticator": [ + "virtual_machines", + "virtual_machines:network_interfaces" + ] + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine_network_interface": { + "$ref": "#/components/schemas/VirtualMachineNetworkInterfaceLookup" + } + }, + "required": [ + "virtual_machine_network_interface" + ] + } + } + } + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine_network_interface": { + "description": "The deleted network interface details", + "allOf": [ + { + "$ref": "#/components/schemas/DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterface" + } + ] + } + }, + "required": [ + "virtual_machine_network_interface" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/APIAuthenticator403Response" + }, + "404": { + "$ref": "#/components/responses/VirtualMachineNetworkInterfaceNotFoundResponse" + }, + "409": { + "$ref": "#/components/responses/DeletionRestrictedResponse" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + } + }, + "/virtual_machine_network_interfaces/virtual_machine_network_interface/available_ips/address_version": { + "get": { + "operationId": "get:virtual_machine_network_interface_available_ips_address_version", + "summary": "Get addresses available for network interface", + "description": "Returns a list of IP addresses that can be allocated to a specific network interface\n## Scopes\n- `ip_addresses`\n- `ip_addresses:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "tags": [ + "Virtual machine network interfaces" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/ip_addresses", + "api.katapult.io/core/v1/ip_addresses:read" + ] + }, + { + "Authenticator": [ + "ip_addresses", + "ip_addresses:read" + ] + } + ], + "parameters": [ + { + "in": "query", + "name": "virtual_machine_network_interface[id]", + "schema": { + "type": "string" + }, + "description": "The network interface to get IP addresses for." + }, + { + "name": "address_version", + "in": "query", + "schema": { + "$ref": "#/components/schemas/IPAddressVersionEnum" + }, + "description": "The IP address version to return results for", + "required": true + } + ], + "responses": { + "200": { + "description": "Returns a list of IP addresses that can be allocated to a specific network interface", + "content": { + "application/json": { + "schema": { + "properties": { + "ip_addresses": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPAddress" + }, + "description": "The IP addresses available for this network interface" + } + }, + "required": [ + "ip_addresses" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/APIAuthenticator403Response" + }, + "404": { + "$ref": "#/components/responses/VirtualMachineNetworkInterfaceNotFoundResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + } + }, + "/virtual_machine_network_interfaces/virtual_machine_network_interface/allocate_ip": { + "post": { + "operationId": "post:virtual_machine_network_interface_allocate_ip", + "summary": "Allocate an IP address", + "description": "Allocate a specific IP address to a given network interface\n## Scopes\n- `ip_addresses`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "tags": [ + "Virtual machine network interfaces" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/ip_addresses" + ] + }, + { + "Authenticator": [ + "ip_addresses" + ] + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine_network_interface": { + "$ref": "#/components/schemas/VirtualMachineNetworkInterfaceLookup" + }, + "ip_address": { + "$ref": "#/components/schemas/IPAddressLookup" + } + }, + "required": [ + "virtual_machine_network_interface", + "ip_address" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Allocate a specific IP address to a given network interface", + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine_network_interface": { + "description": "The network interface details", + "allOf": [ + { + "$ref": "#/components/schemas/PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterface" + } + ] + } + }, + "required": [ + "virtual_machine_network_interface" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/APIAuthenticator403Response" + }, + "404": { + "$ref": "#/components/responses/IPAddressNotFoundVirtualMachineNetworkInterfaceNotFound404Res" + }, + "422": { + "$ref": "#/components/responses/IPAlreadyAllocatedInvalidIP422Res" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + } + }, + "/virtual_machine_network_interfaces/virtual_machine_network_interface/allocate_new_ip": { + "post": { + "operationId": "post:virtual_machine_network_interface_allocate_new_ip", + "summary": "Allocate a new IP address", + "description": "Add a new IP address to this organization and allocate it to a virtual machine network interface\n## Scopes\n- `ip_addresses`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "tags": [ + "Virtual machine network interfaces" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/ip_addresses" + ] + }, + { + "Authenticator": [ + "ip_addresses" + ] + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine_network_interface": { + "$ref": "#/components/schemas/VirtualMachineNetworkInterfaceLookup" + }, + "address_version": { + "$ref": "#/components/schemas/IPAddressVersionEnum" + } + }, + "required": [ + "virtual_machine_network_interface", + "address_version" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Add a new IP address to this organization and allocate it to a virtual machine network interface", + "content": { + "application/json": { + "schema": { + "properties": { + "ip_address": { + "description": "The newly allocated IP address", + "allOf": [ + { + "$ref": "#/components/schemas/IPAddress" + } + ] + } + }, + "required": [ + "ip_address" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/PermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/VirtualMachineNetworkInterfaceNotFoundResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/NoAvailableAddresses503Res" + } + } + } + }, + "/virtual_machine_network_interfaces/virtual_machine_network_interface/update_speed_profile": { + "patch": { + "operationId": "patch:virtual_machine_network_interface_update_speed_profile", + "summary": "Update the network speed profile for a virtual machine network interface", + "description": "\n## Scopes\n- `virtual_machines`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "tags": [ + "Virtual machine network interfaces" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/virtual_machines" + ] + }, + { + "Authenticator": [ + "virtual_machines" + ] + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine_network_interface": { + "$ref": "#/components/schemas/VirtualMachineNetworkInterfaceLookup" + }, + "speed_profile": { + "$ref": "#/components/schemas/NetworkSpeedProfileLookup" + } + }, + "required": [ + "virtual_machine_network_interface", + "speed_profile" + ] + } + } + } + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "properties": { + "task": { + "description": "The task responsible for updating the virtual machine network interface speed profile", + "allOf": [ + { + "$ref": "#/components/schemas/Task" + } + ] + } + }, + "required": [ + "task" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/APIAuthenticator403Response" + }, + "404": { + "$ref": "#/components/responses/NetworkSpeedProfileNotFoundVirtualMachineNetworkInterfaceNotFound404Res" + }, + "406": { + "$ref": "#/components/responses/TaskQueueingErrorResponse" + }, + "422": { + "$ref": "#/components/responses/SpeedProfileAlreadyAssignedResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + } + }, + "/virtual_machine_network_interfaces/virtual_machine_network_interface/attach": { + "post": { + "operationId": "post:virtual_machine_network_interface_attach", + "summary": "Attach to virtual machine", + "description": "Attach a network interface to a virtual machine.\n## Scopes\n- `virtual_machines`\n- `virtual_machines:network_interfaces`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "tags": [ + "Virtual machine network interfaces" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/virtual_machines", + "api.katapult.io/core/v1/virtual_machines:network_interfaces" + ] + }, + { + "Authenticator": [ + "virtual_machines", + "virtual_machines:network_interfaces" + ] + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine_network_interface": { + "$ref": "#/components/schemas/VirtualMachineNetworkInterfaceLookup" + } + }, + "required": [ + "virtual_machine_network_interface" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Attach a network interface to a virtual machine.", + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine_network_interface": { + "description": "The network interface details", + "allOf": [ + { + "$ref": "#/components/schemas/PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterface" + } + ] + }, + "task": { + "$ref": "#/components/schemas/Task" + } + }, + "required": [ + "virtual_machine_network_interface", + "task" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/PermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/VirtualMachineNetworkInterfaceNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/TaskQueueingErrorResponse" + }, + "422": { + "$ref": "#/components/responses/VirtualMachineNetworkInterfaceAlreadyAttachedResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + } + }, + "/virtual_machine_network_interfaces/virtual_machine_network_interface/detach": { + "post": { + "operationId": "post:virtual_machine_network_interface_detach", + "summary": "Detach from virtual machine", + "description": "Detach a network interface from its virtual machine.\n## Scopes\n- `virtual_machines`\n- `virtual_machines:network_interfaces`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "tags": [ + "Virtual machine network interfaces" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/virtual_machines", + "api.katapult.io/core/v1/virtual_machines:network_interfaces" + ] + }, + { + "Authenticator": [ + "virtual_machines", + "virtual_machines:network_interfaces" + ] + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine_network_interface": { + "$ref": "#/components/schemas/VirtualMachineNetworkInterfaceLookup" + } + }, + "required": [ + "virtual_machine_network_interface" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Detach a network interface from its virtual machine.", + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine_network_interface": { + "description": "The network interface details", + "allOf": [ + { + "$ref": "#/components/schemas/PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterface" + } + ] + }, + "task": { + "$ref": "#/components/schemas/Task" + } + }, + "required": [ + "virtual_machine_network_interface", + "task" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/PermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/VirtualMachineNetworkInterfaceNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/TaskQueueingErrorResponse" + }, + "422": { + "$ref": "#/components/responses/VirtualMachineNetworkInterfaceAlreadyDetachedResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + } + }, + "/virtual_machine_packages": { + "get": { + "operationId": "get:virtual_machine_packages", + "summary": "List virtual machine packages", + "description": "Returns a list of virtual machine packages\n## Scopes\n- `virtual_machine_packages:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "tags": [ + "Virtual machine packages" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/virtual_machine_packages:read" + ] + }, + { + "Authenticator": [ + "virtual_machine_packages:read" + ] + } + ], + "parameters": [ + { + "in": "query", + "name": "organization[id]", + "schema": { + "type": "string" + }, + "description": "Provide an organization to only show packages available to the given organization (otherwise only public packages will be displayed). \n\n All 'organization[]' params are mutually exclusive, only one can be provided." + }, + { + "in": "query", + "name": "organization[sub_domain]", + "schema": { + "type": "string" + }, + "description": "Provide an organization to only show packages available to the given organization (otherwise only public packages will be displayed). \n\n All 'organization[]' params are mutually exclusive, only one can be provided." + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "default": 1, + "minimum": 1 + }, + "description": "The page number to request. If not provided, the first page will be returned." + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer", + "default": 30, + "minimum": 1 + }, + "description": "The number of items to return per page. If not provided, the default value will be used." + } + ], + "responses": { + "200": { + "description": "Returns a list of virtual machine packages", + "content": { + "application/json": { + "schema": { + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "virtual_machine_packages": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VirtualMachinePackage" + } + } + }, + "required": [ + "pagination", + "virtual_machine_packages" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" + }, + "404": { + "$ref": "#/components/responses/OrganizationNotFoundResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + } + }, + "/virtual_machine_packages/virtual_machine_package": { + "get": { + "operationId": "get:virtual_machine_package", + "summary": "Get virtual machine package", + "description": "Return information about a given virtual machine package\n## Scopes\n- `virtual_machine_packages:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "tags": [ + "Virtual machine packages" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/virtual_machine_packages:read" + ] + }, + { + "Authenticator": [ + "virtual_machine_packages:read" + ] + } + ], + "parameters": [ + { + "in": "query", + "name": "virtual_machine_package[id]", + "schema": { + "type": "string" + }, + "description": "All 'virtual_machine_package[]' params are mutually exclusive, only one can be provided." + }, + { + "in": "query", + "name": "virtual_machine_package[permalink]", + "schema": { + "type": "string" + }, + "description": "All 'virtual_machine_package[]' params are mutually exclusive, only one can be provided." + } + ], + "responses": { + "200": { + "description": "Return information about a given virtual machine package", + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine_package": { + "$ref": "#/components/schemas/VirtualMachinePackage" + } + }, + "required": [ + "virtual_machine_package" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/APIAuthenticator403Response" + }, + "404": { + "$ref": "#/components/responses/VirtualMachinePackageNotFoundResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + } + }, + "/organizations/organization/virtual_machines": { + "get": { + "operationId": "get:organization_virtual_machines", + "summary": "List virtual machines", + "description": "Returns a list of all virtual machines for a given organization\n## Scopes\n- `virtual_machines`\n- `virtual_machines:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "tags": [ + "Virtual machines" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/virtual_machines", + "api.katapult.io/core/v1/virtual_machines:read" + ] + }, + { + "Authenticator": [ + "virtual_machines", + "virtual_machines:read" + ] + } + ], + "parameters": [ + { + "in": "query", + "name": "organization[id]", + "schema": { + "type": "string" + }, + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + }, + { + "in": "query", + "name": "organization[sub_domain]", + "schema": { + "type": "string" + }, + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + }, + { + "in": "query", + "name": "annotations[][key]", + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "An array of annotations to filter by. \n\n All `annotations[]` params should have the same amount of elements." + }, + { + "in": "query", + "name": "annotations[][value]", + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "description": "An array of annotations to filter by. \n\n All `annotations[]` params should have the same amount of elements." + }, + { + "name": "page", + "in": "query", + "schema": { + "type": "integer", + "default": 1, + "minimum": 1 + }, + "description": "The page number to request. If not provided, the first page will be returned." + }, + { + "name": "per_page", + "in": "query", + "schema": { + "type": "integer", + "default": 30, + "minimum": 1 + }, + "description": "The number of items to return per page. If not provided, the default value will be used." + } + ], + "responses": { + "200": { + "description": "Returns a list of all virtual machines for a given organization", + "content": { + "application/json": { + "schema": { + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "virtual_machines": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetOrganizationVirtualMachines200ResponseVirtualMachines" + } + } + }, + "required": [ + "pagination", + "virtual_machines" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" + }, + "404": { + "$ref": "#/components/responses/OrganizationNotFoundResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + } + }, + "/virtual_machines/virtual_machine": { + "get": { + "operationId": "get:virtual_machine", + "summary": "Get virtual machine", + "description": "Return information about a virtual machine\n## Scopes\n- `virtual_machines`\n- `virtual_machines:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "tags": [ + "Virtual machines" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/virtual_machines", + "api.katapult.io/core/v1/virtual_machines:read" + ] + }, + { + "Authenticator": [ + "virtual_machines", + "virtual_machines:read" + ] + } + ], + "parameters": [ + { + "in": "query", + "name": "virtual_machine[id]", + "schema": { + "type": "string" + }, + "description": "All 'virtual_machine[]' params are mutually exclusive, only one can be provided." + }, + { + "in": "query", + "name": "virtual_machine[fqdn]", + "schema": { + "type": "string" + }, + "description": "All 'virtual_machine[]' params are mutually exclusive, only one can be provided." + } + ], + "responses": { + "200": { + "description": "Return information about a virtual machine", + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine": { + "$ref": "#/components/schemas/GetVirtualMachine200ResponseVirtualMachine" + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } + } + }, + "required": [ + "virtual_machine", + "annotations" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/APIAuthenticator403Response" + }, + "404": { + "$ref": "#/components/responses/VirtualMachineNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + }, + "patch": { + "operationId": "patch:virtual_machine", + "summary": "Update a Virtual Machine", + "description": "Update the properties of a virtual machine\n## Scopes\n- `virtual_machines`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "tags": [ + "Virtual machines" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/virtual_machines" + ] + }, + { + "Authenticator": [ + "virtual_machines" + ] + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine": { + "$ref": "#/components/schemas/VirtualMachineLookup" + }, + "properties": { + "$ref": "#/components/schemas/VirtualMachineArguments" + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } + } + }, + "required": [ + "virtual_machine", + "properties" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Update the properties of a virtual machine", + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine": { + "description": "The newly updated virtual machine", + "allOf": [ + { + "$ref": "#/components/schemas/PatchVirtualMachine200ResponseVirtualMachine" + } + ] + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } + } + }, + "required": [ + "virtual_machine", + "annotations" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/APIAuthenticator403Response" + }, + "404": { + "$ref": "#/components/responses/VirtualMachineNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + }, + "delete": { + "operationId": "delete:virtual_machine", + "summary": "Delete virtual machine", + "description": "Moves an existing virtual machine to the trash\n## Scopes\n- `virtual_machines`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "tags": [ + "Virtual machines" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/virtual_machines" + ] + }, + { + "Authenticator": [ + "virtual_machines" + ] + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine": { + "$ref": "#/components/schemas/VirtualMachineLookup" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "Moves an existing virtual machine to the trash", + "content": { + "application/json": { + "schema": { + "properties": { + "trash_object": { + "$ref": "#/components/schemas/TrashObject" + }, + "virtual_machine": { + "$ref": "#/components/schemas/DeleteVirtualMachine200ResponseVirtualMachine" + } + }, + "required": [ + "trash_object", + "virtual_machine" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/PermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/VirtualMachineNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + } + }, + "/virtual_machines/virtual_machine/package": { + "put": { + "operationId": "put:virtual_machine_package", + "summary": "Change package", + "description": "Change a package for a virtual machine\n## Scopes\n- `virtual_machines`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "tags": [ + "Virtual machines" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/virtual_machines" + ] + }, + { + "Authenticator": [ + "virtual_machines" + ] + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine": { + "$ref": "#/components/schemas/VirtualMachineLookup" + }, + "virtual_machine_package": { + "$ref": "#/components/schemas/VirtualMachinePackageLookup" + } + }, + "required": [ + "virtual_machine", + "virtual_machine_package" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Change a package for a virtual machine", + "content": { + "application/json": { + "schema": { + "properties": { + "task": { + "$ref": "#/components/schemas/Task" + } + }, + "required": [ + "task" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/PermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/VirtualMachineNotFoundVirtualMachinePackageNotFound404Res" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + } + }, + "/virtual_machines/virtual_machine/flexible_resources": { + "put": { + "operationId": "put:virtual_machine_flexible_resources", + "summary": "Change flexible resources", + "description": "Change the flexible resources assigned to a virtual machine\n## Scopes\n- `virtual_machines`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "tags": [ + "Virtual machines" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/virtual_machines" + ] + }, + { + "Authenticator": [ + "virtual_machines" + ] + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine": { + "$ref": "#/components/schemas/VirtualMachineLookup" + }, + "resources": { + "$ref": "#/components/schemas/VirtualMachineFlexibleResources" + } + }, + "required": [ + "virtual_machine", + "resources" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Change the flexible resources assigned to a virtual machine", + "content": { + "application/json": { + "schema": { + "properties": { + "task": { + "$ref": "#/components/schemas/Task" + } + }, + "required": [ + "task" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/FlexibleResourcesUnavailableToOrganizationPermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/VirtualMachineNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + } + }, + "/virtual_machines/virtual_machine/allocate_ip": { + "post": { + "operationId": "post:virtual_machine_allocate_ip", + "summary": "Allocate an IP Address", + "description": "Allocate an IP address to a virtual machine, automatically determining the network interface\n## Scopes\n- `ip_addresses`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "tags": [ + "Virtual machines" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/ip_addresses" + ] + }, + { + "Authenticator": [ + "ip_addresses" + ] + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine": { + "$ref": "#/components/schemas/VirtualMachineLookup" + }, + "ip_address": { + "$ref": "#/components/schemas/IPAddressLookup" + } + }, + "required": [ + "virtual_machine", + "ip_address" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Allocate an IP address to a virtual machine, automatically determining the network interface", + "content": { + "application/json": { + "schema": { + "properties": { + "ip_address": { + "description": "The newly allocated IP address", + "allOf": [ + { + "$ref": "#/components/schemas/IPAddress" + } + ] + } + }, + "required": [ + "ip_address" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/APIAuthenticator403Response" + }, + "404": { + "$ref": "#/components/responses/IPAddressNotFoundVirtualMachineNotFound404Res" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" + }, + "422": { + "$ref": "#/components/responses/IPAlreadyAllocatedNoInterfaceAvailable422Res" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + } + }, + "/virtual_machine/authorized_keys": { + "get": { + "operationId": "get:virtual_machine_authorized_keys", + "summary": "Get authorized keys for a virtual machine", + "description": "Return the authorized keys for the virtual machine associated with the provided API token\n## Scopes\n- `virtual_machines:authorized_keys`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", + "tags": [ + "Virtual machines" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/virtual_machines:authorized_keys" + ] + }, + { + "Authenticator": [ + "virtual_machines:authorized_keys" + ] + } + ], + "parameters": [ + + ], + "responses": { + "200": { + "description": "Return the authorized keys for the virtual machine associated with the provided API token", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/APIAuthenticator403Response" + }, + "404": { + "$ref": "#/components/responses/NoVirtualMachineForAPITokenResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + } + }, + "/zones": { + "get": { + "operationId": "get:zones", + "summary": "List zones", + "description": "Returns a list of all zones on the system for the current identity", + "tags": [ + "Zones" + ], + "parameters": [ + + ], + "responses": { + "200": { + "description": "Returns a list of all zones on the system for the current identity", + "content": { + "application/json": { + "schema": { + "properties": { + "zones": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetZones200ResponseZones" + }, + "description": "The zones available to the current identity" + } + }, + "required": [ + "zones" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/APIAuthenticator403Response" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + } + }, + "/zones/zone": { + "get": { + "operationId": "get:zone", + "summary": "Get zone", + "description": "Returns the details for a specific zone", + "tags": [ + "Zones" + ], + "parameters": [ + { + "in": "query", + "name": "zone[id]", + "schema": { + "type": "string" + }, + "description": "The zone to find. \n\n All 'zone[]' params are mutually exclusive, only one can be provided." + }, + { + "in": "query", + "name": "zone[permalink]", + "schema": { + "type": "string" + }, + "description": "The zone to find. \n\n All 'zone[]' params are mutually exclusive, only one can be provided." + } + ], + "responses": { + "200": { + "description": "Returns the details for a specific zone", + "content": { + "application/json": { + "schema": { + "properties": { + "zone": { + "description": "The zone details", + "allOf": [ + { + "$ref": "#/components/schemas/Zone" + } + ] + } + }, + "required": [ + "zone" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/APIAuthenticator403Response" + }, + "404": { + "$ref": "#/components/responses/ZoneNotFoundResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + } + } + }, + "components": { + "schemas": { + "GetDataCenters200ResponseDataCenters": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { "type": "string" }, "permalink": { @@ -16004,7 +17107,6 @@ } }, "KeyValue": { - "description": "All 'annotations[]' params are mutually exclusive, only one can be provided.", "type": "object", "properties": { "key": { @@ -16209,7 +17311,6 @@ } }, "DiskArguments": { - "description": "All 'properties[]' params are mutually exclusive, only one can be provided.", "type": "object", "properties": { "name": { @@ -16285,7 +17386,6 @@ ] }, "VirtualMachineDiskArguments": { - "description": "All 'virtual_machine_disk[]' params are mutually exclusive, only one can be provided.", "type": "object", "properties": { "boot": { @@ -16790,7 +17890,6 @@ ] }, "DiskLookup": { - "description": "All 'disk[]' params are mutually exclusive, only one can be provided.", "type": "object", "properties": { "id": { @@ -18858,56 +19957,180 @@ "type": "string", "nullable": true }, - "allocation_type": { - "type": "string", + "allocation_type": { + "type": "string", + "nullable": true + } + } + }, + "Network": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "permalink": { + "type": "string", + "nullable": true + }, + "data_center": { + "$ref": "#/components/schemas/DataCenter" + } + } + }, + "Hypervisor": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "ip_address": { + "type": "string" + } + } + }, + "VirtualMachineArguments": { + "type": "object", + "properties": { + "hostname": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "tag_names": { + "type": "array", + "items": { + "type": "string" + } + }, + "gpu_type": { + "$ref": "#/components/schemas/GPUTypeLookup" + }, + "group": { + "$ref": "#/components/schemas/VirtualMachineGroupLookup" + } + } + }, + "GPUTypeLookup": { + "description": "All 'gpu_type[]' params are mutually exclusive, only one can be provided.", + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "permalink": { + "type": "string" + } + } + }, + "VirtualMachineGroupLookup": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + }, + "PatchVirtualMachine200ResponseVirtualMachine": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "hostname": { + "type": "string" + }, + "fqdn": { + "type": "string" + }, + "description": { + "type": "string", + "nullable": true + }, + "created_at": { + "type": "integer" + }, + "initial_root_password": { + "type": "string", + "nullable": true + }, + "state": { + "$ref": "#/components/schemas/VirtualMachineStateEnum" + }, + "zone": { + "$ref": "#/components/schemas/Zone" + }, + "organization": { + "$ref": "#/components/schemas/Organization" + }, + "group": { + "allOf": [ + { + "$ref": "#/components/schemas/VirtualMachineGroup" + } + ], + "nullable": true + }, + "package": { + "allOf": [ + { + "$ref": "#/components/schemas/VirtualMachinePackage" + } + ], "nullable": true - } - } - }, - "Network": { - "type": "object", - "properties": { - "id": { - "type": "string" }, - "name": { - "type": "string" + "attached_iso": { + "allOf": [ + { + "$ref": "#/components/schemas/ISO" + } + ], + "nullable": true }, - "permalink": { - "type": "string", + "memory_in_gb": { + "type": "integer", "nullable": true }, - "data_center": { - "$ref": "#/components/schemas/DataCenter" - } - } - }, - "Hypervisor": { - "type": "object", - "properties": { - "id": { - "type": "string" + "cpu_cores": { + "type": "integer", + "nullable": true }, - "name": { - "type": "string" + "use_dedicated_cpus": { + "type": "boolean", + "nullable": true }, - "ip_address": { - "type": "string" - } - } - }, - "VirtualMachineArguments": { - "description": "All 'properties[]' params are mutually exclusive, only one can be provided.", - "type": "object", - "properties": { - "hostname": { - "type": "string" + "gpu_type": { + "allOf": [ + { + "$ref": "#/components/schemas/PatchVirtualMachinePartGPUType" + } + ], + "nullable": true }, - "name": { - "type": "string" + "gpus": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VirtualMachineGPU" + } }, - "description": { - "type": "string" + "tags": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } }, "tag_names": { "type": "array", @@ -18915,36 +20138,46 @@ "type": "string" } }, - "gpu_type": { - "$ref": "#/components/schemas/GPUTypeLookup" + "ip_addresses": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPAddress" + } }, - "group": { - "$ref": "#/components/schemas/VirtualMachineGroupLookup" + "hypervisor": { + "allOf": [ + { + "$ref": "#/components/schemas/Hypervisor" + } + ], + "nullable": true } } }, - "GPUTypeLookup": { - "description": "All 'gpu_type[]' params are mutually exclusive, only one can be provided.", + "PatchVirtualMachinePartGPUType": { "type": "object", "properties": { "id": { "type": "string" }, - "permalink": { + "name": { "type": "string" - } - } - }, - "VirtualMachineGroupLookup": { - "description": "All 'group[]' params are mutually exclusive, only one can be provided.", - "type": "object", - "properties": { - "id": { + }, + "manufacturer": { + "type": "string" + }, + "memory_in_gb": { + "type": "integer" + }, + "memory_type": { + "type": "string" + }, + "permalink": { "type": "string" } } }, - "PatchVirtualMachine200ResponseVirtualMachine": { + "DeleteVirtualMachine200ResponseVirtualMachine": { "type": "object", "properties": { "id": { @@ -19018,7 +20251,7 @@ "gpu_type": { "allOf": [ { - "$ref": "#/components/schemas/PatchVirtualMachinePartGPUType" + "$ref": "#/components/schemas/DeleteVirtualMachinePartGPUType" } ], "nullable": true @@ -19035,165 +20268,320 @@ "$ref": "#/components/schemas/Tag" } }, - "tag_names": { - "type": "array", - "items": { - "type": "string" - } + "tag_names": { + "type": "array", + "items": { + "type": "string" + } + }, + "ip_addresses": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPAddress" + } + }, + "hypervisor": { + "allOf": [ + { + "$ref": "#/components/schemas/Hypervisor" + } + ], + "nullable": true + } + } + }, + "DeleteVirtualMachinePartGPUType": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "manufacturer": { + "type": "string" + }, + "memory_in_gb": { + "type": "integer" + }, + "memory_type": { + "type": "string" + }, + "permalink": { + "type": "string" + } + } + }, + "VirtualMachinePackageLookup": { + "description": "All 'virtual_machine_package[]' params are mutually exclusive, only one can be provided.", + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "permalink": { + "type": "string" + } + } + }, + "VirtualMachinePackageNotFoundEnum": { + "type": "string", + "enum": [ + "package_not_found" + ] + }, + "VirtualMachinePackageNotFoundSchema": { + "type": "object", + "description": "No package was found matching any of the criteria provided in the arguments", + "properties": { + "code": { + "$ref": "#/components/schemas/VirtualMachinePackageNotFoundEnum" + }, + "description": { + "type": "string" + }, + "detail": { + "type": "object" + } + } + }, + "OneOfVirtualMachineNotFoundVirtualMachinePackageNotFound404Res": { + "oneOf": [ + { + "$ref": "#/components/schemas/VirtualMachineNotFoundSchema" + }, + { + "$ref": "#/components/schemas/VirtualMachinePackageNotFoundSchema" + } + ] + }, + "VirtualMachineFlexibleResources": { + "type": "object", + "properties": { + "cpu_cores": { + "type": "integer" + }, + "memory_in_gb": { + "type": "integer" + }, + "use_dedicated_cpus": { + "type": "boolean" + } + }, + "required": [ + "cpu_cores", + "memory_in_gb" + ] + }, + "FlexibleResourcesUnavailableToOrganizationEnum": { + "type": "string", + "enum": [ + "flexible_resources_unavailable_to_organization" + ] + }, + "FlexibleResourcesUnavailableToOrganizationSchema": { + "type": "object", + "description": "The organization is not permitted to use flexible resources", + "properties": { + "code": { + "$ref": "#/components/schemas/FlexibleResourcesUnavailableToOrganizationEnum" + }, + "description": { + "type": "string" + }, + "detail": { + "type": "object" + } + } + }, + "OneOfFlexibleResourcesUnavailableToOrganizationPermissionDenied403Res": { + "oneOf": [ + { + "$ref": "#/components/schemas/UnauthorizedNetworkForAPITokenSchema" + }, + { + "$ref": "#/components/schemas/InvalidAPITokenSchema" + }, + { + "$ref": "#/components/schemas/InvalidCapabilitiesTokenSchema" }, - "ip_addresses": { - "type": "array", - "items": { - "$ref": "#/components/schemas/IPAddress" - } + { + "$ref": "#/components/schemas/ScopeNotGrantedErrorSchema" }, - "hypervisor": { - "allOf": [ - { - "$ref": "#/components/schemas/Hypervisor" - } - ], - "nullable": true + { + "$ref": "#/components/schemas/PermissionDeniedSchema" + }, + { + "$ref": "#/components/schemas/FlexibleResourcesUnavailableToOrganizationSchema" } - } + ] }, - "PatchVirtualMachinePartGPUType": { + "IPAddressLookup": { + "description": "All 'ip_address[]' params are mutually exclusive, only one can be provided.", "type": "object", "properties": { "id": { "type": "string" }, - "name": { + "address": { "type": "string" + } + } + }, + "IPAddressNotFoundEnum": { + "type": "string", + "enum": [ + "ip_address_not_found" + ] + }, + "IPAddressNotFoundSchema": { + "type": "object", + "description": "No IP addresses were found matching any of the criteria provided in the arguments", + "properties": { + "code": { + "$ref": "#/components/schemas/IPAddressNotFoundEnum" }, - "manufacturer": { + "description": { "type": "string" }, - "memory_in_gb": { - "type": "integer" + "detail": { + "type": "object" + } + } + }, + "OneOfIPAddressNotFoundVirtualMachineNotFound404Res": { + "oneOf": [ + { + "$ref": "#/components/schemas/VirtualMachineNotFoundSchema" }, - "memory_type": { + { + "$ref": "#/components/schemas/IPAddressNotFoundSchema" + } + ] + }, + "NoInterfaceAvailableEnum": { + "type": "string", + "enum": [ + "no_interface_available" + ] + }, + "NoInterfaceAvailableSchema": { + "type": "object", + "description": "This virtual machine does not have a network interface that is compatible with the provided IP address", + "properties": { + "code": { + "$ref": "#/components/schemas/NoInterfaceAvailableEnum" + }, + "description": { "type": "string" }, - "permalink": { + "detail": { + "type": "object" + } + } + }, + "IPAlreadyAllocatedEnum": { + "type": "string", + "enum": [ + "ip_already_allocated" + ] + }, + "IPAlreadyAllocatedSchema": { + "type": "object", + "description": "This IP address has already been allocated to another resource", + "properties": { + "code": { + "$ref": "#/components/schemas/IPAlreadyAllocatedEnum" + }, + "description": { "type": "string" + }, + "detail": { + "type": "object" } } }, - "DeleteVirtualMachine200ResponseVirtualMachine": { + "OneOfIPAlreadyAllocatedNoInterfaceAvailable422Res": { + "oneOf": [ + { + "$ref": "#/components/schemas/NoInterfaceAvailableSchema" + }, + { + "$ref": "#/components/schemas/IPAlreadyAllocatedSchema" + } + ] + }, + "NoVirtualMachineForAPITokenEnum": { + "type": "string", + "enum": [ + "no_virtual_machine_for_api_token" + ] + }, + "ZoneLookup": { + "description": "All 'zone[]' params are mutually exclusive, only one can be provided.", "type": "object", "properties": { "id": { "type": "string" }, - "name": { + "permalink": { "type": "string" - }, - "hostname": { + } + } + }, + "DiskTemplateLookup": { + "description": "All 'disk_template[]' params are mutually exclusive, only one can be provided.", + "type": "object", + "properties": { + "id": { "type": "string" }, - "fqdn": { + "permalink": { + "type": "string" + } + } + }, + "VirtualMachineBuildDiskArguments": { + "type": "object", + "properties": { + "name": { "type": "string" }, - "description": { - "type": "string", - "nullable": true - }, - "created_at": { + "size_in_gb": { "type": "integer" }, - "initial_root_password": { - "type": "string", - "nullable": true - }, - "state": { - "$ref": "#/components/schemas/VirtualMachineStateEnum" - }, - "zone": { - "$ref": "#/components/schemas/Zone" - }, - "organization": { - "$ref": "#/components/schemas/Organization" - }, - "group": { - "allOf": [ - { - "$ref": "#/components/schemas/VirtualMachineGroup" - } - ], - "nullable": true - }, - "package": { - "allOf": [ - { - "$ref": "#/components/schemas/VirtualMachinePackage" - } - ], - "nullable": true - }, - "attached_iso": { - "allOf": [ - { - "$ref": "#/components/schemas/ISO" - } - ], - "nullable": true - }, - "memory_in_gb": { - "type": "integer", - "nullable": true - }, - "cpu_cores": { - "type": "integer", - "nullable": true + "initial_file_system": { + "$ref": "#/components/schemas/FileSystemEnum" }, - "use_dedicated_cpus": { + "system": { "type": "boolean", - "nullable": true - }, - "gpu_type": { - "allOf": [ - { - "$ref": "#/components/schemas/DeleteVirtualMachinePartGPUType" - } - ], - "nullable": true - }, - "gpus": { - "type": "array", - "items": { - "$ref": "#/components/schemas/VirtualMachineGPU" - } - }, - "tags": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Tag" - } + "description": "Default false. Exactly one disk must be marked as the system disk" }, - "tag_names": { - "type": "array", - "items": { - "type": "string" - } + "io_profile": { + "$ref": "#/components/schemas/DiskIOProfileLookup" }, - "ip_addresses": { - "type": "array", - "items": { - "$ref": "#/components/schemas/IPAddress" - } + "storage_speed": { + "$ref": "#/components/schemas/StorageSpeedEnum" + } + }, + "required": [ + "size_in_gb" + ] + }, + "NetworkLookup": { + "description": "All 'network[]' params are mutually exclusive, only one can be provided.", + "type": "object", + "properties": { + "id": { + "type": "string" }, - "hypervisor": { - "allOf": [ - { - "$ref": "#/components/schemas/Hypervisor" - } - ], - "nullable": true + "permalink": { + "type": "string" } } }, - "DeleteVirtualMachinePartGPUType": { + "PostOrganizationVirtualMachinesBuild201ResponseTask": { "type": "object", "properties": { "id": { @@ -19202,94 +20590,166 @@ "name": { "type": "string" }, - "manufacturer": { - "type": "string" - }, - "memory_in_gb": { - "type": "integer" - }, - "memory_type": { + "status": { + "$ref": "#/components/schemas/TaskStatusEnum" + } + } + }, + "PostOrganizationVirtualMachinesBuild201ResponseBuild": { + "type": "object", + "properties": { + "id": { "type": "string" }, - "permalink": { - "type": "string" + "state": { + "$ref": "#/components/schemas/VirtualMachineBuildStateEnum" } } }, - "VirtualMachinePackageLookup": { - "description": "All 'virtual_machine_package[]' params are mutually exclusive, only one can be provided.", + "VirtualMachineBuildStateEnum": { + "type": "string", + "enum": [ + "draft", + "failed", + "pending", + "complete", + "building" + ] + }, + "PostOrganizationVirtualMachinesBuild201ResponseVirtualMachineBuild": { "type": "object", "properties": { "id": { "type": "string" }, - "permalink": { - "type": "string" + "state": { + "$ref": "#/components/schemas/VirtualMachineBuildStateEnum" } } }, - "VirtualMachinePackageNotFoundEnum": { + "ResourceCreationRestricted": { + "properties": { + "errors": { + "type": "array", + "items": { + "type": "string", + "description": "The specific details that are restricting this organization" + } + } + } + }, + "ResourceCreationRestrictedEnum": { "type": "string", "enum": [ - "package_not_found" + "resource_creation_restricted" ] }, - "VirtualMachinePackageNotFoundSchema": { + "ResourceCreationRestrictedSchema": { "type": "object", - "description": "No package was found matching any of the criteria provided in the arguments", + "description": "The organization chosen is not permitted to create resources", "properties": { "code": { - "$ref": "#/components/schemas/VirtualMachinePackageNotFoundEnum" + "$ref": "#/components/schemas/ResourceCreationRestrictedEnum" }, "description": { "type": "string" }, "detail": { - "type": "object" + "$ref": "#/components/schemas/ResourceCreationRestricted" } } }, - "OneOfVirtualMachineNotFoundVirtualMachinePackageNotFound404Res": { + "OneOfOrganizationNotActivatedPermissionDeniedResourceCreationRestricted403Res": { "oneOf": [ { - "$ref": "#/components/schemas/VirtualMachineNotFoundSchema" + "$ref": "#/components/schemas/UnauthorizedNetworkForAPITokenSchema" }, { - "$ref": "#/components/schemas/VirtualMachinePackageNotFoundSchema" + "$ref": "#/components/schemas/InvalidAPITokenSchema" + }, + { + "$ref": "#/components/schemas/InvalidCapabilitiesTokenSchema" + }, + { + "$ref": "#/components/schemas/ScopeNotGrantedErrorSchema" + }, + { + "$ref": "#/components/schemas/OrganizationSuspendedSchema" + }, + { + "$ref": "#/components/schemas/OrganizationNotActivatedSchema" + }, + { + "$ref": "#/components/schemas/PermissionDeniedSchema" + }, + { + "$ref": "#/components/schemas/ResourceCreationRestrictedSchema" } ] }, - "VirtualMachineFlexibleResources": { - "description": "All 'resources[]' params are mutually exclusive, only one can be provided.", + "ZoneNotFoundEnum": { + "type": "string", + "enum": [ + "zone_not_found" + ] + }, + "ZoneNotFoundSchema": { "type": "object", + "description": "No zone was found matching any of the criteria provided in the arguments", "properties": { - "cpu_cores": { - "type": "integer" + "code": { + "$ref": "#/components/schemas/ZoneNotFoundEnum" }, - "memory_in_gb": { - "type": "integer" + "description": { + "type": "string" }, - "use_dedicated_cpus": { - "type": "boolean" + "detail": { + "type": "object" } - }, - "required": [ - "cpu_cores", - "memory_in_gb" - ] + } }, - "FlexibleResourcesUnavailableToOrganizationEnum": { + "DataCenterNotFoundSchema": { + "type": "object", + "description": "No data center was found matching any of the criteria provided in the arguments", + "properties": { + "code": { + "$ref": "#/components/schemas/DataCenterNotFoundEnum" + }, + "description": { + "type": "string" + }, + "detail": { + "type": "object" + } + } + }, + "DiskTemplateNotFoundSchema": { + "type": "object", + "description": "No disk template was found matching any of the criteria provided in the arguments", + "properties": { + "code": { + "$ref": "#/components/schemas/DiskTemplateNotFoundEnum" + }, + "description": { + "type": "string" + }, + "detail": { + "type": "object" + } + } + }, + "NetworkNotFoundEnum": { "type": "string", "enum": [ - "flexible_resources_unavailable_to_organization" + "network_not_found" ] }, - "FlexibleResourcesUnavailableToOrganizationSchema": { + "NetworkNotFoundSchema": { "type": "object", - "description": "The organization is not permitted to use flexible resources", + "description": "No network was found matching any of the criteria provided in the arguments", "properties": { "code": { - "$ref": "#/components/schemas/FlexibleResourcesUnavailableToOrganizationEnum" + "$ref": "#/components/schemas/NetworkNotFoundEnum" }, "description": { "type": "string" @@ -19299,52 +20759,61 @@ } } }, - "OneOfFlexibleResourcesUnavailableToOrganizationPermissionDenied403Res": { + "OneOfDataCenterNotFoundVirtualMachinePackageNotFoundZoneNotFound404Res": { "oneOf": [ { - "$ref": "#/components/schemas/UnauthorizedNetworkForAPITokenSchema" + "$ref": "#/components/schemas/OrganizationNotFoundSchema" }, { - "$ref": "#/components/schemas/InvalidAPITokenSchema" + "$ref": "#/components/schemas/ZoneNotFoundSchema" }, { - "$ref": "#/components/schemas/InvalidCapabilitiesTokenSchema" + "$ref": "#/components/schemas/DataCenterNotFoundSchema" }, { - "$ref": "#/components/schemas/ScopeNotGrantedErrorSchema" + "$ref": "#/components/schemas/VirtualMachinePackageNotFoundSchema" }, { - "$ref": "#/components/schemas/PermissionDeniedSchema" + "$ref": "#/components/schemas/DiskTemplateNotFoundSchema" }, { - "$ref": "#/components/schemas/FlexibleResourcesUnavailableToOrganizationSchema" + "$ref": "#/components/schemas/NetworkNotFoundSchema" } ] }, - "IPAddressLookup": { - "description": "All 'ip_address[]' params are mutually exclusive, only one can be provided.", + "LocationRequiredEnum": { + "type": "string", + "enum": [ + "location_required" + ] + }, + "LocationRequiredSchema": { "type": "object", + "description": "A zone or a data_center argument must be provided", "properties": { - "id": { - "type": "string" + "code": { + "$ref": "#/components/schemas/LocationRequiredEnum" }, - "address": { + "description": { "type": "string" + }, + "detail": { + "type": "object" } } }, - "IPAddressNotFoundEnum": { + "OneSystemDiskRequiredEnum": { "type": "string", "enum": [ - "ip_address_not_found" + "one_system_disk_required" ] }, - "IPAddressNotFoundSchema": { + "OneSystemDiskRequiredSchema": { "type": "object", - "description": "No IP addresses were found matching any of the criteria provided in the arguments", + "description": "Exactly one disk must be marked as the system disk", "properties": { "code": { - "$ref": "#/components/schemas/IPAddressNotFoundEnum" + "$ref": "#/components/schemas/OneSystemDiskRequiredEnum" }, "description": { "type": "string" @@ -19354,139 +20823,189 @@ } } }, - "OneOfIPAddressNotFoundVirtualMachineNotFound404Res": { + "OneOfLocationRequiredOneSystemDiskRequiredValidationError422Res": { "oneOf": [ { - "$ref": "#/components/schemas/VirtualMachineNotFoundSchema" + "$ref": "#/components/schemas/ValidationErrorSchema" }, { - "$ref": "#/components/schemas/IPAddressNotFoundSchema" + "$ref": "#/components/schemas/LocationRequiredSchema" + }, + { + "$ref": "#/components/schemas/OneSystemDiskRequiredSchema" } ] }, - "NoInterfaceAvailableEnum": { - "type": "string", - "enum": [ - "no_interface_available" - ] + "PostOrganizationVirtualMachinesBuildFromSpec201ResponseTask": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "status": { + "$ref": "#/components/schemas/TaskStatusEnum" + } + } }, - "NoInterfaceAvailableSchema": { + "PostOrganizationVirtualMachinesBuildFromSpec201ResponseBuild": { "type": "object", - "description": "This virtual machine does not have a network interface that is compatible with the provided IP address", "properties": { - "code": { - "$ref": "#/components/schemas/NoInterfaceAvailableEnum" + "id": { + "type": "string" }, - "description": { + "state": { + "$ref": "#/components/schemas/VirtualMachineBuildStateEnum" + } + } + }, + "PostOrganizationVirtualMachinesBuildFromSpec201ResponseVirtualMachineBuild": { + "type": "object", + "properties": { + "id": { "type": "string" }, - "detail": { - "type": "object" + "state": { + "$ref": "#/components/schemas/VirtualMachineBuildStateEnum" } } }, - "IPAlreadyAllocatedEnum": { + "InvalidSpecXML": { + "type": "object", + "properties": { + "errors": { + "type": "string", + "description": "A textual description of the errors with the provided XML" + } + } + }, + "InvalidSpecXMLEnum": { "type": "string", "enum": [ - "ip_already_allocated" + "invalid_spec_xml" ] }, - "IPAlreadyAllocatedSchema": { + "InvalidSpecXMLSchema": { "type": "object", - "description": "This IP address has already been allocated to another resource", + "description": "The spec XML provided is invalid", "properties": { "code": { - "$ref": "#/components/schemas/IPAlreadyAllocatedEnum" + "$ref": "#/components/schemas/InvalidSpecXMLEnum" }, "description": { "type": "string" }, "detail": { - "type": "object" + "$ref": "#/components/schemas/InvalidSpecXML" } } }, - "OneOfIPAlreadyAllocatedNoInterfaceAvailable422Res": { + "OneOfInvalidSpecXML400Res": { "oneOf": [ { - "$ref": "#/components/schemas/NoInterfaceAvailableSchema" + "$ref": "#/components/schemas/APIAuthenticator400Schema" }, { - "$ref": "#/components/schemas/IPAlreadyAllocatedSchema" + "$ref": "#/components/schemas/InvalidSpecXMLSchema" } ] }, - "NoVirtualMachineForAPITokenEnum": { - "type": "string", - "enum": [ - "no_virtual_machine_for_api_token" - ] - }, - "ZoneLookup": { - "description": "All 'zone[]' params are mutually exclusive, only one can be provided.", + "GetVirtualMachinesBuildsVirtualMachineBuild200ResponseVirtualMachineBuild": { "type": "object", "properties": { "id": { "type": "string" }, - "permalink": { + "spec_xml": { "type": "string" + }, + "state": { + "$ref": "#/components/schemas/VirtualMachineBuildStateEnum" + }, + "virtual_machine": { + "allOf": [ + { + "$ref": "#/components/schemas/GetVirtualMachinesBuildsVirtualMachineBuildPartVirtualMachine" + } + ], + "nullable": true + }, + "created_at": { + "type": "integer" } } }, - "DiskTemplateLookup": { - "description": "All 'disk_template[]' params are mutually exclusive, only one can be provided.", + "GetVirtualMachinesBuildsVirtualMachineBuildPartVirtualMachine": { "type": "object", "properties": { "id": { "type": "string" }, - "permalink": { + "name": { + "type": "string" + }, + "hostname": { "type": "string" + }, + "fqdn": { + "type": "string" + }, + "state": { + "$ref": "#/components/schemas/VirtualMachineStateEnum" } } }, - "VirtualMachineBuildDiskArguments": { - "description": "All 'disks[]' params are mutually exclusive, only one can be provided.", + "VirtualMachineBuildNotFoundEnum": { + "type": "string", + "enum": [ + "build_not_found" + ] + }, + "PostVirtualMachineStart200ResponseTask": { "type": "object", "properties": { - "name": { + "id": { "type": "string" }, - "size_in_gb": { - "type": "integer" - }, - "initial_file_system": { - "$ref": "#/components/schemas/FileSystemEnum" + "name": { + "type": "string" }, - "system": { - "type": "boolean", - "description": "Default false. Exactly one disk must be marked as the system disk" + "status": { + "$ref": "#/components/schemas/TaskStatusEnum" + } + } + }, + "PostVirtualMachineStop200ResponseTask": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - "io_profile": { - "$ref": "#/components/schemas/DiskIOProfileLookup" + "name": { + "type": "string" }, - "storage_speed": { - "$ref": "#/components/schemas/StorageSpeedEnum" + "status": { + "$ref": "#/components/schemas/TaskStatusEnum" } - }, - "required": [ - "size_in_gb" - ] + } }, - "NetworkLookup": { - "description": "All 'network[]' params are mutually exclusive, only one can be provided.", + "PostVirtualMachineShutdown200ResponseTask": { "type": "object", "properties": { "id": { "type": "string" }, - "permalink": { + "name": { "type": "string" + }, + "status": { + "$ref": "#/components/schemas/TaskStatusEnum" } } }, - "PostOrganizationVirtualMachinesBuild201ResponseTask": { + "PostVirtualMachineReset200ResponseTask": { "type": "object", "properties": { "id": { @@ -19500,248 +21019,375 @@ } } }, - "PostOrganizationVirtualMachinesBuild201ResponseBuild": { + "PostVirtualMachineConsoleSessions201ResponseConsoleSession": { "type": "object", "properties": { "id": { "type": "string" }, - "state": { - "$ref": "#/components/schemas/VirtualMachineBuildStateEnum" + "url": { + "type": "string" + }, + "expires_at": { + "type": "integer" + }, + "virtual_machine": { + "$ref": "#/components/schemas/PostVirtualMachineConsoleSessionsPartVirtualMachine" } } }, - "VirtualMachineBuildStateEnum": { - "type": "string", - "enum": [ - "draft", - "failed", - "pending", - "complete", - "building" - ] - }, - "PostOrganizationVirtualMachinesBuild201ResponseVirtualMachineBuild": { + "PostVirtualMachineConsoleSessionsPartVirtualMachine": { "type": "object", "properties": { "id": { "type": "string" }, + "name": { + "type": "string" + }, + "hostname": { + "type": "string" + }, + "fqdn": { + "type": "string" + }, "state": { - "$ref": "#/components/schemas/VirtualMachineBuildStateEnum" + "$ref": "#/components/schemas/VirtualMachineStateEnum" } } }, - "ResourceCreationRestricted": { + "VirtualMachineMustBeStarted": { + "type": "object", "properties": { - "errors": { - "type": "array", - "items": { - "type": "string", - "description": "The specific details that are restricting this organization" - } + "current_state": { + "type": "string" } } }, - "ResourceCreationRestrictedEnum": { + "VirtualMachineMustBeStartedEnum": { "type": "string", "enum": [ - "resource_creation_restricted" + "virtual_machine_must_be_started" ] }, - "ResourceCreationRestrictedSchema": { + "VirtualMachineMustBeStartedSchema": { "type": "object", - "description": "The organization chosen is not permitted to create resources", + "description": "Virtual machines must be in a started state to create console sessions", "properties": { "code": { - "$ref": "#/components/schemas/ResourceCreationRestrictedEnum" + "$ref": "#/components/schemas/VirtualMachineMustBeStartedEnum" }, "description": { "type": "string" }, "detail": { - "$ref": "#/components/schemas/ResourceCreationRestricted" + "$ref": "#/components/schemas/VirtualMachineMustBeStarted" } } }, - "OneOfOrganizationNotActivatedPermissionDeniedResourceCreationRestricted403Res": { + "OneOfObjectInTrashVirtualMachineMustBeStarted406Res": { "oneOf": [ { - "$ref": "#/components/schemas/UnauthorizedNetworkForAPITokenSchema" - }, - { - "$ref": "#/components/schemas/InvalidAPITokenSchema" - }, - { - "$ref": "#/components/schemas/InvalidCapabilitiesTokenSchema" - }, - { - "$ref": "#/components/schemas/ScopeNotGrantedErrorSchema" + "$ref": "#/components/schemas/ObjectInTrashSchema" }, { - "$ref": "#/components/schemas/OrganizationSuspendedSchema" + "$ref": "#/components/schemas/VirtualMachineMustBeStartedSchema" + } + ] + }, + "AuthSSHKey": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - { - "$ref": "#/components/schemas/OrganizationNotActivatedSchema" + "name": { + "type": "string" }, - { - "$ref": "#/components/schemas/PermissionDeniedSchema" + "fingerprint": { + "type": "string" + } + } + }, + "AuthSSHKeyProperties": { + "type": "object", + "properties": { + "name": { + "type": "string" }, - { - "$ref": "#/components/schemas/ResourceCreationRestrictedSchema" + "key": { + "type": "string" } + } + }, + "AuthSSHKeyLookup": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + }, + "SSHKeyNotFoundEnum": { + "type": "string", + "enum": [ + "ssh_key_not_found" ] }, - "ZoneNotFoundEnum": { + "DeletionRestricted": { + "properties": { + "errors": { + "type": "array", + "items": { + "type": "string", + "description": "asd" + } + } + } + }, + "DeletionRestrictedEnum": { "type": "string", "enum": [ - "zone_not_found" + "deletion_restricted" ] }, - "ZoneNotFoundSchema": { + "APIToken": { "type": "object", - "description": "No zone was found matching any of the criteria provided in the arguments", "properties": { - "code": { - "$ref": "#/components/schemas/ZoneNotFoundEnum" + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "organization_id": { + "type": "string", + "nullable": true + }, + "authorized_ip_addresses": { + "type": "array", + "items": { + "type": "string" + } }, - "description": { - "type": "string" + "expires_at": { + "type": "integer", + "nullable": true }, - "detail": { - "type": "object" + "rate_limit": { + "type": "integer" + }, + "scopes": { + "type": "array", + "items": { + "type": "string" + } + }, + "secret": { + "type": "string", + "description": "The secret will only be returned on token creation or when a new secret is generated.", + "nullable": true } } }, - "DataCenterNotFoundSchema": { + "APITokenArguments": { "type": "object", - "description": "No data center was found matching any of the criteria provided in the arguments", "properties": { - "code": { - "$ref": "#/components/schemas/DataCenterNotFoundEnum" - }, - "description": { + "name": { "type": "string" }, - "detail": { - "type": "object" + "authorized_ip_addresses": { + "type": "array", + "items": { + "type": "string" + } + }, + "expires_at": { + "type": "integer" + }, + "scopes": { + "type": "array", + "items": { + "type": "string" + } } } }, - "DiskTemplateNotFoundSchema": { + "APITokenLookup": { "type": "object", - "description": "No disk template was found matching any of the criteria provided in the arguments", "properties": { - "code": { - "$ref": "#/components/schemas/DiskTemplateNotFoundEnum" - }, - "description": { + "id": { "type": "string" - }, - "detail": { - "type": "object" } } }, - "NetworkNotFoundEnum": { + "APITokenNotFoundEnum": { "type": "string", "enum": [ - "network_not_found" + "api_token_not_found" ] }, - "NetworkNotFoundSchema": { + "DeleteAPIToken200ResponseAPIToken": { "type": "object", - "description": "No network was found matching any of the criteria provided in the arguments", "properties": { - "code": { - "$ref": "#/components/schemas/NetworkNotFoundEnum" - }, - "description": { + "id": { "type": "string" }, - "detail": { - "type": "object" + "name": { + "type": "string" } } }, - "OneOfDataCenterNotFoundVirtualMachinePackageNotFoundZoneNotFound404Res": { - "oneOf": [ - { - "$ref": "#/components/schemas/OrganizationNotFoundSchema" - }, - { - "$ref": "#/components/schemas/ZoneNotFoundSchema" + "GetOrganizationDiskBackupPolicies200ResponseDiskBackupPolicies": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - { - "$ref": "#/components/schemas/DataCenterNotFoundSchema" + "retention": { + "type": "integer" }, - { - "$ref": "#/components/schemas/VirtualMachinePackageNotFoundSchema" + "total_size": { + "type": "number", + "format": "float" }, - { - "$ref": "#/components/schemas/DiskTemplateNotFoundSchema" + "target": { + "$ref": "#/components/schemas/DiskBackupPolicyTarget" }, - { - "$ref": "#/components/schemas/NetworkNotFoundSchema" + "schedule": { + "$ref": "#/components/schemas/GetOrganizationDiskBackupPoliciesPartSchedule" } - ] - }, - "LocationRequiredEnum": { - "type": "string", - "enum": [ - "location_required" - ] + } }, - "LocationRequiredSchema": { + "DiskBackupPolicyTarget": { "type": "object", - "description": "A zone or a data_center argument must be provided", "properties": { - "code": { - "$ref": "#/components/schemas/LocationRequiredEnum" - }, - "description": { - "type": "string" - }, - "detail": { - "type": "object" + "target": { + "oneOf": [ + { + "$ref": "#/components/schemas/VirtualMachine" + }, + { + "$ref": "#/components/schemas/Disk" + } + ] } } }, - "OneSystemDiskRequiredEnum": { - "type": "string", - "enum": [ - "one_system_disk_required" - ] - }, - "OneSystemDiskRequiredSchema": { + "VirtualMachine": { "type": "object", - "description": "Exactly one disk must be marked as the system disk", "properties": { - "code": { - "$ref": "#/components/schemas/OneSystemDiskRequiredEnum" + "id": { + "type": "string" }, - "description": { + "name": { "type": "string" }, - "detail": { - "type": "object" - } - } - }, - "OneOfLocationRequiredOneSystemDiskRequiredValidationError422Res": { - "oneOf": [ - { - "$ref": "#/components/schemas/ValidationErrorSchema" + "hostname": { + "type": "string" }, - { - "$ref": "#/components/schemas/LocationRequiredSchema" + "fqdn": { + "type": "string" }, - { - "$ref": "#/components/schemas/OneSystemDiskRequiredSchema" + "description": { + "type": "string", + "nullable": true + }, + "created_at": { + "type": "integer" + }, + "initial_root_password": { + "type": "string", + "nullable": true + }, + "state": { + "$ref": "#/components/schemas/VirtualMachineStateEnum" + }, + "zone": { + "$ref": "#/components/schemas/Zone" + }, + "organization": { + "$ref": "#/components/schemas/Organization" + }, + "group": { + "allOf": [ + { + "$ref": "#/components/schemas/VirtualMachineGroup" + } + ], + "nullable": true + }, + "package": { + "allOf": [ + { + "$ref": "#/components/schemas/VirtualMachinePackage" + } + ], + "nullable": true + }, + "attached_iso": { + "allOf": [ + { + "$ref": "#/components/schemas/ISO" + } + ], + "nullable": true + }, + "memory_in_gb": { + "type": "integer", + "nullable": true + }, + "cpu_cores": { + "type": "integer", + "nullable": true + }, + "use_dedicated_cpus": { + "type": "boolean", + "nullable": true + }, + "gpu_type": { + "allOf": [ + { + "$ref": "#/components/schemas/GPUType" + } + ], + "nullable": true + }, + "gpus": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VirtualMachineGPU" + } + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + }, + "tag_names": { + "type": "array", + "items": { + "type": "string" + } + }, + "ip_addresses": { + "type": "array", + "items": { + "$ref": "#/components/schemas/IPAddress" + } + }, + "hypervisor": { + "allOf": [ + { + "$ref": "#/components/schemas/Hypervisor" + } + ], + "nullable": true } - ] + } }, - "PostOrganizationVirtualMachinesBuildFromSpec201ResponseTask": { + "Disk": { "type": "object", "properties": { "id": { @@ -19750,393 +21396,407 @@ "name": { "type": "string" }, - "status": { - "$ref": "#/components/schemas/TaskStatusEnum" - } - } - }, - "PostOrganizationVirtualMachinesBuildFromSpec201ResponseBuild": { - "type": "object", - "properties": { - "id": { + "size_in_gb": { + "type": "integer" + }, + "wwn": { "type": "string" }, "state": { - "$ref": "#/components/schemas/VirtualMachineBuildStateEnum" + "$ref": "#/components/schemas/DiskStateEnum" + }, + "created_at": { + "type": "integer" + }, + "storage_speed": { + "$ref": "#/components/schemas/StorageSpeedEnum" + }, + "io_profile": { + "allOf": [ + { + "$ref": "#/components/schemas/DiskIOProfile" + } + ], + "nullable": true + }, + "bus_type": { + "allOf": [ + { + "$ref": "#/components/schemas/DiskBusEnum" + } + ], + "nullable": true + }, + "data_center": { + "$ref": "#/components/schemas/DataCenter" + }, + "virtual_machine_disk": { + "allOf": [ + { + "$ref": "#/components/schemas/VirtualMachineDisk" + } + ], + "nullable": true + }, + "installation": { + "allOf": [ + { + "$ref": "#/components/schemas/DiskInstallation" + } + ], + "nullable": true } } }, - "PostOrganizationVirtualMachinesBuildFromSpec201ResponseVirtualMachineBuild": { + "VirtualMachineDisk": { "type": "object", "properties": { - "id": { - "type": "string" + "virtual_machine": { + "$ref": "#/components/schemas/VirtualMachine" + }, + "disk": { + "$ref": "#/components/schemas/Disk" + }, + "attach_on_boot": { + "type": "boolean" + }, + "boot": { + "type": "boolean" }, "state": { - "$ref": "#/components/schemas/VirtualMachineBuildStateEnum" + "$ref": "#/components/schemas/VirtualMachineDiskAttachmentStateEnum" } } }, - "InvalidSpecXML": { + "GetOrganizationDiskBackupPoliciesPartSchedule": { "type": "object", "properties": { - "errors": { - "type": "string", - "description": "A textual description of the errors with the provided XML" + "interval": { + "$ref": "#/components/schemas/ScheduleIntervalTypeEnum" + }, + "next_invocation_at": { + "type": "integer" } } }, - "InvalidSpecXMLEnum": { + "ScheduleIntervalTypeEnum": { "type": "string", "enum": [ - "invalid_spec_xml" + "hourly", + "daily", + "weekly", + "monthly" ] }, - "InvalidSpecXMLSchema": { + "GetVirtualMachineDiskBackupPolicies200ResponseDiskBackupPolicies": { "type": "object", - "description": "The spec XML provided is invalid", "properties": { - "code": { - "$ref": "#/components/schemas/InvalidSpecXMLEnum" - }, - "description": { + "id": { "type": "string" }, - "detail": { - "$ref": "#/components/schemas/InvalidSpecXML" - } - } - }, - "OneOfInvalidSpecXML400Res": { - "oneOf": [ - { - "$ref": "#/components/schemas/APIAuthenticator400Schema" + "retention": { + "type": "integer" }, - { - "$ref": "#/components/schemas/InvalidSpecXMLSchema" + "total_size": { + "type": "number", + "format": "float" + }, + "target": { + "$ref": "#/components/schemas/DiskBackupPolicyTarget" + }, + "schedule": { + "$ref": "#/components/schemas/GetVirtualMachineDiskBackupPoliciesPartSchedule" } - ] + } }, - "GetVirtualMachinesBuildsVirtualMachineBuild200ResponseVirtualMachineBuild": { + "GetVirtualMachineDiskBackupPoliciesPartSchedule": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "spec_xml": { - "type": "string" - }, - "state": { - "$ref": "#/components/schemas/VirtualMachineBuildStateEnum" - }, - "virtual_machine": { - "allOf": [ - { - "$ref": "#/components/schemas/GetVirtualMachinesBuildsVirtualMachineBuildPartVirtualMachine" - } - ], - "nullable": true + "interval": { + "$ref": "#/components/schemas/ScheduleIntervalTypeEnum" }, - "created_at": { + "next_invocation_at": { "type": "integer" } } }, - "GetVirtualMachinesBuildsVirtualMachineBuildPartVirtualMachine": { + "GetDiskDiskBackupPolicies200ResponseDiskBackupPolicies": { "type": "object", "properties": { "id": { "type": "string" }, - "name": { - "type": "string" + "retention": { + "type": "integer" }, - "hostname": { - "type": "string" + "total_size": { + "type": "number", + "format": "float" }, - "fqdn": { - "type": "string" + "target": { + "$ref": "#/components/schemas/DiskBackupPolicyTarget" }, - "state": { - "$ref": "#/components/schemas/VirtualMachineStateEnum" + "schedule": { + "$ref": "#/components/schemas/GetDiskDiskBackupPoliciesPartSchedule" } } }, - "VirtualMachineBuildNotFoundEnum": { - "type": "string", - "enum": [ - "build_not_found" - ] - }, - "PostVirtualMachineStart200ResponseTask": { + "GetDiskDiskBackupPoliciesPartSchedule": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" + "interval": { + "$ref": "#/components/schemas/ScheduleIntervalTypeEnum" }, - "status": { - "$ref": "#/components/schemas/TaskStatusEnum" + "next_invocation_at": { + "type": "integer" } } }, - "PostVirtualMachineStop200ResponseTask": { + "GetDiskBackupPolicy200ResponseDiskBackupPolicy": { "type": "object", "properties": { "id": { "type": "string" }, - "name": { - "type": "string" + "retention": { + "type": "integer" }, - "status": { - "$ref": "#/components/schemas/TaskStatusEnum" - } - } - }, - "PostVirtualMachineShutdown200ResponseTask": { - "type": "object", - "properties": { - "id": { - "type": "string" + "total_size": { + "type": "number", + "format": "float" }, - "name": { - "type": "string" + "target": { + "$ref": "#/components/schemas/DiskBackupPolicyTarget" }, - "status": { - "$ref": "#/components/schemas/TaskStatusEnum" + "schedule": { + "$ref": "#/components/schemas/Schedule" + }, + "auto_move_to_trash_at": { + "type": "integer", + "nullable": true } } }, - "PostVirtualMachineReset200ResponseTask": { + "Schedule": { "type": "object", "properties": { - "id": { - "type": "string" + "frequency": { + "type": "integer" }, - "name": { - "type": "string" + "interval": { + "$ref": "#/components/schemas/ScheduleIntervalTypeEnum" }, - "status": { - "$ref": "#/components/schemas/TaskStatusEnum" + "minute": { + "type": "integer" + }, + "next_invocation_at": { + "type": "integer" + }, + "time": { + "type": "integer" } } }, - "PostVirtualMachineConsoleSessions201ResponseConsoleSession": { + "DiskBackupPolicyNotFoundEnum": { + "type": "string", + "enum": [ + "disk_backup_policy_not_found" + ] + }, + "DiskBackupPolicyLookup": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "url": { - "type": "string" - }, - "expires_at": { - "type": "integer" - }, - "virtual_machine": { - "$ref": "#/components/schemas/PostVirtualMachineConsoleSessionsPartVirtualMachine" + "id": { + "type": "string" } } }, - "PostVirtualMachineConsoleSessionsPartVirtualMachine": { + "DeleteDiskBackupPolicy200ResponseDiskBackupPolicy": { "type": "object", "properties": { "id": { "type": "string" - }, - "name": { - "type": "string" - }, - "hostname": { - "type": "string" - }, - "fqdn": { - "type": "string" - }, - "state": { - "$ref": "#/components/schemas/VirtualMachineStateEnum" } } }, - "VirtualMachineMustBeStarted": { + "DeleteDiskBackupPolicySchedule200ResponseDiskBackupPolicy": { "type": "object", "properties": { - "current_state": { + "id": { "type": "string" + }, + "target": { + "$ref": "#/components/schemas/DiskBackupPolicyTarget" + }, + "auto_move_to_trash_at": { + "type": "integer", + "nullable": true } } }, - "VirtualMachineMustBeStartedEnum": { + "InvalidTimestampEnum": { "type": "string", "enum": [ - "virtual_machine_must_be_started" + "invalid_timestamp" ] }, - "VirtualMachineMustBeStartedSchema": { + "InvalidTimestampSchema": { "type": "object", - "description": "Virtual machines must be in a started state to create console sessions", + "description": "Timestamp must be at least 5 minutes in the future. If you want to delete something immediately, you use can use the delete endpoint.", "properties": { "code": { - "$ref": "#/components/schemas/VirtualMachineMustBeStartedEnum" + "$ref": "#/components/schemas/InvalidTimestampEnum" }, "description": { "type": "string" }, "detail": { - "$ref": "#/components/schemas/VirtualMachineMustBeStarted" + "type": "object" } } }, - "OneOfObjectInTrashVirtualMachineMustBeStarted406Res": { + "OneOfInvalidTimestamp400Res": { "oneOf": [ { - "$ref": "#/components/schemas/ObjectInTrashSchema" + "$ref": "#/components/schemas/APIAuthenticator400Schema" }, { - "$ref": "#/components/schemas/VirtualMachineMustBeStartedSchema" + "$ref": "#/components/schemas/InvalidTimestampSchema" } ] }, - "AuthSSHKey": { + "DiskBackupPolicyArguments": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" + "retention": { + "type": "integer" }, - "fingerprint": { - "type": "string" + "schedule": { + "$ref": "#/components/schemas/ScheduleArguments" } } }, - "AuthSSHKeyProperties": { - "description": "All 'ssh_key[]' params are mutually exclusive, only one can be provided.", + "ScheduleArguments": { "type": "object", "properties": { - "name": { - "type": "string" + "frequency": { + "type": "integer" }, - "key": { - "type": "string" + "interval": { + "$ref": "#/components/schemas/ScheduleIntervalTypeEnum" + }, + "minute": { + "type": "integer" + }, + "time": { + "type": "integer" } } }, - "AuthSSHKeyLookup": { - "description": "All 'ssh_key[]' params are mutually exclusive, only one can be provided.", + "PatchDiskBackupPolicy200ResponseDiskBackupPolicy": { "type": "object", "properties": { "id": { "type": "string" + }, + "retention": { + "type": "integer" + }, + "target": { + "$ref": "#/components/schemas/DiskBackupPolicyTarget" + }, + "schedule": { + "type": "object" } } }, - "SSHKeyNotFoundEnum": { - "type": "string", - "enum": [ - "ssh_key_not_found" - ] - }, - "DeletionRestricted": { - "properties": { - "errors": { - "type": "array", - "items": { - "type": "string", - "description": "asd" - } - } - } - }, - "DeletionRestrictedEnum": { - "type": "string", - "enum": [ - "deletion_restricted" - ] - }, - "APIToken": { + "PostVirtualMachineDiskBackupPolicies200ResponseDiskBackupPolicy": { "type": "object", "properties": { "id": { "type": "string" }, - "name": { - "type": "string" + "retention": { + "type": "integer" }, - "organization_id": { - "type": "string", - "nullable": true + "total_size": { + "type": "number", + "format": "float" }, - "authorized_ip_addresses": { - "type": "array", - "items": { - "type": "string" - } + "target": { + "$ref": "#/components/schemas/DiskBackupPolicyTarget" }, - "expires_at": { + "schedule": { + "$ref": "#/components/schemas/Schedule" + }, + "auto_move_to_trash_at": { "type": "integer", "nullable": true + } + } + }, + "PostDiskDiskBackupPolicies200ResponseDiskBackupPolicy": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - "rate_limit": { + "retention": { "type": "integer" }, - "scopes": { - "type": "array", - "items": { - "type": "string" - } + "total_size": { + "type": "number", + "format": "float" }, - "secret": { - "type": "string", - "description": "The secret will only be returned on token creation or when a new secret is generated.", + "target": { + "$ref": "#/components/schemas/DiskBackupPolicyTarget" + }, + "schedule": { + "$ref": "#/components/schemas/Schedule" + }, + "auto_move_to_trash_at": { + "type": "integer", "nullable": true } } }, - "APITokenArguments": { - "description": "All 'properties[]' params are mutually exclusive, only one can be provided.", + "DNSZone": { "type": "object", "properties": { - "name": { + "id": { "type": "string" }, - "authorized_ip_addresses": { - "type": "array", - "items": { - "type": "string" - } + "name": { + "type": "string" }, - "expires_at": { + "default_ttl": { "type": "integer" }, - "scopes": { - "type": "array", - "items": { - "type": "string" - } + "verified": { + "type": "boolean" } } }, - "APITokenLookup": { - "description": "All 'api_token[]' params are mutually exclusive, only one can be provided.", + "DNSZoneArguments": { "type": "object", "properties": { - "id": { - "type": "string" + "name": { + "type": "string", + "description": "The name of the zone (only available for creation)" + }, + "default_ttl": { + "type": "integer" } } }, - "APITokenNotFoundEnum": { + "DNSZoneNotFoundEnum": { "type": "string", "enum": [ - "api_token_not_found" + "dns_zone_not_found" ] }, - "DeleteAPIToken200ResponseAPIToken": { + "DNSZoneLookup": { + "description": "All 'dns_zone[]' params are mutually exclusive, only one can be provided.", "type": "object", "properties": { "id": { @@ -20147,1114 +21807,1059 @@ } } }, - "GetOrganizationDiskBackupPolicies200ResponseDiskBackupPolicies": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "retention": { - "type": "integer" - }, - "total_size": { - "type": "number", - "format": "float" - }, - "target": { - "$ref": "#/components/schemas/DiskBackupPolicyTarget" - }, - "schedule": { - "$ref": "#/components/schemas/GetOrganizationDiskBackupPoliciesPartSchedule" - } - } - }, - "DiskBackupPolicyTarget": { - "type": "object", - "properties": { - "target": { - "oneOf": [ - { - "$ref": "#/components/schemas/VirtualMachine" - }, - { - "$ref": "#/components/schemas/Disk" - } - ] - } - } + "DNSZoneNotVerifiedEnum": { + "type": "string", + "enum": [ + "dns_zone_not_verified" + ] }, - "VirtualMachine": { + "DNSRecord": { "type": "object", "properties": { "id": { "type": "string" }, "name": { - "type": "string" - }, - "hostname": { - "type": "string" - }, - "fqdn": { - "type": "string" - }, - "description": { - "type": "string", - "nullable": true - }, - "created_at": { - "type": "integer" - }, - "initial_root_password": { "type": "string", "nullable": true }, - "state": { - "$ref": "#/components/schemas/VirtualMachineStateEnum" + "full_name": { + "type": "string" }, - "zone": { - "$ref": "#/components/schemas/Zone" + "ttl": { + "type": "integer", + "nullable": true }, - "organization": { - "$ref": "#/components/schemas/Organization" + "type": { + "$ref": "#/components/schemas/DNSRecordTypesEnum" }, - "group": { + "priority": { + "type": "integer", + "nullable": true + }, + "content": { + "type": "string" + }, + "content_attributes": { + "$ref": "#/components/schemas/DNSRecordContentAttributes" + } + } + }, + "DNSRecordTypesEnum": { + "type": "string", + "enum": [ + "A", + "AAAA", + "ALIAS", + "CAA", + "CNAME", + "IPS", + "MX", + "NS", + "PTR", + "SOA", + "SRV", + "SSHFP", + "TXT", + "VirtualMachine" + ] + }, + "DNSRecordContentAttributes": { + "type": "object", + "properties": { + "A": { "allOf": [ { - "$ref": "#/components/schemas/VirtualMachineGroup" + "$ref": "#/components/schemas/RecordContentAttributesForA" } ], "nullable": true }, - "package": { + "AAAA": { "allOf": [ { - "$ref": "#/components/schemas/VirtualMachinePackage" + "$ref": "#/components/schemas/RecordContentAttributesForAAAA" } ], "nullable": true }, - "attached_iso": { + "ALIAS": { "allOf": [ { - "$ref": "#/components/schemas/ISO" + "$ref": "#/components/schemas/RecordContentAttributesForALIAS" } ], "nullable": true }, - "memory_in_gb": { - "type": "integer", + "CAA": { + "allOf": [ + { + "$ref": "#/components/schemas/RecordContentAttributesForCAA" + } + ], "nullable": true }, - "cpu_cores": { - "type": "integer", + "CNAME": { + "allOf": [ + { + "$ref": "#/components/schemas/RecordContentAttributesForCNAME" + } + ], "nullable": true }, - "use_dedicated_cpus": { - "type": "boolean", + "IPS": { + "allOf": [ + { + "$ref": "#/components/schemas/RecordContentAttributesForIPS" + } + ], "nullable": true }, - "gpu_type": { + "MX": { "allOf": [ { - "$ref": "#/components/schemas/GPUType" + "$ref": "#/components/schemas/RecordContentAttributesForMX" } ], "nullable": true }, - "gpus": { - "type": "array", - "items": { - "$ref": "#/components/schemas/VirtualMachineGPU" - } - }, - "tags": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Tag" - } - }, - "tag_names": { - "type": "array", - "items": { - "type": "string" - } - }, - "ip_addresses": { - "type": "array", - "items": { - "$ref": "#/components/schemas/IPAddress" - } - }, - "hypervisor": { + "NS": { "allOf": [ { - "$ref": "#/components/schemas/Hypervisor" + "$ref": "#/components/schemas/RecordContentAttributesForNS" } ], "nullable": true - } - } - }, - "Disk": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "size_in_gb": { - "type": "integer" - }, - "wwn": { - "type": "string" }, - "state": { - "$ref": "#/components/schemas/DiskStateEnum" - }, - "created_at": { - "type": "integer" + "PTR": { + "allOf": [ + { + "$ref": "#/components/schemas/RecordContentAttributesForPTR" + } + ], + "nullable": true }, - "storage_speed": { - "$ref": "#/components/schemas/StorageSpeedEnum" + "SOA": { + "type": "object", + "nullable": true }, - "io_profile": { + "SRV": { "allOf": [ { - "$ref": "#/components/schemas/DiskIOProfile" + "$ref": "#/components/schemas/RecordContentAttributesForSRV" } ], "nullable": true }, - "bus_type": { + "SSHFP": { "allOf": [ { - "$ref": "#/components/schemas/DiskBusEnum" + "$ref": "#/components/schemas/RecordContentAttributesForSSHFP" } ], "nullable": true }, - "data_center": { - "$ref": "#/components/schemas/DataCenter" - }, - "virtual_machine_disk": { + "TXT": { "allOf": [ { - "$ref": "#/components/schemas/VirtualMachineDisk" + "$ref": "#/components/schemas/RecordContentAttributesForTXT" } ], "nullable": true }, - "installation": { + "VirtualMachine": { "allOf": [ { - "$ref": "#/components/schemas/DiskInstallation" + "$ref": "#/components/schemas/RecordContentAttributesForVirtualMachine" } ], "nullable": true } } }, - "VirtualMachineDisk": { - "type": "object", - "properties": { - "virtual_machine": { - "$ref": "#/components/schemas/VirtualMachine" - }, - "disk": { - "$ref": "#/components/schemas/Disk" - }, - "attach_on_boot": { - "type": "boolean" - }, - "boot": { - "type": "boolean" - }, - "state": { - "$ref": "#/components/schemas/VirtualMachineDiskAttachmentStateEnum" - } - } - }, - "GetOrganizationDiskBackupPoliciesPartSchedule": { - "type": "object", - "properties": { - "interval": { - "$ref": "#/components/schemas/ScheduleIntervalTypeEnum" - }, - "next_invocation_at": { - "type": "integer" - } - } - }, - "ScheduleIntervalTypeEnum": { - "type": "string", - "enum": [ - "hourly", - "daily", - "weekly", - "monthly" - ] - }, - "GetVirtualMachineDiskBackupPolicies200ResponseDiskBackupPolicies": { + "RecordContentAttributesForA": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "retention": { - "type": "integer" - }, - "total_size": { - "type": "number", - "format": "float" - }, - "target": { - "$ref": "#/components/schemas/DiskBackupPolicyTarget" - }, - "schedule": { - "$ref": "#/components/schemas/GetVirtualMachineDiskBackupPoliciesPartSchedule" + "ip_address": { + "type": "string", + "nullable": true } } }, - "GetVirtualMachineDiskBackupPoliciesPartSchedule": { + "RecordContentAttributesForAAAA": { "type": "object", "properties": { - "interval": { - "$ref": "#/components/schemas/ScheduleIntervalTypeEnum" - }, - "next_invocation_at": { - "type": "integer" + "ip_address": { + "type": "string", + "nullable": true } } }, - "GetDiskDiskBackupPolicies200ResponseDiskBackupPolicies": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "retention": { - "type": "integer" - }, - "total_size": { - "type": "number", - "format": "float" - }, - "target": { - "$ref": "#/components/schemas/DiskBackupPolicyTarget" - }, - "schedule": { - "$ref": "#/components/schemas/GetDiskDiskBackupPoliciesPartSchedule" + "RecordContentAttributesForALIAS": { + "type": "object", + "properties": { + "hostname": { + "type": "string", + "nullable": true } } }, - "GetDiskDiskBackupPoliciesPartSchedule": { + "RecordContentAttributesForCAA": { "type": "object", "properties": { - "interval": { - "$ref": "#/components/schemas/ScheduleIntervalTypeEnum" + "flag": { + "type": "string", + "nullable": true }, - "next_invocation_at": { - "type": "integer" + "tag": { + "type": "string", + "nullable": true + }, + "value": { + "type": "string", + "nullable": true } } }, - "GetDiskBackupPolicy200ResponseDiskBackupPolicy": { + "RecordContentAttributesForCNAME": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "retention": { - "type": "integer" - }, - "total_size": { - "type": "number", - "format": "float" - }, - "target": { - "$ref": "#/components/schemas/DiskBackupPolicyTarget" - }, - "schedule": { - "$ref": "#/components/schemas/Schedule" - }, - "auto_move_to_trash_at": { - "type": "integer", + "hostname": { + "type": "string", "nullable": true } } }, - "Schedule": { + "RecordContentAttributesForIPS": { "type": "object", "properties": { - "frequency": { - "type": "integer" - }, - "interval": { - "$ref": "#/components/schemas/ScheduleIntervalTypeEnum" - }, - "minute": { - "type": "integer" - }, - "next_invocation_at": { - "type": "integer" - }, - "time": { - "type": "integer" + "ip_addresses": { + "type": "string", + "nullable": true } } }, - "DiskBackupPolicyNotFoundEnum": { - "type": "string", - "enum": [ - "disk_backup_policy_not_found" - ] + "RecordContentAttributesForMX": { + "type": "object", + "properties": { + "hostname": { + "type": "string", + "nullable": true + } + } }, - "DiskBackupPolicyLookup": { - "description": "All 'disk_backup_policy[]' params are mutually exclusive, only one can be provided.", + "RecordContentAttributesForNS": { "type": "object", "properties": { - "id": { - "type": "string" + "hostname": { + "type": "string", + "nullable": true } } }, - "DeleteDiskBackupPolicy200ResponseDiskBackupPolicy": { + "RecordContentAttributesForPTR": { "type": "object", "properties": { - "id": { - "type": "string" + "hostname": { + "type": "string", + "nullable": true } } }, - "DeleteDiskBackupPolicySchedule200ResponseDiskBackupPolicy": { + "RecordContentAttributesForSRV": { "type": "object", "properties": { - "id": { - "type": "string" + "weight": { + "type": "string", + "nullable": true }, - "target": { - "$ref": "#/components/schemas/DiskBackupPolicyTarget" + "port": { + "type": "string", + "nullable": true }, - "auto_move_to_trash_at": { - "type": "integer", + "target": { + "type": "string", "nullable": true } } }, - "InvalidTimestampEnum": { - "type": "string", - "enum": [ - "invalid_timestamp" - ] - }, - "InvalidTimestampSchema": { + "RecordContentAttributesForSSHFP": { "type": "object", - "description": "Timestamp must be at least 5 minutes in the future. If you want to delete something immediately, you use can use the delete endpoint.", "properties": { - "code": { - "$ref": "#/components/schemas/InvalidTimestampEnum" + "algorithm": { + "type": "string", + "nullable": true }, - "description": { - "type": "string" + "fingerprint_type": { + "type": "string", + "nullable": true }, - "detail": { - "type": "object" + "fingerprint": { + "type": "string", + "nullable": true } } }, - "OneOfInvalidTimestamp400Res": { - "oneOf": [ - { - "$ref": "#/components/schemas/APIAuthenticator400Schema" - }, - { - "$ref": "#/components/schemas/InvalidTimestampSchema" + "RecordContentAttributesForTXT": { + "type": "object", + "properties": { + "content": { + "type": "string", + "nullable": true } - ] + } }, - "DiskBackupPolicyArguments": { - "description": "All 'properties[]' params are mutually exclusive, only one can be provided.", + "RecordContentAttributesForVirtualMachine": { "type": "object", "properties": { - "retention": { - "type": "integer" - }, - "schedule": { - "$ref": "#/components/schemas/ScheduleArguments" + "virtual_machine": { + "type": "string", + "nullable": true } } }, - "ScheduleArguments": { - "description": "All 'schedule[]' params are mutually exclusive, only one can be provided.", + "DNSRecordArguments": { "type": "object", "properties": { - "frequency": { - "type": "integer" + "name": { + "type": "string", + "description": "The name of the record" }, - "interval": { - "$ref": "#/components/schemas/ScheduleIntervalTypeEnum" + "type": { + "$ref": "#/components/schemas/DNSRecordTypesEnum" }, - "minute": { + "ttl": { "type": "integer" }, - "time": { + "priority": { "type": "integer" + }, + "content": { + "$ref": "#/components/schemas/DNSRecordContentArguments" } } }, - "PatchDiskBackupPolicy200ResponseDiskBackupPolicy": { + "DNSRecordContentArguments": { "type": "object", "properties": { - "id": { - "type": "string" + "A": { + "$ref": "#/components/schemas/DNSRecordContentArgumentsForA" }, - "retention": { - "type": "integer" + "AAAA": { + "$ref": "#/components/schemas/DNSRecordContentArgumentsForAAAA" }, - "target": { - "$ref": "#/components/schemas/DiskBackupPolicyTarget" + "ALIAS": { + "$ref": "#/components/schemas/DNSRecordContentArgumentsForALIAS" }, - "schedule": { + "CAA": { + "$ref": "#/components/schemas/DNSRecordContentArgumentsForCAA" + }, + "CNAME": { + "$ref": "#/components/schemas/DNSRecordContentArgumentsForCNAME" + }, + "IPS": { + "$ref": "#/components/schemas/DNSRecordContentArgumentsForIPS" + }, + "MX": { + "$ref": "#/components/schemas/DNSRecordContentArgumentsForMX" + }, + "NS": { + "$ref": "#/components/schemas/DNSRecordContentArgumentsForNS" + }, + "PTR": { + "$ref": "#/components/schemas/DNSRecordContentArgumentsForPTR" + }, + "SOA": { "type": "object" + }, + "SRV": { + "$ref": "#/components/schemas/DNSRecordContentArgumentsForSRV" + }, + "SSHFP": { + "$ref": "#/components/schemas/DNSRecordContentArgumentsForSSHFP" + }, + "TXT": { + "$ref": "#/components/schemas/DNSRecordContentArgumentsForTXT" + }, + "VirtualMachine": { + "$ref": "#/components/schemas/DNSRecordContentArgumentsForVirtualMachine" } } }, - "PostVirtualMachineDiskBackupPolicies200ResponseDiskBackupPolicy": { + "DNSRecordContentArgumentsForA": { "type": "object", "properties": { - "id": { + "ip_address": { + "type": "string" + } + } + }, + "DNSRecordContentArgumentsForAAAA": { + "type": "object", + "properties": { + "ip_address": { + "type": "string" + } + } + }, + "DNSRecordContentArgumentsForALIAS": { + "type": "object", + "properties": { + "hostname": { "type": "string" - }, - "retention": { - "type": "integer" - }, - "total_size": { - "type": "number", - "format": "float" - }, - "target": { - "$ref": "#/components/schemas/DiskBackupPolicyTarget" - }, - "schedule": { - "$ref": "#/components/schemas/Schedule" - }, - "auto_move_to_trash_at": { - "type": "integer", - "nullable": true } } }, - "PostDiskDiskBackupPolicies200ResponseDiskBackupPolicy": { + "DNSRecordContentArgumentsForCAA": { "type": "object", "properties": { - "id": { + "flag": { "type": "string" }, - "retention": { - "type": "integer" - }, - "total_size": { - "type": "number", - "format": "float" - }, - "target": { - "$ref": "#/components/schemas/DiskBackupPolicyTarget" - }, - "schedule": { - "$ref": "#/components/schemas/Schedule" + "tag": { + "type": "string" }, - "auto_move_to_trash_at": { - "type": "integer", - "nullable": true + "value": { + "type": "string" } } }, - "DNSZone": { + "DNSRecordContentArgumentsForCNAME": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "name": { + "hostname": { "type": "string" - }, - "default_ttl": { - "type": "integer" - }, - "verified": { - "type": "boolean" } } }, - "DNSZoneArguments": { - "description": "All 'properties[]' params are mutually exclusive, only one can be provided.", + "DNSRecordContentArgumentsForIPS": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The name of the zone (only available for creation)" - }, - "default_ttl": { - "type": "integer" + "ip_addresses": { + "type": "string" } } }, - "DNSZoneNotFoundEnum": { - "type": "string", - "enum": [ - "dns_zone_not_found" - ] - }, - "DNSZoneLookup": { - "description": "All 'dns_zone[]' params are mutually exclusive, only one can be provided.", + "DNSRecordContentArgumentsForMX": { "type": "object", "properties": { - "id": { + "hostname": { "type": "string" - }, - "name": { + } + } + }, + "DNSRecordContentArgumentsForNS": { + "type": "object", + "properties": { + "hostname": { "type": "string" } } }, - "DNSZoneNotVerifiedEnum": { - "type": "string", - "enum": [ - "dns_zone_not_verified" - ] + "DNSRecordContentArgumentsForPTR": { + "type": "object", + "properties": { + "hostname": { + "type": "string" + } + } }, - "DNSRecord": { + "DNSRecordContentArgumentsForSRV": { "type": "object", "properties": { - "id": { + "weight": { "type": "string" }, - "name": { - "type": "string", - "nullable": true - }, - "full_name": { + "port": { "type": "string" }, - "ttl": { - "type": "integer", - "nullable": true - }, - "type": { - "$ref": "#/components/schemas/DNSRecordTypesEnum" - }, - "priority": { - "type": "integer", - "nullable": true - }, - "content": { + "target": { "type": "string" - }, - "content_attributes": { - "$ref": "#/components/schemas/DNSRecordContentAttributes" } } }, - "DNSRecordTypesEnum": { - "type": "string", - "enum": [ - "A", - "AAAA", - "ALIAS", - "CAA", - "CNAME", - "IPS", - "MX", - "NS", - "PTR", - "SOA", - "SRV", - "SSHFP", - "TXT", - "VirtualMachine" - ] - }, - "DNSRecordContentAttributes": { + "DNSRecordContentArgumentsForSSHFP": { "type": "object", "properties": { - "A": { - "allOf": [ - { - "$ref": "#/components/schemas/RecordContentAttributesForA" - } - ], - "nullable": true - }, - "AAAA": { - "allOf": [ - { - "$ref": "#/components/schemas/RecordContentAttributesForAAAA" - } - ], - "nullable": true - }, - "ALIAS": { - "allOf": [ - { - "$ref": "#/components/schemas/RecordContentAttributesForALIAS" - } - ], - "nullable": true - }, - "CAA": { - "allOf": [ - { - "$ref": "#/components/schemas/RecordContentAttributesForCAA" - } - ], - "nullable": true - }, - "CNAME": { - "allOf": [ - { - "$ref": "#/components/schemas/RecordContentAttributesForCNAME" - } - ], - "nullable": true - }, - "IPS": { - "allOf": [ - { - "$ref": "#/components/schemas/RecordContentAttributesForIPS" - } - ], - "nullable": true - }, - "MX": { - "allOf": [ - { - "$ref": "#/components/schemas/RecordContentAttributesForMX" - } - ], - "nullable": true - }, - "NS": { - "allOf": [ - { - "$ref": "#/components/schemas/RecordContentAttributesForNS" - } - ], - "nullable": true - }, - "PTR": { - "allOf": [ - { - "$ref": "#/components/schemas/RecordContentAttributesForPTR" - } - ], - "nullable": true - }, - "SOA": { - "type": "object", - "nullable": true - }, - "SRV": { - "allOf": [ - { - "$ref": "#/components/schemas/RecordContentAttributesForSRV" - } - ], - "nullable": true - }, - "SSHFP": { - "allOf": [ - { - "$ref": "#/components/schemas/RecordContentAttributesForSSHFP" - } - ], - "nullable": true + "algorithm": { + "type": "string" }, - "TXT": { - "allOf": [ - { - "$ref": "#/components/schemas/RecordContentAttributesForTXT" - } - ], - "nullable": true + "fingerprint_type": { + "type": "string" }, - "VirtualMachine": { - "allOf": [ - { - "$ref": "#/components/schemas/RecordContentAttributesForVirtualMachine" - } - ], - "nullable": true + "fingerprint": { + "type": "string" } } }, - "RecordContentAttributesForA": { + "DNSRecordContentArgumentsForTXT": { "type": "object", "properties": { - "ip_address": { - "type": "string", - "nullable": true + "content": { + "type": "string" } } }, - "RecordContentAttributesForAAAA": { + "DNSRecordContentArgumentsForVirtualMachine": { "type": "object", "properties": { - "ip_address": { - "type": "string", - "nullable": true + "virtual_machine": { + "type": "string" } } }, - "RecordContentAttributesForALIAS": { + "DNSRecordNotFoundEnum": { + "type": "string", + "enum": [ + "dns_record_not_found" + ] + }, + "DNSRecordLookup": { "type": "object", "properties": { - "hostname": { - "type": "string", - "nullable": true + "id": { + "type": "string" } } }, - "RecordContentAttributesForCAA": { + "SecurityGroup": { "type": "object", "properties": { - "flag": { - "type": "string", - "nullable": true + "id": { + "type": "string" }, - "tag": { - "type": "string", - "nullable": true + "name": { + "type": "string" }, - "value": { - "type": "string", - "nullable": true + "allow_all_inbound": { + "type": "boolean" + }, + "allow_all_outbound": { + "type": "boolean" + }, + "associations": { + "type": "array", + "items": { + "type": "string" + } } } }, - "RecordContentAttributesForCNAME": { + "SecurityGroupArguments": { "type": "object", "properties": { - "hostname": { - "type": "string", - "nullable": true + "name": { + "type": "string" + }, + "allow_all_inbound": { + "type": "boolean" + }, + "allow_all_outbound": { + "type": "boolean" + }, + "associations": { + "type": "array", + "items": { + "type": "string", + "description": "Supply references to virtual machines, virtual machine groups or tags." + } } } }, - "RecordContentAttributesForIPS": { + "SecurityGroupNotFoundEnum": { + "type": "string", + "enum": [ + "security_group_not_found" + ] + }, + "SecurityGroupLookup": { "type": "object", "properties": { - "ip_addresses": { - "type": "string", - "nullable": true + "id": { + "type": "string" } } }, - "RecordContentAttributesForMX": { + "DeleteSecurityGroup200ResponseSecurityGroup": { "type": "object", "properties": { - "hostname": { - "type": "string", - "nullable": true + "id": { + "type": "string" + }, + "name": { + "type": "string" } } }, - "RecordContentAttributesForNS": { + "GetSecurityGroupRules200ResponseSecurityGroupRules": { "type": "object", "properties": { - "hostname": { + "id": { + "type": "string" + }, + "direction": { + "$ref": "#/components/schemas/SecurityGroupRuleDirectionEnum" + }, + "protocol": { + "$ref": "#/components/schemas/SecurityGroupRuleProtocolEnum" + }, + "action": { + "$ref": "#/components/schemas/SecurityGroupRuleActionEnum" + }, + "ports": { + "type": "string", + "nullable": true + }, + "targets": { + "type": "array", + "items": { + "type": "string" + } + }, + "notes": { "type": "string", "nullable": true } } }, - "RecordContentAttributesForPTR": { + "SecurityGroupRuleDirectionEnum": { + "type": "string", + "enum": [ + "inbound", + "outbound" + ] + }, + "SecurityGroupRuleProtocolEnum": { + "type": "string", + "enum": [ + "TCP", + "UDP", + "ICMP" + ] + }, + "SecurityGroupRuleActionEnum": { + "type": "string", + "enum": [ + "allow", + "deny" + ] + }, + "SecurityGroupRuleArguments": { "type": "object", "properties": { - "hostname": { + "direction": { + "$ref": "#/components/schemas/SecurityGroupRuleDirectionEnum" + }, + "protocol": { + "$ref": "#/components/schemas/SecurityGroupRuleProtocolEnum" + }, + "action": { + "$ref": "#/components/schemas/SecurityGroupRuleActionEnum" + }, + "ports": { "type": "string", - "nullable": true + "description": "Either single port (ie. 80), multi-port (ie. 80,443) or range (ie. 2000-3000)." + }, + "targets": { + "type": "array", + "items": { + "type": "string", + "description": "Supply references to virtual machines, virtual machine groups, tags or custom IP addresses." + } + }, + "notes": { + "type": "string" } } }, - "RecordContentAttributesForSRV": { + "PostSecurityGroupRules200ResponseSecurityGroupRule": { "type": "object", "properties": { - "weight": { - "type": "string", - "nullable": true + "id": { + "type": "string" }, - "port": { + "security_group": { + "$ref": "#/components/schemas/PostSecurityGroupRulesPartSecurityGroup" + }, + "direction": { + "$ref": "#/components/schemas/SecurityGroupRuleDirectionEnum" + }, + "protocol": { + "$ref": "#/components/schemas/SecurityGroupRuleProtocolEnum" + }, + "action": { + "$ref": "#/components/schemas/SecurityGroupRuleActionEnum" + }, + "ports": { "type": "string", "nullable": true }, - "target": { + "targets": { + "type": "array", + "items": { + "type": "string" + } + }, + "notes": { "type": "string", "nullable": true } } }, - "RecordContentAttributesForSSHFP": { + "PostSecurityGroupRulesPartSecurityGroup": { "type": "object", "properties": { - "algorithm": { - "type": "string", - "nullable": true - }, - "fingerprint_type": { - "type": "string", - "nullable": true + "id": { + "type": "string" }, - "fingerprint": { - "type": "string", - "nullable": true + "name": { + "type": "string" } } }, - "RecordContentAttributesForTXT": { + "GetSecurityGroupsRulesSecurityGroupRule200ResponseSecurityGroupRule": { "type": "object", "properties": { - "content": { + "id": { + "type": "string" + }, + "security_group": { + "$ref": "#/components/schemas/GetSecurityGroupsRulesSecurityGroupRulePartSecurityGroup" + }, + "direction": { + "$ref": "#/components/schemas/SecurityGroupRuleDirectionEnum" + }, + "protocol": { + "$ref": "#/components/schemas/SecurityGroupRuleProtocolEnum" + }, + "action": { + "$ref": "#/components/schemas/SecurityGroupRuleActionEnum" + }, + "ports": { + "type": "string", + "nullable": true + }, + "targets": { + "type": "array", + "items": { + "type": "string" + } + }, + "notes": { "type": "string", "nullable": true } } }, - "RecordContentAttributesForVirtualMachine": { + "GetSecurityGroupsRulesSecurityGroupRulePartSecurityGroup": { "type": "object", "properties": { - "virtual_machine": { - "type": "string", - "nullable": true + "id": { + "type": "string" + }, + "name": { + "type": "string" } } }, - "DNSRecordArguments": { - "description": "All 'properties[]' params are mutually exclusive, only one can be provided.", + "SecurityGroupRuleNotFoundEnum": { + "type": "string", + "enum": [ + "security_group_rule_not_found" + ] + }, + "SecurityGroupRuleLookup": { "type": "object", "properties": { - "name": { - "type": "string", - "description": "The name of the record" - }, - "type": { - "$ref": "#/components/schemas/DNSRecordTypesEnum" - }, - "ttl": { - "type": "integer" - }, - "priority": { - "type": "integer" - }, - "content": { - "$ref": "#/components/schemas/DNSRecordContentArguments" + "id": { + "type": "string" } } }, - "DNSRecordContentArguments": { - "description": "All 'content[]' params are mutually exclusive, only one can be provided.", + "PatchSecurityGroupsRulesSecurityGroupRule200ResponseSecurityGroupRule": { "type": "object", "properties": { - "A": { - "$ref": "#/components/schemas/DNSRecordContentArgumentsForA" - }, - "AAAA": { - "$ref": "#/components/schemas/DNSRecordContentArgumentsForAAAA" - }, - "ALIAS": { - "$ref": "#/components/schemas/DNSRecordContentArgumentsForALIAS" - }, - "CAA": { - "$ref": "#/components/schemas/DNSRecordContentArgumentsForCAA" - }, - "CNAME": { - "$ref": "#/components/schemas/DNSRecordContentArgumentsForCNAME" - }, - "IPS": { - "$ref": "#/components/schemas/DNSRecordContentArgumentsForIPS" - }, - "MX": { - "$ref": "#/components/schemas/DNSRecordContentArgumentsForMX" + "id": { + "type": "string" }, - "NS": { - "$ref": "#/components/schemas/DNSRecordContentArgumentsForNS" + "security_group": { + "$ref": "#/components/schemas/PatchSecurityGroupsRulesSecurityGroupRulePartSecurityGroup" }, - "PTR": { - "$ref": "#/components/schemas/DNSRecordContentArgumentsForPTR" + "direction": { + "$ref": "#/components/schemas/SecurityGroupRuleDirectionEnum" }, - "SOA": { - "$ref": "#/components/schemas/DNSRecordContentArgumentsForSOA" + "protocol": { + "$ref": "#/components/schemas/SecurityGroupRuleProtocolEnum" }, - "SRV": { - "$ref": "#/components/schemas/DNSRecordContentArgumentsForSRV" + "action": { + "$ref": "#/components/schemas/SecurityGroupRuleActionEnum" }, - "SSHFP": { - "$ref": "#/components/schemas/DNSRecordContentArgumentsForSSHFP" + "ports": { + "type": "string", + "nullable": true }, - "TXT": { - "$ref": "#/components/schemas/DNSRecordContentArgumentsForTXT" + "targets": { + "type": "array", + "items": { + "type": "string" + } }, - "VirtualMachine": { - "$ref": "#/components/schemas/DNSRecordContentArgumentsForVirtualMachine" + "notes": { + "type": "string", + "nullable": true } } }, - "DNSRecordContentArgumentsForA": { - "description": "All 'A[]' params are mutually exclusive, only one can be provided.", + "PatchSecurityGroupsRulesSecurityGroupRulePartSecurityGroup": { "type": "object", "properties": { - "ip_address": { + "id": { + "type": "string" + }, + "name": { "type": "string" } } }, - "DNSRecordContentArgumentsForAAAA": { - "description": "All 'AAAA[]' params are mutually exclusive, only one can be provided.", + "DeleteSecurityGroupsRulesSecurityGroupRule200ResponseSecurityGroupRule": { "type": "object", "properties": { - "ip_address": { + "id": { "type": "string" } } }, - "DNSRecordContentArgumentsForALIAS": { - "description": "All 'ALIAS[]' params are mutually exclusive, only one can be provided.", + "GetOrganizationFileStorageVolumes200ResponseFileStorageVolumes": { "type": "object", "properties": { - "hostname": { + "id": { + "type": "string" + }, + "name": { "type": "string" + }, + "data_center": { + "$ref": "#/components/schemas/GetOrganizationFileStorageVolumesPartDataCenter" + }, + "associations": { + "type": "array", + "items": { + "type": "string" + } + }, + "state": { + "$ref": "#/components/schemas/FileStorageVolumeStateEnum" + }, + "nfs_location": { + "type": "string", + "description": "The NFS location of where to mount the volume from.", + "nullable": true + }, + "size": { + "type": "integer", + "description": "The size of the volume in bytes.", + "nullable": true } } }, - "DNSRecordContentArgumentsForCAA": { - "description": "All 'CAA[]' params are mutually exclusive, only one can be provided.", + "GetOrganizationFileStorageVolumesPartDataCenter": { "type": "object", "properties": { - "flag": { + "id": { "type": "string" }, - "tag": { + "name": { "type": "string" }, - "value": { + "permalink": { "type": "string" } } }, - "DNSRecordContentArgumentsForCNAME": { - "description": "All 'CNAME[]' params are mutually exclusive, only one can be provided.", + "FileStorageVolumeStateEnum": { + "type": "string", + "enum": [ + "pending", + "failed", + "ready", + "configuring" + ] + }, + "GetFileStorageVolume200ResponseFileStorageVolume": { "type": "object", "properties": { - "hostname": { + "id": { + "type": "string" + }, + "name": { "type": "string" + }, + "data_center": { + "$ref": "#/components/schemas/GetFileStorageVolumePartDataCenter" + }, + "associations": { + "type": "array", + "items": { + "type": "string" + } + }, + "state": { + "$ref": "#/components/schemas/FileStorageVolumeStateEnum" + }, + "nfs_location": { + "type": "string", + "description": "The NFS location of where to mount the volume from.", + "nullable": true + }, + "size": { + "type": "integer", + "description": "The size of the volume in bytes.", + "nullable": true } } }, - "DNSRecordContentArgumentsForIPS": { - "description": "All 'IPS[]' params are mutually exclusive, only one can be provided.", + "GetFileStorageVolumePartDataCenter": { "type": "object", "properties": { - "ip_addresses": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "permalink": { "type": "string" } } }, - "DNSRecordContentArgumentsForMX": { - "description": "All 'MX[]' params are mutually exclusive, only one can be provided.", + "FileStorageVolumeNotFoundEnum": { + "type": "string", + "enum": [ + "file_storage_volume_not_found" + ] + }, + "FileStorageVolumeArguments": { "type": "object", "properties": { - "hostname": { - "type": "string" + "name": { + "type": "string", + "description": "Unique name to help identify the volume." + }, + "data_center": { + "$ref": "#/components/schemas/DataCenterLookup" + }, + "associations": { + "type": "array", + "items": { + "type": "string", + "description": "The virtual machine IDs which can access this volume." + } } } }, - "DNSRecordContentArgumentsForNS": { - "description": "All 'NS[]' params are mutually exclusive, only one can be provided.", + "PostOrganizationFileStorageVolumes201ResponseFileStorageVolume": { "type": "object", "properties": { - "hostname": { + "id": { + "type": "string" + }, + "name": { "type": "string" + }, + "data_center": { + "$ref": "#/components/schemas/PostOrganizationFileStorageVolumesPartDataCenter" + }, + "associations": { + "type": "array", + "items": { + "type": "string" + } + }, + "state": { + "$ref": "#/components/schemas/FileStorageVolumeStateEnum" + }, + "nfs_location": { + "type": "string", + "description": "The NFS location of where to mount the volume from.", + "nullable": true + }, + "size": { + "type": "integer", + "description": "The size of the volume in bytes.", + "nullable": true } } }, - "DNSRecordContentArgumentsForPTR": { - "description": "All 'PTR[]' params are mutually exclusive, only one can be provided.", + "PostOrganizationFileStorageVolumesPartDataCenter": { "type": "object", "properties": { - "hostname": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "permalink": { "type": "string" } } }, - "DNSRecordContentArgumentsForSOA": { - "description": "All 'SOA[]' params are mutually exclusive, only one can be provided." - }, - "DNSRecordContentArgumentsForSRV": { - "description": "All 'SRV[]' params are mutually exclusive, only one can be provided.", + "FileStorageVolumeLookup": { "type": "object", "properties": { - "weight": { - "type": "string" - }, - "port": { - "type": "string" - }, - "target": { + "id": { "type": "string" } } }, - "DNSRecordContentArgumentsForSSHFP": { - "description": "All 'SSHFP[]' params are mutually exclusive, only one can be provided.", + "PatchFileStorageVolume200ResponseFileStorageVolume": { "type": "object", "properties": { - "algorithm": { + "id": { "type": "string" }, - "fingerprint_type": { + "name": { "type": "string" }, - "fingerprint": { - "type": "string" + "data_center": { + "$ref": "#/components/schemas/PatchFileStorageVolumePartDataCenter" + }, + "associations": { + "type": "array", + "items": { + "type": "string" + } + }, + "state": { + "$ref": "#/components/schemas/FileStorageVolumeStateEnum" + }, + "nfs_location": { + "type": "string", + "description": "The NFS location of where to mount the volume from.", + "nullable": true + }, + "size": { + "type": "integer", + "description": "The size of the volume in bytes.", + "nullable": true } } }, - "DNSRecordContentArgumentsForTXT": { - "description": "All 'TXT[]' params are mutually exclusive, only one can be provided.", + "PatchFileStorageVolumePartDataCenter": { "type": "object", "properties": { - "content": { + "id": { "type": "string" - } - } - }, - "DNSRecordContentArgumentsForVirtualMachine": { - "description": "All 'VirtualMachine[]' params are mutually exclusive, only one can be provided.", - "type": "object", - "properties": { - "virtual_machine": { + }, + "name": { "type": "string" - } - } - }, - "DNSRecordNotFoundEnum": { - "type": "string", - "enum": [ - "dns_record_not_found" - ] - }, - "DNSRecordLookup": { - "description": "All 'dns_record[]' params are mutually exclusive, only one can be provided.", - "type": "object", - "properties": { - "id": { + }, + "permalink": { "type": "string" } } }, - "SecurityGroup": { + "DeleteFileStorageVolume200ResponseFileStorageVolume": { "type": "object", "properties": { "id": { @@ -21263,58 +22868,77 @@ "name": { "type": "string" }, - "allow_all_inbound": { - "type": "boolean" - }, - "allow_all_outbound": { - "type": "boolean" + "data_center": { + "$ref": "#/components/schemas/DeleteFileStorageVolumePartDataCenter" }, "associations": { "type": "array", "items": { "type": "string" } + }, + "state": { + "$ref": "#/components/schemas/FileStorageVolumeStateEnum" + }, + "nfs_location": { + "type": "string", + "description": "The NFS location of where to mount the volume from.", + "nullable": true + }, + "size": { + "type": "integer", + "description": "The size of the volume in bytes.", + "nullable": true } } }, - "SecurityGroupArguments": { - "description": "All 'properties[]' params are mutually exclusive, only one can be provided.", + "DeleteFileStorageVolumePartDataCenter": { "type": "object", "properties": { + "id": { + "type": "string" + }, "name": { "type": "string" }, - "allow_all_inbound": { - "type": "boolean" + "permalink": { + "type": "string" + } + } + }, + "GetOrganizationAvailableNetworks200ResponseNetworks": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - "allow_all_outbound": { - "type": "boolean" + "name": { + "type": "string" }, - "associations": { - "type": "array", - "items": { - "type": "string", - "description": "Supply references to virtual machines, virtual machine groups or tags." - } + "permalink": { + "type": "string", + "nullable": true + }, + "data_center": { + "$ref": "#/components/schemas/GetOrganizationAvailableNetworksPartDataCenter" } } }, - "SecurityGroupNotFoundEnum": { - "type": "string", - "enum": [ - "security_group_not_found" - ] - }, - "SecurityGroupLookup": { - "description": "All 'security_group[]' params are mutually exclusive, only one can be provided.", + "GetOrganizationAvailableNetworksPartDataCenter": { "type": "object", "properties": { "id": { "type": "string" + }, + "name": { + "type": "string" + }, + "permalink": { + "type": "string" } } }, - "DeleteSecurityGroup200ResponseSecurityGroup": { + "GetOrganizationAvailableNetworks200ResponseVirtualNetworks": { "type": "object", "properties": { "id": { @@ -21322,242 +22946,196 @@ }, "name": { "type": "string" + }, + "data_center": { + "$ref": "#/components/schemas/GetOrganizationAvailableNetworksPartDataCenter" } } }, - "GetSecurityGroupRules200ResponseSecurityGroupRules": { + "NetworkSpeedProfile": { "type": "object", "properties": { "id": { "type": "string" }, - "direction": { - "$ref": "#/components/schemas/SecurityGroupRuleDirectionEnum" - }, - "protocol": { - "$ref": "#/components/schemas/SecurityGroupRuleProtocolEnum" + "name": { + "type": "string" }, - "action": { - "$ref": "#/components/schemas/SecurityGroupRuleActionEnum" + "upload_speed_in_mbit": { + "type": "integer", + "nullable": true }, - "ports": { - "type": "string", + "download_speed_in_mbit": { + "type": "integer", "nullable": true }, - "targets": { - "type": "array", - "items": { - "type": "string" - } + "permalink": { + "type": "string" + } + } + }, + "VirtualNetwork": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - "notes": { - "type": "string", - "nullable": true + "name": { + "type": "string" + }, + "data_center": { + "$ref": "#/components/schemas/DataCenter" } } }, - "SecurityGroupRuleDirectionEnum": { + "VirtualNetworkNotFoundEnum": { "type": "string", "enum": [ - "inbound", - "outbound" + "virtual_network_not_found" ] }, - "SecurityGroupRuleProtocolEnum": { - "type": "string", - "enum": [ - "TCP", - "UDP", - "ICMP" + "VirtualNetworkArguments": { + "type": "object", + "properties": { + "name": { + "type": "string" + } + }, + "required": [ + "name" ] }, - "SecurityGroupRuleActionEnum": { - "type": "string", - "enum": [ - "allow", - "deny" + "OneOfDataCenterNotFoundOrganizationNotFound404Res": { + "oneOf": [ + { + "$ref": "#/components/schemas/OrganizationNotFoundSchema" + }, + { + "$ref": "#/components/schemas/DataCenterNotFoundSchema" + } ] }, - "SecurityGroupRuleArguments": { - "description": "All 'properties[]' params are mutually exclusive, only one can be provided.", + "VirtualNetworkLookup": { "type": "object", "properties": { - "direction": { - "$ref": "#/components/schemas/SecurityGroupRuleDirectionEnum" - }, - "protocol": { - "$ref": "#/components/schemas/SecurityGroupRuleProtocolEnum" - }, - "action": { - "$ref": "#/components/schemas/SecurityGroupRuleActionEnum" - }, - "ports": { - "type": "string", - "description": "Either single port (ie. 80), multi-port (ie. 80,443) or range (ie. 2000-3000)." - }, - "targets": { - "type": "array", - "items": { - "type": "string", - "description": "Supply references to virtual machines, virtual machine groups, tags or custom IP addresses." - } - }, - "notes": { + "id": { "type": "string" } } }, - "PostSecurityGroupRules200ResponseSecurityGroupRule": { + "GetAddressLists200ResponseAddressLists": { "type": "object", "properties": { "id": { "type": "string" }, - "security_group": { - "$ref": "#/components/schemas/PostSecurityGroupRulesPartSecurityGroup" - }, - "direction": { - "$ref": "#/components/schemas/SecurityGroupRuleDirectionEnum" - }, - "protocol": { - "$ref": "#/components/schemas/SecurityGroupRuleProtocolEnum" - }, - "action": { - "$ref": "#/components/schemas/SecurityGroupRuleActionEnum" - }, - "ports": { + "name": { "type": "string", - "nullable": true - }, - "targets": { - "type": "array", - "items": { - "type": "string" - } + "description": "Name of the address list." }, - "notes": { - "type": "string", - "nullable": true + "global": { + "type": "boolean", + "description": "Whether the address list is global or not." } } }, - "PostSecurityGroupRulesPartSecurityGroup": { + "GetOrganizationAddressLists200ResponseAddressLists": { "type": "object", "properties": { "id": { "type": "string" }, "name": { - "type": "string" + "type": "string", + "description": "Name of the address list." + }, + "global": { + "type": "boolean", + "description": "Whether the address list is global or not." } } }, - "GetSecurityGroupsRulesSecurityGroupRule200ResponseSecurityGroupRule": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "security_group": { - "$ref": "#/components/schemas/GetSecurityGroupsRulesSecurityGroupRulePartSecurityGroup" - }, - "direction": { - "$ref": "#/components/schemas/SecurityGroupRuleDirectionEnum" - }, - "protocol": { - "$ref": "#/components/schemas/SecurityGroupRuleProtocolEnum" - }, - "action": { - "$ref": "#/components/schemas/SecurityGroupRuleActionEnum" + "AddressList": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - "ports": { + "name": { "type": "string", - "nullable": true + "description": "Name of the address list." }, - "targets": { + "global": { + "type": "boolean", + "description": "Whether the address list is global or not." + }, + "entries": { "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/AddressListEntry" } - }, - "notes": { - "type": "string", - "nullable": true } } }, - "GetSecurityGroupsRulesSecurityGroupRulePartSecurityGroup": { + "AddressListEntry": { "type": "object", "properties": { "id": { "type": "string" }, + "address": { + "type": "string", + "description": "Address or network." + }, "name": { - "type": "string" + "type": "string", + "description": "Optional name/comment." } } }, - "SecurityGroupRuleNotFoundEnum": { + "AddressListNotFoundEnum": { "type": "string", "enum": [ - "security_group_rule_not_found" + "address_list_not_found" ] }, - "SecurityGroupRuleLookup": { - "description": "All 'security_group_rule[]' params are mutually exclusive, only one can be provided.", + "AddressListArguments": { "type": "object", "properties": { - "id": { - "type": "string" + "name": { + "type": "string", + "description": "Name of the address list." } } }, - "PatchSecurityGroupsRulesSecurityGroupRule200ResponseSecurityGroupRule": { + "AddressListLookup": { "type": "object", "properties": { "id": { "type": "string" - }, - "security_group": { - "$ref": "#/components/schemas/PatchSecurityGroupsRulesSecurityGroupRulePartSecurityGroup" - }, - "direction": { - "$ref": "#/components/schemas/SecurityGroupRuleDirectionEnum" - }, - "protocol": { - "$ref": "#/components/schemas/SecurityGroupRuleProtocolEnum" - }, - "action": { - "$ref": "#/components/schemas/SecurityGroupRuleActionEnum" - }, - "ports": { - "type": "string", - "nullable": true - }, - "targets": { - "type": "array", - "items": { - "type": "string" - } - }, - "notes": { - "type": "string", - "nullable": true } } }, - "PatchSecurityGroupsRulesSecurityGroupRulePartSecurityGroup": { + "AddressListEntryNotFoundEnum": { + "type": "string", + "enum": [ + "address_list_entry_not_found" + ] + }, + "AddressListEntryArguments": { "type": "object", "properties": { - "id": { - "type": "string" + "address": { + "type": "string", + "description": "Address or network to add to the list." }, "name": { - "type": "string" + "type": "string", + "description": "Optional name/comment." } } }, - "DeleteSecurityGroupsRulesSecurityGroupRule200ResponseSecurityGroupRule": { + "AddressListEntryLookup": { "type": "object", "properties": { "id": { @@ -21565,7 +23143,7 @@ } } }, - "GetOrganizationFileStorageVolumes200ResponseFileStorageVolumes": { + "GetOrganizationCertificates200ResponseCertificates": { "type": "object", "properties": { "id": { @@ -21574,54 +23152,40 @@ "name": { "type": "string" }, - "data_center": { - "$ref": "#/components/schemas/GetOrganizationFileStorageVolumesPartDataCenter" - }, - "associations": { - "type": "array", - "items": { - "type": "string" - } + "issuer": { + "$ref": "#/components/schemas/IssuerEnum" }, "state": { - "$ref": "#/components/schemas/FileStorageVolumeStateEnum" + "$ref": "#/components/schemas/CertificateStateEnum" }, - "nfs_location": { - "type": "string", - "description": "The NFS location of where to mount the volume from.", + "expires_at": { + "type": "integer", "nullable": true }, - "size": { + "last_issued_at": { "type": "integer", - "description": "The size of the volume in bytes.", "nullable": true } } }, - "GetOrganizationFileStorageVolumesPartDataCenter": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "permalink": { - "type": "string" - } - } + "IssuerEnum": { + "type": "string", + "enum": [ + "lets_encrypt", + "custom", + "self_signed" + ] }, - "FileStorageVolumeStateEnum": { + "CertificateStateEnum": { "type": "string", "enum": [ "pending", - "failed", - "ready", - "configuring" + "issue_failed", + "issued", + "issuing" ] }, - "GetFileStorageVolume200ResponseFileStorageVolume": { + "Certificate": { "type": "object", "properties": { "id": { @@ -21630,174 +23194,197 @@ "name": { "type": "string" }, - "data_center": { - "$ref": "#/components/schemas/GetFileStorageVolumePartDataCenter" - }, - "associations": { + "additional_names": { "type": "array", "items": { "type": "string" } }, + "issuer": { + "$ref": "#/components/schemas/IssuerEnum" + }, "state": { - "$ref": "#/components/schemas/FileStorageVolumeStateEnum" + "$ref": "#/components/schemas/CertificateStateEnum" }, - "nfs_location": { - "type": "string", - "description": "The NFS location of where to mount the volume from.", + "created_at": { + "type": "integer" + }, + "expires_at": { + "type": "integer", "nullable": true }, - "size": { + "last_issued_at": { "type": "integer", - "description": "The size of the volume in bytes.", "nullable": true - } - } - }, - "GetFileStorageVolumePartDataCenter": { - "type": "object", - "properties": { - "id": { - "type": "string" }, - "name": { - "type": "string" + "issue_error": { + "type": "string", + "nullable": true }, - "permalink": { - "type": "string" + "authorization_method": { + "type": "string", + "nullable": true + }, + "certificate_api_url": { + "type": "string", + "description": "This is the URL that can be used to access this certificate's details. through the certificate API (a different API to this one). If null, this means that it is no longer available. If that is the case, you can get a new URL by resetting the API token for this certificate.", + "nullable": true + }, + "certificate": { + "type": "string", + "nullable": true + }, + "chain": { + "type": "string", + "nullable": true + }, + "private_key": { + "type": "string", + "nullable": true } } }, - "FileStorageVolumeNotFoundEnum": { + "CertificateNotFoundEnum": { "type": "string", "enum": [ - "file_storage_volume_not_found" + "certificate_not_found" ] }, - "FileStorageVolumeArguments": { - "description": "All 'properties[]' params are mutually exclusive, only one can be provided.", + "GetOrganizationLoadBalancers200ResponseLoadBalancers": { "type": "object", "properties": { + "id": { + "type": "string" + }, "name": { + "type": "string" + }, + "api_reference": { "type": "string", - "description": "Unique name to help identify the volume." + "nullable": true }, - "data_center": { - "$ref": "#/components/schemas/DataCenterLookup" + "resource_type": { + "$ref": "#/components/schemas/LoadBalancerResourceTypesEnum" }, - "associations": { + "resources": { "type": "array", "items": { - "type": "string", - "description": "The virtual machine IDs which can access this volume." + "$ref": "#/components/schemas/LoadBalancerResource" } - } - } - }, - "PostOrganizationFileStorageVolumes201ResponseFileStorageVolume": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "data_center": { - "$ref": "#/components/schemas/PostOrganizationFileStorageVolumesPartDataCenter" }, - "associations": { + "resource_ids": { "type": "array", "items": { "type": "string" } }, - "state": { - "$ref": "#/components/schemas/FileStorageVolumeStateEnum" - }, - "nfs_location": { - "type": "string", - "description": "The NFS location of where to mount the volume from.", - "nullable": true + "ip_address": { + "$ref": "#/components/schemas/GetOrganizationLoadBalancersPartIPAddress" }, - "size": { - "type": "integer", - "description": "The size of the volume in bytes.", - "nullable": true + "data_center": { + "$ref": "#/components/schemas/GetOrganizationLoadBalancersPartDataCenter" + } + } + }, + "LoadBalancerResourceTypesEnum": { + "type": "string", + "enum": [ + "virtual_machines", + "virtual_machine_groups", + "tags" + ] + }, + "LoadBalancerResource": { + "type": "object", + "properties": { + "resources": { + "oneOf": [ + { + "$ref": "#/components/schemas/VirtualMachine" + }, + { + "$ref": "#/components/schemas/VirtualMachineGroup" + }, + { + "$ref": "#/components/schemas/Tag" + } + ] } } }, - "PostOrganizationFileStorageVolumesPartDataCenter": { + "GetOrganizationLoadBalancersPartIPAddress": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "permalink": { + "address": { "type": "string" } } }, - "FileStorageVolumeLookup": { - "description": "All 'file_storage_volume[]' params are mutually exclusive, only one can be provided.", + "GetOrganizationLoadBalancersPartDataCenter": { "type": "object", "properties": { "id": { "type": "string" + }, + "name": { + "type": "string" } } }, - "PatchFileStorageVolume200ResponseFileStorageVolume": { + "LoadBalancerArguments": { "type": "object", "properties": { - "id": { + "name": { "type": "string" }, - "name": { + "api_reference": { "type": "string" }, - "data_center": { - "$ref": "#/components/schemas/PatchFileStorageVolumePartDataCenter" + "resource_type": { + "$ref": "#/components/schemas/LoadBalancerResourceTypesEnum" }, - "associations": { + "resource_ids": { "type": "array", "items": { "type": "string" } }, - "state": { - "$ref": "#/components/schemas/FileStorageVolumeStateEnum" + "data_center": { + "$ref": "#/components/schemas/DataCenterLookup" }, - "nfs_location": { - "type": "string", - "description": "The NFS location of where to mount the volume from.", - "nullable": true + "https_redirect": { + "type": "boolean" }, - "size": { - "type": "integer", - "description": "The size of the volume in bytes.", - "nullable": true + "enable_weighting": { + "type": "boolean" + }, + "weights": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LoadBalancerWeightsArguments" + } + }, + "standby_vms": { + "type": "array", + "items": { + "type": "string", + "description": "The IDs of any virtual machines that should be used as standbys in a failover situation" + } } } }, - "PatchFileStorageVolumePartDataCenter": { + "LoadBalancerWeightsArguments": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "name": { + "virtual_machine_id": { "type": "string" }, - "permalink": { - "type": "string" + "weight": { + "type": "integer" } } }, - "DeleteFileStorageVolume200ResponseFileStorageVolume": { + "PostOrganizationLoadBalancers201ResponseLoadBalancer": { "type": "object", "properties": { "id": { @@ -21806,63 +23393,69 @@ "name": { "type": "string" }, - "data_center": { - "$ref": "#/components/schemas/DeleteFileStorageVolumePartDataCenter" + "api_reference": { + "type": "string", + "nullable": true }, - "associations": { + "resource_type": { + "$ref": "#/components/schemas/LoadBalancerResourceTypesEnum" + }, + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LoadBalancerResource" + } + }, + "resource_ids": { "type": "array", "items": { "type": "string" } }, - "state": { - "$ref": "#/components/schemas/FileStorageVolumeStateEnum" + "ip_address": { + "$ref": "#/components/schemas/PostOrganizationLoadBalancersPartIPAddress" }, - "nfs_location": { - "type": "string", - "description": "The NFS location of where to mount the volume from.", - "nullable": true + "https_redirect": { + "type": "boolean" }, - "size": { - "type": "integer", - "description": "The size of the volume in bytes.", - "nullable": true - } - } - }, - "DeleteFileStorageVolumePartDataCenter": { - "type": "object", - "properties": { - "id": { + "backend_certificate": { "type": "string" }, - "name": { + "backend_certificate_key": { "type": "string" }, - "permalink": { - "type": "string" + "data_center": { + "$ref": "#/components/schemas/PostOrganizationLoadBalancersPartDataCenter" + }, + "enable_weighting": { + "type": "boolean" + }, + "weights": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LoadBalancerWeight" + } + }, + "standby_vms": { + "type": "array", + "items": { + "type": "string" + } } } }, - "GetOrganizationAvailableNetworks200ResponseNetworks": { + "PostOrganizationLoadBalancersPartIPAddress": { "type": "object", "properties": { "id": { "type": "string" }, - "name": { + "address": { "type": "string" - }, - "permalink": { - "type": "string", - "nullable": true - }, - "data_center": { - "$ref": "#/components/schemas/GetOrganizationAvailableNetworksPartDataCenter" } } }, - "GetOrganizationAvailableNetworksPartDataCenter": { + "PostOrganizationLoadBalancersPartDataCenter": { "type": "object", "properties": { "id": { @@ -21876,21 +23469,18 @@ } } }, - "GetOrganizationAvailableNetworks200ResponseVirtualNetworks": { + "LoadBalancerWeight": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "name": { + "virtual_machine_id": { "type": "string" }, - "data_center": { - "$ref": "#/components/schemas/GetOrganizationAvailableNetworksPartDataCenter" + "weight": { + "type": "integer" } } }, - "NetworkSpeedProfile": { + "GetLoadBalancer200ResponseLoadBalancer": { "type": "object", "properties": { "id": { @@ -21899,237 +23489,246 @@ "name": { "type": "string" }, - "upload_speed_in_mbit": { - "type": "integer", + "api_reference": { + "type": "string", "nullable": true }, - "download_speed_in_mbit": { - "type": "integer", - "nullable": true + "resource_type": { + "$ref": "#/components/schemas/LoadBalancerResourceTypesEnum" }, - "permalink": { - "type": "string" - } - } - }, - "VirtualNetwork": { - "type": "object", - "properties": { - "id": { + "resources": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LoadBalancerResource" + } + }, + "resource_ids": { + "type": "array", + "items": { + "type": "string" + } + }, + "ip_address": { + "$ref": "#/components/schemas/GetLoadBalancerPartIPAddress" + }, + "https_redirect": { + "type": "boolean" + }, + "backend_certificate": { "type": "string" }, - "name": { + "backend_certificate_key": { "type": "string" }, "data_center": { - "$ref": "#/components/schemas/DataCenter" - } - } - }, - "VirtualNetworkNotFoundEnum": { - "type": "string", - "enum": [ - "virtual_network_not_found" - ] - }, - "VirtualNetworkArguments": { - "description": "All 'properties[]' params are mutually exclusive, only one can be provided.", - "type": "object", - "properties": { - "name": { - "type": "string" - } - }, - "required": [ - "name" - ] - }, - "OneOfDataCenterNotFoundOrganizationNotFound404Res": { - "oneOf": [ - { - "$ref": "#/components/schemas/OrganizationNotFoundSchema" + "$ref": "#/components/schemas/GetLoadBalancerPartDataCenter" }, - { - "$ref": "#/components/schemas/DataCenterNotFoundSchema" + "enable_weighting": { + "type": "boolean" + }, + "weights": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LoadBalancerWeight" + } + }, + "standby_vms": { + "type": "array", + "items": { + "type": "string" + } } - ] + } }, - "VirtualNetworkLookup": { - "description": "All 'virtual_network[]' params are mutually exclusive, only one can be provided.", + "GetLoadBalancerPartIPAddress": { "type": "object", "properties": { "id": { "type": "string" + }, + "address": { + "type": "string" } } }, - "GetAddressLists200ResponseAddressLists": { + "GetLoadBalancerPartDataCenter": { "type": "object", "properties": { "id": { "type": "string" }, "name": { - "type": "string", - "description": "Name of the address list." + "type": "string" }, - "global": { - "type": "boolean", - "description": "Whether the address list is global or not." + "permalink": { + "type": "string" } } }, - "GetOrganizationAddressLists200ResponseAddressLists": { + "LoadBalancerNotFoundEnum": { + "type": "string", + "enum": [ + "load_balancer_not_found" + ] + }, + "LoadBalancerLookup": { + "description": "All 'load_balancer[]' params are mutually exclusive, only one can be provided.", "type": "object", "properties": { "id": { "type": "string" }, - "name": { - "type": "string", - "description": "Name of the address list." - }, - "global": { - "type": "boolean", - "description": "Whether the address list is global or not." + "api_reference": { + "type": "string" } } }, - "AddressList": { + "PatchLoadBalancer200ResponseLoadBalancer": { "type": "object", "properties": { "id": { "type": "string" }, "name": { + "type": "string" + }, + "api_reference": { "type": "string", - "description": "Name of the address list." + "nullable": true }, - "global": { - "type": "boolean", - "description": "Whether the address list is global or not." + "resource_type": { + "$ref": "#/components/schemas/LoadBalancerResourceTypesEnum" }, - "entries": { + "resources": { "type": "array", "items": { - "$ref": "#/components/schemas/AddressListEntry" + "$ref": "#/components/schemas/LoadBalancerResource" + } + }, + "resource_ids": { + "type": "array", + "items": { + "type": "string" + } + }, + "ip_address": { + "$ref": "#/components/schemas/PatchLoadBalancerPartIPAddress" + }, + "https_redirect": { + "type": "boolean" + }, + "backend_certificate": { + "type": "string" + }, + "backend_certificate_key": { + "type": "string" + }, + "data_center": { + "$ref": "#/components/schemas/PatchLoadBalancerPartDataCenter" + }, + "enable_weighting": { + "type": "boolean" + }, + "weights": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LoadBalancerWeight" + } + }, + "standby_vms": { + "type": "array", + "items": { + "type": "string" } } } }, - "AddressListEntry": { + "PatchLoadBalancerPartIPAddress": { "type": "object", "properties": { "id": { "type": "string" }, "address": { - "type": "string", - "description": "Address or network." - }, - "name": { - "type": "string", - "description": "Optional name/comment." - } - } - }, - "AddressListNotFoundEnum": { - "type": "string", - "enum": [ - "address_list_not_found" - ] - }, - "AddressListArguments": { - "description": "All 'properties[]' params are mutually exclusive, only one can be provided.", - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Name of the address list." + "type": "string" } } }, - "AddressListLookup": { - "description": "All 'address_list[]' params are mutually exclusive, only one can be provided.", + "PatchLoadBalancerPartDataCenter": { "type": "object", "properties": { "id": { "type": "string" - } - } - }, - "AddressListEntryNotFoundEnum": { - "type": "string", - "enum": [ - "address_list_entry_not_found" - ] - }, - "AddressListEntryArguments": { - "description": "All 'properties[]' params are mutually exclusive, only one can be provided.", - "type": "object", - "properties": { - "address": { - "type": "string", - "description": "Address or network to add to the list." }, "name": { - "type": "string", - "description": "Optional name/comment." + "type": "string" + }, + "permalink": { + "type": "string" } } }, - "AddressListEntryLookup": { - "description": "All 'address_list_entry[]' params are mutually exclusive, only one can be provided.", + "DeleteLoadBalancer200ResponseLoadBalancer": { "type": "object", "properties": { "id": { "type": "string" + }, + "name": { + "type": "string" + }, + "api_reference": { + "type": "string", + "nullable": true } } }, - "GetOrganizationCertificates200ResponseCertificates": { + "GetLoadBalancerRules200ResponseLoadBalancerRules": { "type": "object", "properties": { "id": { "type": "string" }, - "name": { - "type": "string" + "algorithm": { + "$ref": "#/components/schemas/LoadBalancerRuleAlgorithmEnum" }, - "issuer": { - "$ref": "#/components/schemas/IssuerEnum" + "destination_port": { + "type": "integer" }, - "state": { - "$ref": "#/components/schemas/CertificateStateEnum" + "listen_port": { + "type": "integer" }, - "expires_at": { - "type": "integer", - "nullable": true + "protocol": { + "$ref": "#/components/schemas/LoadBalancerRuleProtocolEnum" }, - "last_issued_at": { - "type": "integer", - "nullable": true + "certificates": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetLoadBalancerRulesPartCertificates" + } + }, + "check_enabled": { + "type": "boolean" } } }, - "IssuerEnum": { + "LoadBalancerRuleAlgorithmEnum": { "type": "string", "enum": [ - "lets_encrypt", - "custom", - "self_signed" + "round_robin", + "least_connections", + "sticky" ] }, - "CertificateStateEnum": { + "LoadBalancerRuleProtocolEnum": { "type": "string", "enum": [ - "pending", - "issue_failed", - "issued", - "issuing" + "HTTPS", + "TCP", + "HTTP" ] }, - "Certificate": { + "GetLoadBalancerRulesPartCertificates": { "type": "object", "properties": { "id": { @@ -22137,134 +23736,161 @@ }, "name": { "type": "string" + } + } + }, + "LoadBalancerRuleArguments": { + "type": "object", + "properties": { + "algorithm": { + "$ref": "#/components/schemas/LoadBalancerRuleAlgorithmEnum" }, - "additional_names": { - "type": "array", - "items": { - "type": "string" - } + "destination_port": { + "type": "integer" }, - "issuer": { - "$ref": "#/components/schemas/IssuerEnum" + "listen_port": { + "type": "integer" }, - "state": { - "$ref": "#/components/schemas/CertificateStateEnum" + "protocol": { + "$ref": "#/components/schemas/LoadBalancerRuleProtocolEnum" }, - "created_at": { - "type": "integer" + "proxy_protocol": { + "type": "boolean" }, - "expires_at": { - "type": "integer", - "nullable": true + "backend_ssl": { + "type": "boolean" }, - "last_issued_at": { - "type": "integer", - "nullable": true + "passthrough_ssl": { + "type": "boolean" }, - "issue_error": { - "type": "string", - "nullable": true + "certificates": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CertificateLookup" + } }, - "authorization_method": { - "type": "string", - "nullable": true + "check_enabled": { + "type": "boolean" }, - "certificate_api_url": { - "type": "string", - "description": "This is the URL that can be used to access this certificate's details. through the certificate API (a different API to this one). If null, this means that it is no longer available. If that is the case, you can get a new URL by resetting the API token for this certificate.", - "nullable": true + "check_fall": { + "type": "integer" }, - "certificate": { - "type": "string", - "nullable": true + "check_interval": { + "type": "integer" + }, + "check_path": { + "type": "string" + }, + "check_protocol": { + "$ref": "#/components/schemas/LoadBalancerRuleCheckProtocolEnum" }, - "chain": { - "type": "string", - "nullable": true + "check_rise": { + "type": "integer" }, - "private_key": { - "type": "string", - "nullable": true + "check_timeout": { + "type": "integer" + }, + "check_http_statuses": { + "$ref": "#/components/schemas/LoadBalancerRuleHTTPStatusesEnum" } } }, - "CertificateNotFoundEnum": { + "CertificateLookup": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + }, + "LoadBalancerRuleCheckProtocolEnum": { "type": "string", "enum": [ - "certificate_not_found" + "HTTP", + "TCP" ] }, - "GetOrganizationLoadBalancers200ResponseLoadBalancers": { + "LoadBalancerRuleHTTPStatusesEnum": { + "type": "string", + "enum": [ + "2", + "23", + "234" + ] + }, + "PostLoadBalancerRules200ResponseLoadBalancerRule": { "type": "object", "properties": { "id": { "type": "string" }, - "name": { - "type": "string" + "algorithm": { + "$ref": "#/components/schemas/LoadBalancerRuleAlgorithmEnum" }, - "api_reference": { - "type": "string", - "nullable": true + "destination_port": { + "type": "integer" }, - "resource_type": { - "$ref": "#/components/schemas/LoadBalancerResourceTypesEnum" + "listen_port": { + "type": "integer" }, - "resources": { - "type": "array", - "items": { - "$ref": "#/components/schemas/LoadBalancerResource" - } + "protocol": { + "$ref": "#/components/schemas/LoadBalancerRuleProtocolEnum" }, - "resource_ids": { + "proxy_protocol": { + "type": "boolean" + }, + "certificates": { "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/PostLoadBalancerRulesPartCertificates" } }, - "ip_address": { - "$ref": "#/components/schemas/GetOrganizationLoadBalancersPartIPAddress" + "backend_ssl": { + "type": "boolean" }, - "data_center": { - "$ref": "#/components/schemas/GetOrganizationLoadBalancersPartDataCenter" - } - } - }, - "LoadBalancerResourceTypesEnum": { - "type": "string", - "enum": [ - "virtual_machines", - "virtual_machine_groups", - "tags" - ] - }, - "LoadBalancerResource": { - "type": "object", - "properties": { - "resources": { - "oneOf": [ - { - "$ref": "#/components/schemas/VirtualMachine" - }, + "passthrough_ssl": { + "type": "boolean" + }, + "check_enabled": { + "type": "boolean" + }, + "check_fall": { + "type": "integer" + }, + "check_interval": { + "type": "integer" + }, + "check_path": { + "type": "string" + }, + "check_protocol": { + "allOf": [ { - "$ref": "#/components/schemas/VirtualMachineGroup" - }, + "$ref": "#/components/schemas/LoadBalancerRuleCheckProtocolEnum" + } + ], + "nullable": true + }, + "check_rise": { + "type": "integer" + }, + "check_timeout": { + "type": "integer" + }, + "check_http_statuses": { + "allOf": [ { - "$ref": "#/components/schemas/Tag" + "$ref": "#/components/schemas/LoadBalancerRuleHTTPStatusesEnum" } - ] - } - } - }, - "GetOrganizationLoadBalancersPartIPAddress": { - "type": "object", - "properties": { - "address": { - "type": "string" + ], + "nullable": true + }, + "load_balancer": { + "$ref": "#/components/schemas/PostLoadBalancerRulesPartLoadBalancer" } } }, - "GetOrganizationLoadBalancersPartDataCenter": { + "PostLoadBalancerRulesPartCertificates": { "type": "object", "properties": { "id": { @@ -22272,136 +23898,122 @@ }, "name": { "type": "string" - } - } - }, - "LoadBalancerArguments": { - "description": "All 'properties[]' params are mutually exclusive, only one can be provided.", - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "api_reference": { - "type": "string" - }, - "resource_type": { - "$ref": "#/components/schemas/LoadBalancerResourceTypesEnum" }, - "resource_ids": { + "additional_names": { "type": "array", "items": { "type": "string" } }, - "data_center": { - "$ref": "#/components/schemas/DataCenterLookup" - }, - "https_redirect": { - "type": "boolean" - }, - "enable_weighting": { - "type": "boolean" - }, - "weights": { - "type": "array", - "items": { - "$ref": "#/components/schemas/LoadBalancerWeightsArguments" - } - }, - "standby_vms": { - "type": "array", - "items": { - "type": "string", - "description": "The IDs of any virtual machines that should be used as standbys in a failover situation" - } + "state": { + "$ref": "#/components/schemas/CertificateStateEnum" } } }, - "LoadBalancerWeightsArguments": { - "description": "All 'weights[]' params are mutually exclusive, only one can be provided.", + "PostLoadBalancerRulesPartLoadBalancer": { "type": "object", "properties": { - "virtual_machine_id": { + "id": { "type": "string" }, - "weight": { - "type": "integer" + "name": { + "type": "string" } } }, - "PostOrganizationLoadBalancers201ResponseLoadBalancer": { + "GetLoadBalancersRulesLoadBalancerRule200ResponseLoadBalancerRule": { "type": "object", "properties": { "id": { "type": "string" }, - "name": { - "type": "string" + "algorithm": { + "$ref": "#/components/schemas/LoadBalancerRuleAlgorithmEnum" }, - "api_reference": { - "type": "string", - "nullable": true + "destination_port": { + "type": "integer" }, - "resource_type": { - "$ref": "#/components/schemas/LoadBalancerResourceTypesEnum" + "listen_port": { + "type": "integer" }, - "resources": { - "type": "array", - "items": { - "$ref": "#/components/schemas/LoadBalancerResource" - } + "protocol": { + "$ref": "#/components/schemas/LoadBalancerRuleProtocolEnum" }, - "resource_ids": { + "proxy_protocol": { + "type": "boolean" + }, + "certificates": { "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/GetLoadBalancersRulesLoadBalancerRulePartCertificates" } }, - "ip_address": { - "$ref": "#/components/schemas/PostOrganizationLoadBalancersPartIPAddress" + "backend_ssl": { + "type": "boolean" }, - "https_redirect": { + "passthrough_ssl": { "type": "boolean" }, - "backend_certificate": { - "type": "string" + "check_enabled": { + "type": "boolean" }, - "backend_certificate_key": { + "check_fall": { + "type": "integer" + }, + "check_interval": { + "type": "integer" + }, + "check_path": { "type": "string" }, - "data_center": { - "$ref": "#/components/schemas/PostOrganizationLoadBalancersPartDataCenter" + "check_protocol": { + "allOf": [ + { + "$ref": "#/components/schemas/LoadBalancerRuleCheckProtocolEnum" + } + ], + "nullable": true }, - "enable_weighting": { - "type": "boolean" + "check_rise": { + "type": "integer" }, - "weights": { - "type": "array", - "items": { - "$ref": "#/components/schemas/LoadBalancerWeight" - } + "check_timeout": { + "type": "integer" + }, + "check_http_statuses": { + "allOf": [ + { + "$ref": "#/components/schemas/LoadBalancerRuleHTTPStatusesEnum" + } + ], + "nullable": true }, - "standby_vms": { - "type": "array", - "items": { - "type": "string" - } + "load_balancer": { + "$ref": "#/components/schemas/GetLoadBalancersRulesLoadBalancerRulePartLoadBalancer" } } }, - "PostOrganizationLoadBalancersPartIPAddress": { + "GetLoadBalancersRulesLoadBalancerRulePartCertificates": { "type": "object", "properties": { "id": { "type": "string" }, - "address": { + "name": { "type": "string" + }, + "additional_names": { + "type": "array", + "items": { + "type": "string" + } + }, + "state": { + "$ref": "#/components/schemas/CertificateStateEnum" } } }, - "PostOrganizationLoadBalancersPartDataCenter": { + "GetLoadBalancersRulesLoadBalancerRulePartLoadBalancer": { "type": "object", "properties": { "id": { @@ -22409,127 +24021,223 @@ }, "name": { "type": "string" - }, - "permalink": { - "type": "string" } } }, - "LoadBalancerWeight": { + "LoadBalancerRuleNotFoundEnum": { + "type": "string", + "enum": [ + "load_balancer_rule_not_found" + ] + }, + "LoadBalancerRuleLookup": { "type": "object", "properties": { - "virtual_machine_id": { + "id": { "type": "string" - }, - "weight": { - "type": "integer" } } }, - "GetLoadBalancer200ResponseLoadBalancer": { + "PatchLoadBalancersRulesLoadBalancerRule200ResponseLoadBalancerRule": { "type": "object", "properties": { "id": { "type": "string" }, - "name": { - "type": "string" + "algorithm": { + "$ref": "#/components/schemas/LoadBalancerRuleAlgorithmEnum" }, - "api_reference": { - "type": "string", - "nullable": true + "destination_port": { + "type": "integer" }, - "resource_type": { - "$ref": "#/components/schemas/LoadBalancerResourceTypesEnum" + "listen_port": { + "type": "integer" }, - "resources": { - "type": "array", - "items": { - "$ref": "#/components/schemas/LoadBalancerResource" - } + "protocol": { + "$ref": "#/components/schemas/LoadBalancerRuleProtocolEnum" }, - "resource_ids": { + "proxy_protocol": { + "type": "boolean" + }, + "certificates": { "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/PatchLoadBalancersRulesLoadBalancerRulePartCertificates" } }, - "ip_address": { - "$ref": "#/components/schemas/GetLoadBalancerPartIPAddress" + "backend_ssl": { + "type": "boolean" }, - "https_redirect": { + "passthrough_ssl": { "type": "boolean" }, - "backend_certificate": { - "type": "string" + "check_enabled": { + "type": "boolean" }, - "backend_certificate_key": { + "check_fall": { + "type": "integer" + }, + "check_interval": { + "type": "integer" + }, + "check_path": { "type": "string" }, - "data_center": { - "$ref": "#/components/schemas/GetLoadBalancerPartDataCenter" + "check_protocol": { + "allOf": [ + { + "$ref": "#/components/schemas/LoadBalancerRuleCheckProtocolEnum" + } + ], + "nullable": true }, - "enable_weighting": { - "type": "boolean" + "check_rise": { + "type": "integer" }, - "weights": { - "type": "array", - "items": { - "$ref": "#/components/schemas/LoadBalancerWeight" - } + "check_timeout": { + "type": "integer" }, - "standby_vms": { + "check_http_statuses": { + "allOf": [ + { + "$ref": "#/components/schemas/LoadBalancerRuleHTTPStatusesEnum" + } + ], + "nullable": true + }, + "load_balancer": { + "$ref": "#/components/schemas/PatchLoadBalancersRulesLoadBalancerRulePartLoadBalancer" + } + } + }, + "PatchLoadBalancersRulesLoadBalancerRulePartCertificates": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "additional_names": { "type": "array", "items": { "type": "string" } + }, + "state": { + "$ref": "#/components/schemas/CertificateStateEnum" } } }, - "GetLoadBalancerPartIPAddress": { + "PatchLoadBalancersRulesLoadBalancerRulePartLoadBalancer": { "type": "object", "properties": { "id": { "type": "string" }, - "address": { + "name": { "type": "string" } } }, - "GetLoadBalancerPartDataCenter": { + "DeleteLoadBalancersRulesLoadBalancerRule200ResponseLoadBalancerRule": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + }, + "GetOrganizationIPAddresses200ResponseIPAddresses": { "type": "object", "properties": { "id": { "type": "string" }, - "name": { + "address": { "type": "string" }, - "permalink": { + "reverse_dns": { "type": "string" + }, + "vip": { + "type": "boolean" + }, + "allocation_id": { + "type": "string", + "nullable": true + }, + "allocation_type": { + "type": "string", + "nullable": true } } }, - "LoadBalancerNotFoundEnum": { + "IPAddressVersionEnum": { "type": "string", "enum": [ - "load_balancer_not_found" + "ipv4", + "ipv6" ] }, - "LoadBalancerLookup": { - "description": "All 'load_balancer[]' params are mutually exclusive, only one can be provided.", + "OneOfNetworkNotFoundOrganizationNotFound404Res": { + "oneOf": [ + { + "$ref": "#/components/schemas/OrganizationNotFoundSchema" + }, + { + "$ref": "#/components/schemas/NetworkNotFoundSchema" + } + ] + }, + "APIAuthenticator503Schema": { "type": "object", + "description": "The service is currently unavailable, please try again later", "properties": { - "id": { + "code": { + "$ref": "#/components/schemas/ServiceUnavailableEnum" + }, + "description": { "type": "string" }, - "api_reference": { + "detail": { + "type": "object" + } + } + }, + "NoAvailableAddressesEnum": { + "type": "string", + "enum": [ + "no_available_addresses" + ] + }, + "NoAvailableAddressesSchema": { + "type": "object", + "description": "Our pool of addresses for that version seems to have run dry. If this issue continues, please contact support.", + "properties": { + "code": { + "$ref": "#/components/schemas/NoAvailableAddressesEnum" + }, + "description": { "type": "string" + }, + "detail": { + "type": "object" } } }, - "PatchLoadBalancer200ResponseLoadBalancer": { + "OneOfNoAvailableAddresses503Res": { + "oneOf": [ + { + "$ref": "#/components/schemas/APIAuthenticator503Schema" + }, + { + "$ref": "#/components/schemas/NoAvailableAddressesSchema" + } + ] + }, + "GetIPAddress200ResponseAllocation": { "type": "object", "properties": { "id": { @@ -22537,70 +24245,66 @@ }, "name": { "type": "string" - }, - "api_reference": { - "type": "string", - "nullable": true - }, - "resource_type": { - "$ref": "#/components/schemas/LoadBalancerResourceTypesEnum" - }, - "resources": { - "type": "array", - "items": { - "$ref": "#/components/schemas/LoadBalancerResource" - } - }, - "resource_ids": { - "type": "array", - "items": { - "type": "string" - } - }, - "ip_address": { - "$ref": "#/components/schemas/PatchLoadBalancerPartIPAddress" - }, - "https_redirect": { - "type": "boolean" - }, - "backend_certificate": { + } + } + }, + "ResourceDoesNotSupportUnallocationEnum": { + "type": "string", + "enum": [ + "resource_does_not_support_unallocation" + ] + }, + "NoAllocationEnum": { + "type": "string", + "enum": [ + "no_allocation" + ] + }, + "GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaces": { + "type": "object", + "properties": { + "id": { "type": "string" }, - "backend_certificate_key": { + "name": { "type": "string" }, - "data_center": { - "$ref": "#/components/schemas/PatchLoadBalancerPartDataCenter" - }, - "enable_weighting": { - "type": "boolean" + "network": { + "allOf": [ + { + "$ref": "#/components/schemas/GetVirtualMachineNetworkInterfacesPartNetwork" + } + ], + "nullable": true }, - "weights": { - "type": "array", - "items": { - "$ref": "#/components/schemas/LoadBalancerWeight" - } + "virtual_network": { + "allOf": [ + { + "$ref": "#/components/schemas/GetVirtualMachineNetworkInterfacesPartVirtualNetwork" + } + ], + "nullable": true }, - "standby_vms": { + "ip_addresses": { "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/GetVirtualMachineNetworkInterfacesPartIPAddresses" } } } }, - "PatchLoadBalancerPartIPAddress": { + "GetVirtualMachineNetworkInterfacesPartNetwork": { "type": "object", "properties": { "id": { "type": "string" }, - "address": { + "name": { "type": "string" } } }, - "PatchLoadBalancerPartDataCenter": { + "GetVirtualMachineNetworkInterfacesPartVirtualNetwork": { "type": "object", "properties": { "id": { @@ -22608,257 +24312,122 @@ }, "name": { "type": "string" - }, - "permalink": { - "type": "string" } } }, - "DeleteLoadBalancer200ResponseLoadBalancer": { + "GetVirtualMachineNetworkInterfacesPartIPAddresses": { "type": "object", "properties": { "id": { "type": "string" }, - "name": { + "address": { "type": "string" - }, - "api_reference": { - "type": "string", - "nullable": true } } }, - "GetLoadBalancerRules200ResponseLoadBalancerRules": { + "NetworkSpeedProfileLookup": { + "description": "All 'speed_profile[]' params are mutually exclusive, only one can be provided.", "type": "object", "properties": { "id": { "type": "string" }, - "algorithm": { - "$ref": "#/components/schemas/LoadBalancerRuleAlgorithmEnum" - }, - "destination_port": { - "type": "integer" - }, - "listen_port": { - "type": "integer" - }, - "protocol": { - "$ref": "#/components/schemas/LoadBalancerRuleProtocolEnum" - }, - "certificates": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetLoadBalancerRulesPartCertificates" - } - }, - "check_enabled": { - "type": "boolean" + "permalink": { + "type": "string" } } }, - "LoadBalancerRuleAlgorithmEnum": { - "type": "string", - "enum": [ - "round_robin", - "least_connections", - "sticky" - ] - }, - "LoadBalancerRuleProtocolEnum": { - "type": "string", - "enum": [ - "HTTPS", - "TCP", - "HTTP" - ] - }, - "GetLoadBalancerRulesPartCertificates": { + "PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterface": { "type": "object", "properties": { "id": { "type": "string" }, + "virtual_machine": { + "$ref": "#/components/schemas/PostVirtualMachineNetworkInterfacesPartVirtualMachine" + }, "name": { "type": "string" - } - } - }, - "LoadBalancerRuleArguments": { - "description": "All 'properties[]' params are mutually exclusive, only one can be provided.", - "type": "object", - "properties": { - "algorithm": { - "$ref": "#/components/schemas/LoadBalancerRuleAlgorithmEnum" - }, - "destination_port": { - "type": "integer" - }, - "listen_port": { - "type": "integer" }, - "protocol": { - "$ref": "#/components/schemas/LoadBalancerRuleProtocolEnum" + "network": { + "allOf": [ + { + "$ref": "#/components/schemas/PostVirtualMachineNetworkInterfacesPartNetwork" + } + ], + "nullable": true }, - "proxy_protocol": { - "type": "boolean" + "virtual_network": { + "allOf": [ + { + "$ref": "#/components/schemas/PostVirtualMachineNetworkInterfacesPartVirtualNetwork" + } + ], + "nullable": true }, - "backend_ssl": { - "type": "boolean" + "mac_address": { + "type": "string" }, - "passthrough_ssl": { - "type": "boolean" + "state": { + "type": "string" }, - "certificates": { + "ip_addresses": { "type": "array", "items": { - "$ref": "#/components/schemas/CertificateLookup" + "$ref": "#/components/schemas/PostVirtualMachineNetworkInterfacesPartIPAddresses" } }, - "check_enabled": { - "type": "boolean" - }, - "check_fall": { - "type": "integer" - }, - "check_interval": { - "type": "integer" - }, - "check_path": { + "speed_profile": { + "$ref": "#/components/schemas/PostVirtualMachineNetworkInterfacesPartSpeedProfile" + } + } + }, + "PostVirtualMachineNetworkInterfacesPartVirtualMachine": { + "type": "object", + "properties": { + "id": { "type": "string" }, - "check_protocol": { - "$ref": "#/components/schemas/LoadBalancerRuleCheckProtocolEnum" - }, - "check_rise": { - "type": "integer" - }, - "check_timeout": { - "type": "integer" - }, - "check_http_statuses": { - "$ref": "#/components/schemas/LoadBalancerRuleHTTPStatusesEnum" + "name": { + "type": "string" } } }, - "CertificateLookup": { - "description": "All 'certificates[]' params are mutually exclusive, only one can be provided.", + "PostVirtualMachineNetworkInterfacesPartNetwork": { "type": "object", "properties": { "id": { "type": "string" + }, + "name": { + "type": "string" } } }, - "LoadBalancerRuleCheckProtocolEnum": { - "type": "string", - "enum": [ - "HTTP", - "TCP" - ] - }, - "LoadBalancerRuleHTTPStatusesEnum": { - "type": "string", - "enum": [ - "2", - "23", - "234" - ] - }, - "PostLoadBalancerRules200ResponseLoadBalancerRule": { + "PostVirtualMachineNetworkInterfacesPartVirtualNetwork": { "type": "object", "properties": { "id": { "type": "string" }, - "algorithm": { - "$ref": "#/components/schemas/LoadBalancerRuleAlgorithmEnum" - }, - "destination_port": { - "type": "integer" - }, - "listen_port": { - "type": "integer" - }, - "protocol": { - "$ref": "#/components/schemas/LoadBalancerRuleProtocolEnum" - }, - "proxy_protocol": { - "type": "boolean" - }, - "certificates": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PostLoadBalancerRulesPartCertificates" - } - }, - "backend_ssl": { - "type": "boolean" - }, - "passthrough_ssl": { - "type": "boolean" - }, - "check_enabled": { - "type": "boolean" - }, - "check_fall": { - "type": "integer" - }, - "check_interval": { - "type": "integer" - }, - "check_path": { + "name": { "type": "string" - }, - "check_protocol": { - "allOf": [ - { - "$ref": "#/components/schemas/LoadBalancerRuleCheckProtocolEnum" - } - ], - "nullable": true - }, - "check_rise": { - "type": "integer" - }, - "check_timeout": { - "type": "integer" - }, - "check_http_statuses": { - "allOf": [ - { - "$ref": "#/components/schemas/LoadBalancerRuleHTTPStatusesEnum" - } - ], - "nullable": true - }, - "load_balancer": { - "$ref": "#/components/schemas/PostLoadBalancerRulesPartLoadBalancer" } } }, - "PostLoadBalancerRulesPartCertificates": { + "PostVirtualMachineNetworkInterfacesPartIPAddresses": { "type": "object", "properties": { "id": { "type": "string" }, - "name": { + "address": { "type": "string" - }, - "additional_names": { - "type": "array", - "items": { - "type": "string" - } - }, - "state": { - "$ref": "#/components/schemas/CertificateStateEnum" } } }, - "PostLoadBalancerRulesPartLoadBalancer": { + "PostVirtualMachineNetworkInterfacesPartSpeedProfile": { "type": "object", "properties": { "id": { @@ -22866,82 +24435,107 @@ }, "name": { "type": "string" + }, + "permalink": { + "type": "string" } } }, - "GetLoadBalancersRulesLoadBalancerRule200ResponseLoadBalancerRule": { + "VirtualNetworkNotFoundSchema": { "type": "object", + "description": "No virtual network was found matching any of the criteria provided in the arguments", "properties": { - "id": { - "type": "string" - }, - "algorithm": { - "$ref": "#/components/schemas/LoadBalancerRuleAlgorithmEnum" - }, - "destination_port": { - "type": "integer" - }, - "listen_port": { - "type": "integer" + "code": { + "$ref": "#/components/schemas/VirtualNetworkNotFoundEnum" }, - "protocol": { - "$ref": "#/components/schemas/LoadBalancerRuleProtocolEnum" + "description": { + "type": "string" }, - "proxy_protocol": { - "type": "boolean" + "detail": { + "type": "object" + } + } + }, + "NetworkSpeedProfileNotFoundEnum": { + "type": "string", + "enum": [ + "network_speed_profile_not_found" + ] + }, + "NetworkSpeedProfileNotFoundSchema": { + "type": "object", + "description": "No network speed profile was found matching any of the criteria provided in the arguments", + "properties": { + "code": { + "$ref": "#/components/schemas/NetworkSpeedProfileNotFoundEnum" }, - "certificates": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetLoadBalancersRulesLoadBalancerRulePartCertificates" - } + "description": { + "type": "string" }, - "backend_ssl": { - "type": "boolean" + "detail": { + "type": "object" + } + } + }, + "OneOfNetworkNotFoundVirtualMachineNotFoundVirtualNetworkNotFound404Res": { + "oneOf": [ + { + "$ref": "#/components/schemas/VirtualMachineNotFoundSchema" }, - "passthrough_ssl": { - "type": "boolean" + { + "$ref": "#/components/schemas/NetworkNotFoundSchema" }, - "check_enabled": { - "type": "boolean" + { + "$ref": "#/components/schemas/VirtualNetworkNotFoundSchema" }, - "check_fall": { - "type": "integer" + { + "$ref": "#/components/schemas/NetworkSpeedProfileNotFoundSchema" + } + ] + }, + "GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterface": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - "check_interval": { - "type": "integer" + "virtual_machine": { + "$ref": "#/components/schemas/GetVirtualMachineNetworkInterfacePartVirtualMachine" }, - "check_path": { + "name": { "type": "string" }, - "check_protocol": { + "network": { "allOf": [ { - "$ref": "#/components/schemas/LoadBalancerRuleCheckProtocolEnum" + "$ref": "#/components/schemas/GetVirtualMachineNetworkInterfacePartNetwork" } ], "nullable": true }, - "check_rise": { - "type": "integer" - }, - "check_timeout": { - "type": "integer" - }, - "check_http_statuses": { + "virtual_network": { "allOf": [ { - "$ref": "#/components/schemas/LoadBalancerRuleHTTPStatusesEnum" + "$ref": "#/components/schemas/GetVirtualMachineNetworkInterfacePartVirtualNetwork" } ], "nullable": true }, - "load_balancer": { - "$ref": "#/components/schemas/GetLoadBalancersRulesLoadBalancerRulePartLoadBalancer" + "mac_address": { + "type": "string" + }, + "state": { + "type": "string" + }, + "ip_addresses": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetVirtualMachineNetworkInterfacePartIPAddresses" + } } } }, - "GetLoadBalancersRulesLoadBalancerRulePartCertificates": { + "GetVirtualMachineNetworkInterfacePartVirtualMachine": { "type": "object", "properties": { "id": { @@ -22949,19 +24543,10 @@ }, "name": { "type": "string" - }, - "additional_names": { - "type": "array", - "items": { - "type": "string" - } - }, - "state": { - "$ref": "#/components/schemas/CertificateStateEnum" } } }, - "GetLoadBalancersRulesLoadBalancerRulePartLoadBalancer": { + "GetVirtualMachineNetworkInterfacePartNetwork": { "type": "object", "properties": { "id": { @@ -22972,94 +24557,119 @@ } } }, - "LoadBalancerRuleNotFoundEnum": { - "type": "string", - "enum": [ - "load_balancer_rule_not_found" - ] - }, - "LoadBalancerRuleLookup": { - "description": "All 'load_balancer_rule[]' params are mutually exclusive, only one can be provided.", + "GetVirtualMachineNetworkInterfacePartVirtualNetwork": { "type": "object", "properties": { "id": { "type": "string" + }, + "name": { + "type": "string" } } }, - "PatchLoadBalancersRulesLoadBalancerRule200ResponseLoadBalancerRule": { + "GetVirtualMachineNetworkInterfacePartIPAddresses": { "type": "object", "properties": { "id": { "type": "string" }, - "algorithm": { - "$ref": "#/components/schemas/LoadBalancerRuleAlgorithmEnum" - }, - "destination_port": { - "type": "integer" - }, - "listen_port": { - "type": "integer" - }, - "protocol": { - "$ref": "#/components/schemas/LoadBalancerRuleProtocolEnum" - }, - "proxy_protocol": { - "type": "boolean" - }, - "certificates": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PatchLoadBalancersRulesLoadBalancerRulePartCertificates" - } + "address": { + "type": "string" + } + } + }, + "InterfaceNotFoundEnum": { + "type": "string", + "enum": [ + "interface_not_found" + ] + }, + "InterfaceNotFoundSchema": { + "type": "object", + "description": "An interface could not be found for the specified network", + "properties": { + "code": { + "$ref": "#/components/schemas/InterfaceNotFoundEnum" }, - "backend_ssl": { - "type": "boolean" + "description": { + "type": "string" }, - "passthrough_ssl": { - "type": "boolean" + "detail": { + "type": "object" + } + } + }, + "OneOfInterfaceNotFoundNetworkNotFoundVirtualMachineNotFound404Res": { + "oneOf": [ + { + "$ref": "#/components/schemas/VirtualMachineNotFoundSchema" }, - "check_enabled": { - "type": "boolean" + { + "$ref": "#/components/schemas/NetworkNotFoundSchema" }, - "check_fall": { - "type": "integer" + { + "$ref": "#/components/schemas/InterfaceNotFoundSchema" + } + ] + }, + "GetVMNIVMNI200ResponseVirtualMachineNetworkInterface": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - "check_interval": { - "type": "integer" + "virtual_machine": { + "$ref": "#/components/schemas/GetVMNIVMNIPartVirtualMachine" }, - "check_path": { + "name": { "type": "string" }, - "check_protocol": { + "network": { "allOf": [ { - "$ref": "#/components/schemas/LoadBalancerRuleCheckProtocolEnum" + "$ref": "#/components/schemas/GetVMNIVMNIPartNetwork" } ], "nullable": true }, - "check_rise": { - "type": "integer" - }, - "check_timeout": { - "type": "integer" - }, - "check_http_statuses": { + "virtual_network": { "allOf": [ { - "$ref": "#/components/schemas/LoadBalancerRuleHTTPStatusesEnum" + "$ref": "#/components/schemas/GetVMNIVMNIPartVirtualNetwork" } ], "nullable": true }, - "load_balancer": { - "$ref": "#/components/schemas/PatchLoadBalancersRulesLoadBalancerRulePartLoadBalancer" + "mac_address": { + "type": "string" + }, + "state": { + "type": "string" + }, + "ip_addresses": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetVMNIVMNIPartIPAddresses" + } + }, + "speed_profile": { + "$ref": "#/components/schemas/GetVMNIVMNIPartSpeedProfile" } } }, - "PatchLoadBalancersRulesLoadBalancerRulePartCertificates": { + "GetVMNIVMNIPartVirtualMachine": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "GetVMNIVMNIPartNetwork": { "type": "object", "properties": { "id": { @@ -23067,19 +24677,10 @@ }, "name": { "type": "string" - }, - "additional_names": { - "type": "array", - "items": { - "type": "string" - } - }, - "state": { - "$ref": "#/components/schemas/CertificateStateEnum" } } }, - "PatchLoadBalancersRulesLoadBalancerRulePartLoadBalancer": { + "GetVMNIVMNIPartVirtualNetwork": { "type": "object", "properties": { "id": { @@ -23090,103 +24691,102 @@ } } }, - "DeleteLoadBalancersRulesLoadBalancerRule200ResponseLoadBalancerRule": { + "GetVMNIVMNIPartIPAddresses": { "type": "object", "properties": { "id": { "type": "string" + }, + "address": { + "type": "string" } } }, - "GetOrganizationIPAddresses200ResponseIPAddresses": { + "GetVMNIVMNIPartSpeedProfile": { "type": "object", "properties": { "id": { "type": "string" }, - "address": { + "name": { "type": "string" }, - "reverse_dns": { + "permalink": { "type": "string" - }, - "vip": { - "type": "boolean" - }, - "allocation_id": { - "type": "string", - "nullable": true - }, - "allocation_type": { - "type": "string", - "nullable": true } } }, - "IPAddressVersionEnum": { + "VirtualMachineNetworkInterfaceNotFoundEnum": { "type": "string", "enum": [ - "ipv4", - "ipv6" - ] - }, - "OneOfNetworkNotFoundOrganizationNotFound404Res": { - "oneOf": [ - { - "$ref": "#/components/schemas/OrganizationNotFoundSchema" - }, - { - "$ref": "#/components/schemas/NetworkNotFoundSchema" - } + "virtual_machine_network_interface_not_found" ] }, - "APIAuthenticator503Schema": { + "VirtualMachineNetworkInterfaceLookup": { "type": "object", - "description": "The service is currently unavailable, please try again later", "properties": { - "code": { - "$ref": "#/components/schemas/ServiceUnavailableEnum" - }, - "description": { + "id": { "type": "string" - }, - "detail": { - "type": "object" } } }, - "NoAvailableAddressesEnum": { - "type": "string", - "enum": [ - "no_available_addresses" - ] - }, - "NoAvailableAddressesSchema": { + "DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterface": { "type": "object", - "description": "Our pool of addresses for that version seems to have run dry. If this issue continues, please contact support.", "properties": { - "code": { - "$ref": "#/components/schemas/NoAvailableAddressesEnum" + "id": { + "type": "string" }, - "description": { + "virtual_machine": { + "$ref": "#/components/schemas/DeleteVirtualMachineNetworkInterfacePartVirtualMachine" + }, + "name": { "type": "string" }, - "detail": { - "type": "object" + "network": { + "allOf": [ + { + "$ref": "#/components/schemas/DeleteVirtualMachineNetworkInterfacePartNetwork" + } + ], + "nullable": true + }, + "virtual_network": { + "allOf": [ + { + "$ref": "#/components/schemas/DeleteVirtualMachineNetworkInterfacePartVirtualNetwork" + } + ], + "nullable": true + }, + "mac_address": { + "type": "string" + }, + "state": { + "type": "string" + }, + "ip_addresses": { + "type": "array", + "items": { + "$ref": "#/components/schemas/DeleteVirtualMachineNetworkInterfacePartIPAddresses" + } + }, + "speed_profile": { + "$ref": "#/components/schemas/DeleteVirtualMachineNetworkInterfacePartSpeedProfile" } } }, - "OneOfNoAvailableAddresses503Res": { - "oneOf": [ - { - "$ref": "#/components/schemas/APIAuthenticator503Schema" + "DeleteVirtualMachineNetworkInterfacePartVirtualMachine": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - { - "$ref": "#/components/schemas/NoAvailableAddressesSchema" + "name": { + "type": "string" } - ] + } }, - "GetIPAddress200ResponseAllocation": { + "DeleteVirtualMachineNetworkInterfacePartNetwork": { "type": "object", "properties": { "id": { @@ -23197,19 +24797,7 @@ } } }, - "ResourceDoesNotSupportUnallocationEnum": { - "type": "string", - "enum": [ - "resource_does_not_support_unallocation" - ] - }, - "NoAllocationEnum": { - "type": "string", - "enum": [ - "no_allocation" - ] - }, - "GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaces": { + "DeleteVirtualMachineNetworkInterfacePartVirtualNetwork": { "type": "object", "properties": { "id": { @@ -23217,54 +24805,61 @@ }, "name": { "type": "string" - }, - "network": { - "$ref": "#/components/schemas/GetVirtualMachineNetworkInterfacesPartNetwork" - }, - "ip_addresses": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetVirtualMachineNetworkInterfacesPartIPAddresses" - } } } }, - "GetVirtualMachineNetworkInterfacesPartNetwork": { + "DeleteVirtualMachineNetworkInterfacePartIPAddresses": { "type": "object", "properties": { "id": { "type": "string" }, - "name": { + "address": { "type": "string" } } }, - "GetVirtualMachineNetworkInterfacesPartIPAddresses": { + "DeleteVirtualMachineNetworkInterfacePartSpeedProfile": { "type": "object", "properties": { "id": { "type": "string" }, - "address": { + "name": { + "type": "string" + }, + "permalink": { "type": "string" } } }, - "GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterface": { + "PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterface": { "type": "object", "properties": { "id": { "type": "string" }, "virtual_machine": { - "$ref": "#/components/schemas/GetVirtualMachineNetworkInterfacePartVirtualMachine" + "$ref": "#/components/schemas/PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualMachine" }, "name": { "type": "string" }, "network": { - "$ref": "#/components/schemas/GetVirtualMachineNetworkInterfacePartNetwork" + "allOf": [ + { + "$ref": "#/components/schemas/PostVirtualMachineNetworkInterfaceAllocateIPPartNetwork" + } + ], + "nullable": true + }, + "virtual_network": { + "allOf": [ + { + "$ref": "#/components/schemas/PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualNetwork" + } + ], + "nullable": true }, "mac_address": { "type": "string" @@ -23275,12 +24870,12 @@ "ip_addresses": { "type": "array", "items": { - "$ref": "#/components/schemas/GetVirtualMachineNetworkInterfacePartIPAddresses" + "$ref": "#/components/schemas/PostVirtualMachineNetworkInterfaceAllocateIPPartIPAddresses" } } } }, - "GetVirtualMachineNetworkInterfacePartVirtualMachine": { + "PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualMachine": { "type": "object", "properties": { "id": { @@ -23291,7 +24886,7 @@ } } }, - "GetVirtualMachineNetworkInterfacePartNetwork": { + "PostVirtualMachineNetworkInterfaceAllocateIPPartNetwork": { "type": "object", "properties": { "id": { @@ -23302,7 +24897,18 @@ } } }, - "GetVirtualMachineNetworkInterfacePartIPAddresses": { + "PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualNetwork": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "PostVirtualMachineNetworkInterfaceAllocateIPPartIPAddresses": { "type": "object", "properties": { "id": { @@ -23313,18 +24919,43 @@ } } }, - "InterfaceNotFoundEnum": { + "VirtualMachineNetworkInterfaceNotFoundSchema": { + "type": "object", + "description": "No network interface was found matching any of the criteria provided in the arguments", + "properties": { + "code": { + "$ref": "#/components/schemas/VirtualMachineNetworkInterfaceNotFoundEnum" + }, + "description": { + "type": "string" + }, + "detail": { + "type": "object" + } + } + }, + "OneOfIPAddressNotFoundVirtualMachineNetworkInterfaceNotFound404Res": { + "oneOf": [ + { + "$ref": "#/components/schemas/VirtualMachineNetworkInterfaceNotFoundSchema" + }, + { + "$ref": "#/components/schemas/IPAddressNotFoundSchema" + } + ] + }, + "InvalidIPEnum": { "type": "string", "enum": [ - "interface_not_found" + "invalid_ip" ] }, - "InterfaceNotFoundSchema": { + "InvalidIPSchema": { "type": "object", - "description": "An interface could not be found for the specified network", + "description": "This IP address is not valid for this network interface.", "properties": { "code": { - "$ref": "#/components/schemas/InterfaceNotFoundEnum" + "$ref": "#/components/schemas/InvalidIPEnum" }, "description": { "type": "string" @@ -23334,33 +24965,59 @@ } } }, - "OneOfInterfaceNotFoundNetworkNotFoundVirtualMachineNotFound404Res": { + "OneOfIPAlreadyAllocatedInvalidIP422Res": { "oneOf": [ { - "$ref": "#/components/schemas/VirtualMachineNotFoundSchema" + "$ref": "#/components/schemas/IPAlreadyAllocatedSchema" }, { - "$ref": "#/components/schemas/NetworkNotFoundSchema" + "$ref": "#/components/schemas/InvalidIPSchema" + } + ] + }, + "OneOfNetworkSpeedProfileNotFoundVirtualMachineNetworkInterfaceNotFound404Res": { + "oneOf": [ + { + "$ref": "#/components/schemas/VirtualMachineNetworkInterfaceNotFoundSchema" }, { - "$ref": "#/components/schemas/InterfaceNotFoundSchema" + "$ref": "#/components/schemas/NetworkSpeedProfileNotFoundSchema" } ] }, - "GetVMNIVMNI200ResponseVirtualMachineNetworkInterface": { + "SpeedProfileAlreadyAssignedEnum": { + "type": "string", + "enum": [ + "speed_profile_already_assigned" + ] + }, + "PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterface": { "type": "object", "properties": { "id": { "type": "string" }, "virtual_machine": { - "$ref": "#/components/schemas/GetVMNIVMNIPartVirtualMachine" + "$ref": "#/components/schemas/PostVirtualMachineNetworkInterfaceAttachPartVirtualMachine" }, "name": { "type": "string" }, "network": { - "$ref": "#/components/schemas/GetVMNIVMNIPartNetwork" + "allOf": [ + { + "$ref": "#/components/schemas/PostVirtualMachineNetworkInterfaceAttachPartNetwork" + } + ], + "nullable": true + }, + "virtual_network": { + "allOf": [ + { + "$ref": "#/components/schemas/PostVirtualMachineNetworkInterfaceAttachPartVirtualNetwork" + } + ], + "nullable": true }, "mac_address": { "type": "string" @@ -23371,15 +25028,26 @@ "ip_addresses": { "type": "array", "items": { - "$ref": "#/components/schemas/GetVMNIVMNIPartIPAddresses" + "$ref": "#/components/schemas/PostVirtualMachineNetworkInterfaceAttachPartIPAddresses" } }, - "speed_profile": { - "$ref": "#/components/schemas/GetVMNIVMNIPartSpeedProfile" + "speed_profile": { + "$ref": "#/components/schemas/PostVirtualMachineNetworkInterfaceAttachPartSpeedProfile" + } + } + }, + "PostVirtualMachineNetworkInterfaceAttachPartVirtualMachine": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" } } }, - "GetVMNIVMNIPartVirtualMachine": { + "PostVirtualMachineNetworkInterfaceAttachPartNetwork": { "type": "object", "properties": { "id": { @@ -23390,7 +25058,7 @@ } } }, - "GetVMNIVMNIPartNetwork": { + "PostVirtualMachineNetworkInterfaceAttachPartVirtualNetwork": { "type": "object", "properties": { "id": { @@ -23401,7 +25069,7 @@ } } }, - "GetVMNIVMNIPartIPAddresses": { + "PostVirtualMachineNetworkInterfaceAttachPartIPAddresses": { "type": "object", "properties": { "id": { @@ -23412,7 +25080,7 @@ } } }, - "GetVMNIVMNIPartSpeedProfile": { + "PostVirtualMachineNetworkInterfaceAttachPartSpeedProfile": { "type": "object", "properties": { "id": { @@ -23426,35 +25094,39 @@ } } }, - "VirtualMachineNetworkInterfaceNotFoundEnum": { + "VirtualMachineNetworkInterfaceAlreadyAttachedEnum": { "type": "string", "enum": [ - "virtual_machine_network_interface_not_found" + "virtual_machine_network_interface_already_attached" ] }, - "VirtualMachineNetworkInterfaceLookup": { - "description": "All 'virtual_machine_network_interface[]' params are mutually exclusive, only one can be provided.", - "type": "object", - "properties": { - "id": { - "type": "string" - } - } - }, - "PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterface": { + "PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterface": { "type": "object", "properties": { "id": { "type": "string" }, "virtual_machine": { - "$ref": "#/components/schemas/PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualMachine" + "$ref": "#/components/schemas/PostVirtualMachineNetworkInterfaceDetachPartVirtualMachine" }, "name": { "type": "string" }, "network": { - "$ref": "#/components/schemas/PostVirtualMachineNetworkInterfaceAllocateIPPartNetwork" + "allOf": [ + { + "$ref": "#/components/schemas/PostVirtualMachineNetworkInterfaceDetachPartNetwork" + } + ], + "nullable": true + }, + "virtual_network": { + "allOf": [ + { + "$ref": "#/components/schemas/PostVirtualMachineNetworkInterfaceDetachPartVirtualNetwork" + } + ], + "nullable": true }, "mac_address": { "type": "string" @@ -23465,12 +25137,15 @@ "ip_addresses": { "type": "array", "items": { - "$ref": "#/components/schemas/PostVirtualMachineNetworkInterfaceAllocateIPPartIPAddresses" + "$ref": "#/components/schemas/PostVirtualMachineNetworkInterfaceDetachPartIPAddresses" } + }, + "speed_profile": { + "$ref": "#/components/schemas/PostVirtualMachineNetworkInterfaceDetachPartSpeedProfile" } } }, - "PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualMachine": { + "PostVirtualMachineNetworkInterfaceDetachPartVirtualMachine": { "type": "object", "properties": { "id": { @@ -23481,7 +25156,7 @@ } } }, - "PostVirtualMachineNetworkInterfaceAllocateIPPartNetwork": { + "PostVirtualMachineNetworkInterfaceDetachPartNetwork": { "type": "object", "properties": { "id": { @@ -23492,120 +25167,46 @@ } } }, - "PostVirtualMachineNetworkInterfaceAllocateIPPartIPAddresses": { + "PostVirtualMachineNetworkInterfaceDetachPartVirtualNetwork": { "type": "object", "properties": { "id": { "type": "string" }, - "address": { + "name": { "type": "string" } } }, - "VirtualMachineNetworkInterfaceNotFoundSchema": { + "PostVirtualMachineNetworkInterfaceDetachPartIPAddresses": { "type": "object", - "description": "No network interface was found matching any of the criteria provided in the arguments", "properties": { - "code": { - "$ref": "#/components/schemas/VirtualMachineNetworkInterfaceNotFoundEnum" - }, - "description": { + "id": { "type": "string" }, - "detail": { - "type": "object" - } - } - }, - "OneOfIPAddressNotFoundVirtualMachineNetworkInterfaceNotFound404Res": { - "oneOf": [ - { - "$ref": "#/components/schemas/VirtualMachineNetworkInterfaceNotFoundSchema" - }, - { - "$ref": "#/components/schemas/IPAddressNotFoundSchema" - } - ] - }, - "InvalidIPEnum": { - "type": "string", - "enum": [ - "invalid_ip" - ] - }, - "InvalidIPSchema": { - "type": "object", - "description": "This IP address is not valid for this network interface.", - "properties": { - "code": { - "$ref": "#/components/schemas/InvalidIPEnum" - }, - "description": { + "address": { "type": "string" - }, - "detail": { - "type": "object" } } }, - "OneOfIPAlreadyAllocatedInvalidIP422Res": { - "oneOf": [ - { - "$ref": "#/components/schemas/IPAlreadyAllocatedSchema" - }, - { - "$ref": "#/components/schemas/InvalidIPSchema" - } - ] - }, - "NetworkSpeedProfileLookup": { - "description": "All 'speed_profile[]' params are mutually exclusive, only one can be provided.", + "PostVirtualMachineNetworkInterfaceDetachPartSpeedProfile": { "type": "object", "properties": { "id": { "type": "string" }, - "permalink": { + "name": { "type": "string" - } - } - }, - "NetworkSpeedProfileNotFoundEnum": { - "type": "string", - "enum": [ - "network_speed_profile_not_found" - ] - }, - "NetworkSpeedProfileNotFoundSchema": { - "type": "object", - "description": "No network speed profile was found matching any of the criteria provided in the arguments", - "properties": { - "code": { - "$ref": "#/components/schemas/NetworkSpeedProfileNotFoundEnum" }, - "description": { + "permalink": { "type": "string" - }, - "detail": { - "type": "object" } } }, - "OneOfNetworkSpeedProfileNotFoundVirtualMachineNetworkInterfaceNotFound404Res": { - "oneOf": [ - { - "$ref": "#/components/schemas/VirtualMachineNetworkInterfaceNotFoundSchema" - }, - { - "$ref": "#/components/schemas/NetworkSpeedProfileNotFoundSchema" - } - ] - }, - "SpeedProfileAlreadyAssignedEnum": { + "VirtualMachineNetworkInterfaceAlreadyDetachedEnum": { "type": "string", "enum": [ - "speed_profile_already_assigned" + "virtual_machine_network_interface_already_detached" ] }, "GetOrganizationTags200ResponseTags": { @@ -23623,7 +25224,6 @@ } }, "TagArguments": { - "description": "All 'properties[]' params are mutually exclusive, only one can be provided.", "type": "object", "properties": { "name": { @@ -23641,7 +25241,6 @@ ] }, "TagLookup": { - "description": "All 'tag[]' params are mutually exclusive, only one can be provided.", "type": "object", "properties": { "id": { @@ -23650,7 +25249,6 @@ } }, "VirtualMachineGroupArguments": { - "description": "All 'properties[]' params are mutually exclusive, only one can be provided.", "type": "object", "properties": { "name": { @@ -23751,75 +25349,250 @@ "GetCountryCountryStates200ResponseCountryStates": { "type": "object", "properties": { - "id": { - "type": "string" + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "CountryStateNotFoundEnum": { + "type": "string", + "enum": [ + "country_state_not_found" + ] + }, + "GetCurrencies200ResponseCurrencies": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "CurrencyNotFoundEnum": { + "type": "string", + "enum": [ + "currency_not_found" + ] + }, + "TaskNotFoundEnum": { + "type": "string", + "enum": [ + "task_not_found" + ] + }, + "GetUsersCurrent200ResponseOrganizations": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "sub_domain": { + "type": "string" + } + } + }, + "NoUserAssociatedWithIdentityEnum": { + "type": "string", + "enum": [ + "no_user_associated_with_identity" + ] + }, + "IdentityNotLinkedToWebSessionEnum": { + "type": "string", + "enum": [ + "identity_not_linked_to_web_session" + ] + }, + "IdentityNotLinkedToWebSessionSchema": { + "type": "object", + "description": "The authenticated identity is not linked to a web session", + "properties": { + "code": { + "$ref": "#/components/schemas/IdentityNotLinkedToWebSessionEnum" + }, + "description": { + "type": "string" + }, + "detail": { + "type": "object" + } + } + }, + "OneOfIdentityNotLinkedToWebSession400Res": { + "oneOf": [ + { + "$ref": "#/components/schemas/APIAuthenticator400Schema" + }, + { + "$ref": "#/components/schemas/IdentityNotLinkedToWebSessionSchema" + } + ] + }, + "ObjectStorageClusterLookup": { + "type": "object", + "properties": { + "region": { + "type": "string" + } + } + }, + "ObjectStorageAccount": { + "type": "object", + "properties": { + "region": { + "type": "string" + }, + "created_at": { + "type": "integer" + }, + "provisioning_state": { + "$ref": "#/components/schemas/ObjectStorageAccountProvisioningStateEnum" + }, + "size": { + "type": "integer", + "description": "The total storage used in bytes (updated periodically)" + }, + "bucket_count": { + "type": "integer" + }, + "data_center": { + "$ref": "#/components/schemas/DataCenter" + } + } + }, + "ObjectStorageAccountProvisioningStateEnum": { + "type": "string", + "enum": [ + "provisioning", + "provisioned", + "failed" + ] + }, + "ObjectStorageClusterNotFoundEnum": { + "type": "string", + "enum": [ + "object_storage_cluster_not_found" + ] + }, + "ObjectStorageClusterNotFoundSchema": { + "type": "object", + "description": "No object storage cluster was found matching any of the criteria provided in the arguments", + "properties": { + "code": { + "$ref": "#/components/schemas/ObjectStorageClusterNotFoundEnum" }, - "name": { + "description": { "type": "string" + }, + "detail": { + "type": "object" } } }, - "CountryStateNotFoundEnum": { + "OneOfObjectStorageClusterNotFoundOrganizationNotFound404Res": { + "oneOf": [ + { + "$ref": "#/components/schemas/OrganizationNotFoundSchema" + }, + { + "$ref": "#/components/schemas/ObjectStorageClusterNotFoundSchema" + } + ] + }, + "ObjectStorageAccountNotProvisionedEnum": { "type": "string", "enum": [ - "country_state_not_found" + "object_storage_account_not_provisioned" ] }, - "GetCurrencies200ResponseCurrencies": { + "ObjectStorageAccountNotProvisionedSchema": { "type": "object", + "description": "An object storage account was found but it is not provisioned. If the problem persists, try re-creating the account.", "properties": { - "id": { - "type": "string" + "code": { + "$ref": "#/components/schemas/ObjectStorageAccountNotProvisionedEnum" }, - "name": { + "description": { "type": "string" + }, + "detail": { + "type": "object" } } }, - "CurrencyNotFoundEnum": { - "type": "string", - "enum": [ - "currency_not_found" - ] - }, - "TaskNotFoundEnum": { + "ObjectStorageAccountSuspendedEnum": { "type": "string", "enum": [ - "task_not_found" + "object_storage_account_suspended" ] }, - "GetUsersCurrent200ResponseOrganizations": { + "ObjectStorageAccountSuspendedSchema": { "type": "object", + "description": "An object storage account was found from the arguments provided but it is suspended", "properties": { - "id": { - "type": "string" + "code": { + "$ref": "#/components/schemas/ObjectStorageAccountSuspendedEnum" }, - "name": { + "description": { "type": "string" }, - "sub_domain": { - "type": "string" + "detail": { + "type": "object" } } }, - "NoUserAssociatedWithIdentityEnum": { - "type": "string", - "enum": [ - "no_user_associated_with_identity" + "OneOfObjectStorageAccountNotProvisionedOrganizationSuspendedPermissionDenied403Res": { + "oneOf": [ + { + "$ref": "#/components/schemas/UnauthorizedNetworkForAPITokenSchema" + }, + { + "$ref": "#/components/schemas/InvalidAPITokenSchema" + }, + { + "$ref": "#/components/schemas/InvalidCapabilitiesTokenSchema" + }, + { + "$ref": "#/components/schemas/ScopeNotGrantedErrorSchema" + }, + { + "$ref": "#/components/schemas/OrganizationSuspendedSchema" + }, + { + "$ref": "#/components/schemas/OrganizationNotActivatedSchema" + }, + { + "$ref": "#/components/schemas/PermissionDeniedSchema" + }, + { + "$ref": "#/components/schemas/ObjectStorageAccountNotProvisionedSchema" + }, + { + "$ref": "#/components/schemas/ObjectStorageAccountSuspendedSchema" + } ] }, - "IdentityNotLinkedToWebSessionEnum": { + "ObjectStorageAccountNotFoundEnum": { "type": "string", "enum": [ - "identity_not_linked_to_web_session" + "object_storage_account_not_found" ] }, - "IdentityNotLinkedToWebSessionSchema": { + "ObjectStorageAccountNotFoundSchema": { "type": "object", - "description": "The authenticated identity is not linked to a web session", + "description": "No object storage account was found matching any of the criteria provided in the arguments", "properties": { "code": { - "$ref": "#/components/schemas/IdentityNotLinkedToWebSessionEnum" + "$ref": "#/components/schemas/ObjectStorageAccountNotFoundEnum" }, "description": { "type": "string" @@ -23829,27 +25602,34 @@ } } }, - "OneOfIdentityNotLinkedToWebSession400Res": { + "OneOfObjectStorageAccountNotFoundObjectStorageClusterNotFoundOrganizationNotFound404Res": { "oneOf": [ { - "$ref": "#/components/schemas/APIAuthenticator400Schema" + "$ref": "#/components/schemas/OrganizationNotFoundSchema" }, { - "$ref": "#/components/schemas/IdentityNotLinkedToWebSessionSchema" + "$ref": "#/components/schemas/ObjectStorageClusterNotFoundSchema" + }, + { + "$ref": "#/components/schemas/ObjectStorageAccountNotFoundSchema" } ] }, - "ObjectStorageClusterLookup": { - "description": "All 'object_storage_cluster[]' params are mutually exclusive, only one can be provided.", + "DeleteOrganizationObjectStorageObjectStorageCluster200ResponseTrashObject": { "type": "object", "properties": { - "region": { + "id": { + "type": "string" + }, + "keep_until": { + "type": "integer" + }, + "object_type": { "type": "string" } } }, "ObjectStorageBucketArguments": { - "description": "All 'properties[]' params are mutually exclusive, only one can be provided.", "type": "object", "properties": { "name": { @@ -23878,7 +25658,6 @@ } }, "ObjectStorageBucketACLArguments": { - "description": "All 'access_control_list[]' params are mutually exclusive, only one can be provided.", "type": "object", "properties": { "public_read": { @@ -23944,188 +25723,59 @@ "serve_static_site": { "type": "boolean" }, - "static_site_index": { - "type": "string", - "nullable": true - }, - "static_site_error": { - "type": "string", - "nullable": true - }, - "public_url": { - "type": "string" - }, - "access_control_list": { - "$ref": "#/components/schemas/ObjectStorageBucketAccessControlList" - } - } - }, - "ObjectStorageBucketStateEnum": { - "type": "string", - "enum": [ - "pending", - "configured" - ] - }, - "ObjectStorageBucketAccessControlList": { - "type": "object", - "properties": { - "public_read": { - "type": "boolean" - }, - "public_list": { - "type": "boolean" - }, - "all_keys_read": { - "type": "boolean" - }, - "all_keys_write": { - "type": "boolean" - }, - "read_key_ids": { - "type": "array", - "items": { - "type": "string" - } - }, - "write_key_ids": { - "type": "array", - "items": { - "type": "string" - } - } - } - }, - "ObjectStorageAccountNotProvisionedEnum": { - "type": "string", - "enum": [ - "object_storage_account_not_provisioned" - ] - }, - "ObjectStorageAccountNotProvisionedSchema": { - "type": "object", - "description": "An object storage account was found from the arguments provided but it is not provisioned", - "properties": { - "code": { - "$ref": "#/components/schemas/ObjectStorageAccountNotProvisionedEnum" - }, - "description": { - "type": "string" - }, - "detail": { - "type": "object" - } - } - }, - "ObjectStorageAccountSuspendedEnum": { - "type": "string", - "enum": [ - "object_storage_account_suspended" - ] - }, - "ObjectStorageAccountSuspendedSchema": { - "type": "object", - "description": "An object storage account was found from the arguments provided but it is suspended", - "properties": { - "code": { - "$ref": "#/components/schemas/ObjectStorageAccountSuspendedEnum" - }, - "description": { - "type": "string" - }, - "detail": { - "type": "object" - } - } - }, - "OneOfObjectStorageAccountNotProvisionedOrganizationSuspendedPermissionDenied403Res": { - "oneOf": [ - { - "$ref": "#/components/schemas/UnauthorizedNetworkForAPITokenSchema" - }, - { - "$ref": "#/components/schemas/InvalidAPITokenSchema" - }, - { - "$ref": "#/components/schemas/InvalidCapabilitiesTokenSchema" - }, - { - "$ref": "#/components/schemas/ScopeNotGrantedErrorSchema" - }, - { - "$ref": "#/components/schemas/OrganizationSuspendedSchema" - }, - { - "$ref": "#/components/schemas/OrganizationNotActivatedSchema" - }, - { - "$ref": "#/components/schemas/ObjectStorageAccountNotProvisionedSchema" - }, - { - "$ref": "#/components/schemas/ObjectStorageAccountSuspendedSchema" - }, - { - "$ref": "#/components/schemas/PermissionDeniedSchema" - } - ] - }, - "ObjectStorageClusterNotFoundEnum": { - "type": "string", - "enum": [ - "object_storage_cluster_not_found" - ] - }, - "ObjectStorageClusterNotFoundSchema": { - "type": "object", - "description": "No object storage cluster was found matching any of the criteria provided in the arguments", - "properties": { - "code": { - "$ref": "#/components/schemas/ObjectStorageClusterNotFoundEnum" - }, - "description": { + "static_site_index": { + "type": "string", + "nullable": true + }, + "static_site_error": { + "type": "string", + "nullable": true + }, + "public_url": { "type": "string" }, - "detail": { - "type": "object" + "access_control_list": { + "$ref": "#/components/schemas/ObjectStorageBucketAccessControlList" } } }, - "ObjectStorageAccountNotFoundEnum": { + "ObjectStorageBucketStateEnum": { "type": "string", "enum": [ - "object_storage_account_not_found" + "pending", + "configured" ] }, - "ObjectStorageAccountNotFoundSchema": { + "ObjectStorageBucketAccessControlList": { "type": "object", - "description": "No object storage account was found matching any of the criteria provided in the arguments", "properties": { - "code": { - "$ref": "#/components/schemas/ObjectStorageAccountNotFoundEnum" + "public_read": { + "type": "boolean" }, - "description": { - "type": "string" + "public_list": { + "type": "boolean" }, - "detail": { - "type": "object" - } - } - }, - "OneOfObjectStorageAccountNotFoundObjectStorageClusterNotFoundOrganizationNotFound404Res": { - "oneOf": [ - { - "$ref": "#/components/schemas/OrganizationNotFoundSchema" + "all_keys_read": { + "type": "boolean" }, - { - "$ref": "#/components/schemas/ObjectStorageClusterNotFoundSchema" + "all_keys_write": { + "type": "boolean" }, - { - "$ref": "#/components/schemas/ObjectStorageAccountNotFoundSchema" + "read_key_ids": { + "type": "array", + "items": { + "type": "string" + } + }, + "write_key_ids": { + "type": "array", + "items": { + "type": "string" + } } - ] + } }, "ObjectStorageBucketLookup": { - "description": "All 'bucket[]' params are mutually exclusive, only one can be provided.", "type": "object", "properties": { "name": { @@ -24288,7 +25938,6 @@ ] }, "ObjectStorageObjectPresignedURLArguments": { - "description": "All 'properties[]' params are mutually exclusive, only one can be provided.", "type": "object", "properties": { "expiry_seconds": { @@ -24296,6 +25945,143 @@ "description": "The number of seconds the url should be valid for" } } + }, + "ObjectStorageAccessKeyArguments": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the access key" + }, + "all_buckets_read": { + "type": "boolean", + "description": "Some S3 clients require this permission to successfully connect to your account." + }, + "all_objects_read": { + "type": "boolean", + "description": "Global read access for objects in all buckets" + }, + "all_objects_write": { + "type": "boolean", + "description": "Global write access to create and delete objects in all buckets" + } + }, + "required": [ + "name" + ] + }, + "ObjectStorageAccessKey": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "created_at": { + "type": "integer" + }, + "region": { + "type": "string" + }, + "state": { + "$ref": "#/components/schemas/ObjectStorageAccessKeyStateEnum" + }, + "all_buckets_read": { + "type": "boolean", + "description": "Global access to list all buckets" + }, + "all_objects_read": { + "type": "boolean", + "description": "Global read access for objects in all buckets" + }, + "all_objects_write": { + "type": "boolean", + "description": "Global write access to create and delete objects in all buckets" + }, + "read_buckets": { + "type": "array", + "items": { + "type": "string", + "description": "The names of specific buckets that this key has read access to, empty if all_objects_read is true" + } + }, + "write_buckets": { + "type": "array", + "items": { + "type": "string", + "description": "The names of specific buckets that this key has write access to, empty if all_objects_write is true" + } + }, + "server_url": { + "type": "string", + "description": "The server URL for the S3 credentials", + "nullable": true + }, + "s3_access_key_id": { + "type": "string", + "description": "The S3 access key ID", + "nullable": true + }, + "s3_secret_access_key": { + "type": "string", + "description": "Only available when using the generate credentials endpoint", + "nullable": true + } + } + }, + "ObjectStorageAccessKeyStateEnum": { + "type": "string", + "enum": [ + "pending", + "configured" + ] + }, + "ObjectStorageAccessKeyLookup": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + }, + "ObjectStorageAccessKeyNotFoundEnum": { + "type": "string", + "enum": [ + "object_storage_access_key_not_found" + ] + }, + "ObjectStorageProvisioningErrorEnum": { + "type": "string", + "enum": [ + "object_storage_provisioning_error" + ] + }, + "ObjectStorageProvisioningErrorSchema": { + "type": "object", + "description": "Provisioning is in progress. Please try again later.", + "properties": { + "code": { + "$ref": "#/components/schemas/ObjectStorageProvisioningErrorEnum" + }, + "description": { + "type": "string" + }, + "detail": { + "type": "object" + } + } + }, + "OneOfObjectStorageProvisioningErrorValidationError422Res": { + "oneOf": [ + { + "$ref": "#/components/schemas/ValidationErrorSchema" + }, + { + "$ref": "#/components/schemas/ObjectStorageProvisioningErrorSchema" + } + ] } }, "securitySchemes": { @@ -24346,6 +26132,7 @@ "api.katapult.io/core/v1/virtual_machines:power_actions": "Start & stop virtual machines", "api.katapult.io/core/v1/virtual_machines:console": "Access virtual machine consoles", "api.katapult.io/core/v1/virtual_machines:authorized_keys": "Access virtual machine authorized keys", + "api.katapult.io/core/v1/virtual_machines:network_interfaces": "Access virtual machine network interfaces", "api.katapult.io/core/v1/virtual_machine_groups": "Manage virtual machine groups", "api.katapult.io/core/v1/virtual_machine_groups:read": "Read-only access to virtual machine groups", "api.katapult.io/core/v1/virtual_networks": "Manage virtual networks", @@ -25420,6 +27207,16 @@ } } }, + "NetworkNotFoundVirtualMachineNotFoundVirtualNetworkNotFound404Res": { + "description": "404 error response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OneOfNetworkNotFoundVirtualMachineNotFoundVirtualNetworkNotFound404Res" + } + } + } + }, "InterfaceNotFoundNetworkNotFoundVirtualMachineNotFound404Res": { "description": "404 error response", "content": { @@ -25500,6 +27297,46 @@ } } }, + "VirtualMachineNetworkInterfaceAlreadyAttachedResponse": { + "description": "The virtual machine network interface is already attached to the virtual machine", + "content": { + "application/json": { + "schema": { + "properties": { + "code": { + "$ref": "#/components/schemas/VirtualMachineNetworkInterfaceAlreadyAttachedEnum" + }, + "description": { + "type": "string" + }, + "detail": { + "type": "object" + } + } + } + } + } + }, + "VirtualMachineNetworkInterfaceAlreadyDetachedResponse": { + "description": "The virtual machine network interface is already detached from the virtual machine", + "content": { + "application/json": { + "schema": { + "properties": { + "code": { + "$ref": "#/components/schemas/VirtualMachineNetworkInterfaceAlreadyDetachedEnum" + }, + "description": { + "type": "string" + }, + "detail": { + "type": "object" + } + } + } + } + } + }, "TagNotFoundResponse": { "description": "No tag was found matching any of the criteria provided in the arguments", "content": { @@ -25710,6 +27547,16 @@ } } }, + "ObjectStorageClusterNotFoundOrganizationNotFound404Res": { + "description": "404 error response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OneOfObjectStorageClusterNotFoundOrganizationNotFound404Res" + } + } + } + }, "ObjectStorageAccountNotProvisionedOrganizationSuspendedPermissionDenied403Res": { "description": "403 error response", "content": { @@ -25799,6 +27646,56 @@ } } } + }, + "ObjectStorageAccessKeyNotFoundResponse": { + "description": "No object storage access key was found matching any of the criteria provided in the arguments.", + "content": { + "application/json": { + "schema": { + "properties": { + "code": { + "$ref": "#/components/schemas/ObjectStorageAccessKeyNotFoundEnum" + }, + "description": { + "type": "string" + }, + "detail": { + "type": "object" + } + } + } + } + } + }, + "ObjectStorageProvisioningErrorResponse": { + "description": "Provisioning is in progress. Please try again later.", + "content": { + "application/json": { + "schema": { + "properties": { + "code": { + "$ref": "#/components/schemas/ObjectStorageProvisioningErrorEnum" + }, + "description": { + "type": "string" + }, + "detail": { + "type": "object" + } + } + } + } + } + }, + "ObjectStorageProvisioningErrorValidationError422Res": { + "description": "422 error response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OneOfObjectStorageProvisioningErrorValidationError422Res" + } + } + } } } }, @@ -25949,11 +27846,14 @@ { "name": "Users" }, + { + "name": "Object storage" + }, { "name": "Buckets" }, { - "name": "Object storage" + "name": "Access keys" } ], "x-tagGroups": [ @@ -26077,6 +27977,7 @@ { "name": "Object storage", "tags": [ + "Access keys", "Buckets", "Object storage" ] diff --git a/katapult-public-openapi.json b/katapult-public-openapi.json index ada5665c..00506ba6 100644 --- a/katapult-public-openapi.json +++ b/katapult-public-openapi.json @@ -1,7 +1,7 @@ { "openapi": "3.0.0", "info": { - "x-katapult-version": "2.60.0", + "x-katapult-version": "2.62.1", "version": "1.0.0", "title": "Katapult Public API", "description": "Welcome to the documentation for the Katapult Public API" @@ -185,7 +185,7 @@ "post": { "operationId": "post:signups", "summary": "Create signup", - "description": "This will create a new signup object and e-mail the appropriate welcome e-mail to the given email address", + "description": "This will create a new signup object, which can be either verified by e-mail or by the user creating an account in Identity", "tags": [ "Signups" ], @@ -194,6 +194,10 @@ "application/json": { "schema": { "properties": { + "verify_with_email": { + "type": "boolean", + "description": "If true, the user will be sent an email to verify their e-mail address, and if false, the user will need to verify their e-mail address when they create an account in Identity" + }, "email_address": { "type": "string", "description": "The e-mail address that should receive the welcome e-mail" @@ -205,17 +209,14 @@ "campaign": { "$ref": "#/components/schemas/SignupCampaignArguments" } - }, - "required": [ - "email_address" - ] + } } } } }, "responses": { "200": { - "description": "This will create a new signup object and e-mail the appropriate welcome e-mail to the given email address", + "description": "This will create a new signup object, which can be either verified by e-mail or by the user creating an account in Identity", "content": { "application/json": { "schema": { @@ -226,12 +227,19 @@ }, "email_address": { "type": "string", - "description": "The e-mail address that was sent the welcome email" + "description": "The e-mail address that was sent the welcome email", + "nullable": true + }, + "url": { + "type": "string", + "description": "The URL for the user to continue their signup process, only available if verify_with_email is false", + "nullable": true } }, "required": [ "id", - "email_address" + "email_address", + "url" ] } } @@ -385,7 +393,6 @@ "components": { "schemas": { "SignupCampaignArguments": { - "description": "All 'campaign[]' params are mutually exclusive, only one can be provided.", "type": "object", "properties": { "id": { @@ -545,7 +552,6 @@ } }, "PricingEstimateResourceArguments": { - "description": "All 'resources[]' params are mutually exclusive, only one can be provided.", "type": "object", "properties": { "resource": { diff --git a/src/Core/Client.php b/src/Core/Client.php index 7896114b..81af6cfc 100644 --- a/src/Core/Client.php +++ b/src/Core/Client.php @@ -31,13 +31,9 @@ class Client extends Runtime\Client\Client * All 'organization[]' params are mutually exclusive, only one can be provided. * @var array $annotations[][key] An array of annotations to filter by. * - * All 'annotations[]' params are mutually exclusive, only one can be provided. - * * All `annotations[]` params should have the same amount of elements. * @var array $annotations[][value] An array of annotations to filter by. * - * All 'annotations[]' params are mutually exclusive, only one can be provided. - * * All `annotations[]` params should have the same amount of elements. * @var int $page The page number to request. If not provided, the first page will be returned. * @var int $per_page The number of items to return per page. If not provided, the default value will be used. @@ -155,25 +151,185 @@ public function postApiTokenRegenerateSecret(?Model\ApiTokensApiTokenRegenerateS } /** - * Returns a list of all address list entries for a given address list + * Create a new access key in an object storage account * ## Scopes - * - `address_lists` - * - `address_lists:read`. + * - `object_storage`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * + * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) + * + * @return Model\OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostResponse201|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\PostOrganizationObjectStorageObjectStorageClusterAccessKeysBadRequestException + * @throws Exception\PostOrganizationObjectStorageObjectStorageClusterAccessKeysForbiddenException + * @throws Exception\PostOrganizationObjectStorageObjectStorageClusterAccessKeysNotFoundException + * @throws Exception\PostOrganizationObjectStorageObjectStorageClusterAccessKeysNotAcceptableException + * @throws Exception\PostOrganizationObjectStorageObjectStorageClusterAccessKeysUnprocessableEntityException + * @throws Exception\PostOrganizationObjectStorageObjectStorageClusterAccessKeysTooManyRequestsException + * @throws Exception\PostOrganizationObjectStorageObjectStorageClusterAccessKeysServiceUnavailableException + */ + public function postOrganizationObjectStorageObjectStorageClusterAccessKeys(?Model\OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\PostOrganizationObjectStorageObjectStorageClusterAccessKeys($requestBody), $fetch); + } + + /** + * Returns a list of all object storage access keys for a given organization + * ## Scopes + * - `object_storage`. * * ### OAuth2 Scopes * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. * * @param array $queryParameters { * - * @var string $address_list[id] The address list for which the entries should be returned. + * @var string $organization[id] The organization to return access keys for. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[sub_domain] The organization to return access keys for. * - * All 'address_list[]' params are mutually exclusive, only one can be provided. + * All 'organization[]' params are mutually exclusive, only one can be provided. * @var int $page The page number to request. If not provided, the first page will be returned. * @var int $per_page The number of items to return per page. If not provided, the default value will be used. * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * + * @return Model\OrganizationsOrganizationObjectStorageAccessKeysGetResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\GetOrganizationObjectStorageAccessKeysBadRequestException + * @throws Exception\GetOrganizationObjectStorageAccessKeysForbiddenException + * @throws Exception\GetOrganizationObjectStorageAccessKeysNotFoundException + * @throws Exception\GetOrganizationObjectStorageAccessKeysTooManyRequestsException + * @throws Exception\GetOrganizationObjectStorageAccessKeysServiceUnavailableException + */ + public function getOrganizationObjectStorageAccessKeys(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\GetOrganizationObjectStorageAccessKeys($queryParameters), $fetch); + } + + /** + * Returns new S3 credentials for an object storage access key. Existing credentials cannot be retrieved. Credentials may take a few minutes to become active. + * ## Scopes + * - `object_storage`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * + * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) + * + * @return Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\PostObjectStorageAccessKeyGenerateCredentialsBadRequestException + * @throws Exception\PostObjectStorageAccessKeyGenerateCredentialsForbiddenException + * @throws Exception\PostObjectStorageAccessKeyGenerateCredentialsNotFoundException + * @throws Exception\PostObjectStorageAccessKeyGenerateCredentialsNotAcceptableException + * @throws Exception\PostObjectStorageAccessKeyGenerateCredentialsUnprocessableEntityException + * @throws Exception\PostObjectStorageAccessKeyGenerateCredentialsTooManyRequestsException + * @throws Exception\PostObjectStorageAccessKeyGenerateCredentialsServiceUnavailableException + */ + public function postObjectStorageAccessKeyGenerateCredentials(?Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\PostObjectStorageAccessKeyGenerateCredentials($requestBody), $fetch); + } + + /** + * Delete an object storage access key + * ## Scopes + * - `object_storage`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * + * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) + * + * @return Model\ObjectStorageAccessKeysAccessKeyDeleteResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\DeleteObjectStorageAccessKeyBadRequestException + * @throws Exception\DeleteObjectStorageAccessKeyForbiddenException + * @throws Exception\DeleteObjectStorageAccessKeyNotFoundException + * @throws Exception\DeleteObjectStorageAccessKeyTooManyRequestsException + * @throws Exception\DeleteObjectStorageAccessKeyServiceUnavailableException + * @throws Exception\DeleteObjectStorageAccessKeyGatewayTimeoutException + */ + public function deleteObjectStorageAccessKey(?Model\ObjectStorageAccessKeysAccessKeyDeleteBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\DeleteObjectStorageAccessKey($requestBody), $fetch); + } + + /** + * Returns object storage access key details. + * ## Scopes + * - `object_storage`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * + * @param array $queryParameters { + * + * @var string $access_key[id] The object storage access key to find. + * } + * + * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) + * + * @return Model\ObjectStorageAccessKeysAccessKeyGetResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\GetObjectStorageAccessKeyBadRequestException + * @throws Exception\GetObjectStorageAccessKeyForbiddenException + * @throws Exception\GetObjectStorageAccessKeyNotFoundException + * @throws Exception\GetObjectStorageAccessKeyTooManyRequestsException + * @throws Exception\GetObjectStorageAccessKeyServiceUnavailableException + */ + public function getObjectStorageAccessKey(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\GetObjectStorageAccessKey($queryParameters), $fetch); + } + + /** + * Updates an object storage access key with new properties + * ## Scopes + * - `object_storage`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * + * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) + * + * @return Model\ObjectStorageAccessKeysAccessKeyPatchResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\PatchObjectStorageAccessKeyBadRequestException + * @throws Exception\PatchObjectStorageAccessKeyForbiddenException + * @throws Exception\PatchObjectStorageAccessKeyNotFoundException + * @throws Exception\PatchObjectStorageAccessKeyNotAcceptableException + * @throws Exception\PatchObjectStorageAccessKeyUnprocessableEntityException + * @throws Exception\PatchObjectStorageAccessKeyTooManyRequestsException + * @throws Exception\PatchObjectStorageAccessKeyServiceUnavailableException + */ + public function patchObjectStorageAccessKey(?Model\ObjectStorageAccessKeysAccessKeyPatchBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\PatchObjectStorageAccessKey($requestBody), $fetch); + } + + /** + * Returns a list of all address list entries for a given address list + * ## Scopes + * - `address_lists` + * - `address_lists:read`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * + * @param array $queryParameters { + * + * @var string $address_list[id] The address list for which the entries should be returned + * @var int $page The page number to request. If not provided, the first page will be returned. + * @var int $per_page The number of items to return per page. If not provided, the default value will be used. + * } + * + * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) + * * @return Model\AddressListsAddressListEntriesGetResponse200|\Psr\Http\Message\ResponseInterface|null * * @throws Exception\GetAddressListEntriesBadRequestException @@ -246,9 +402,7 @@ public function deleteAddressListEntry(?Model\AddressListEntriesAddressListEntry * @param array $queryParameters { * * @var string $address_list_entry[id] The address list entry to return. - * - * All 'address_list_entry[]' params are mutually exclusive, only one can be provided. - * } + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -361,13 +515,9 @@ public function getAddressLists(array $queryParameters = [], string $fetch = sel * All 'organization[]' params are mutually exclusive, only one can be provided. * @var array $annotations[][key] An array of annotations to filter by. * - * All 'annotations[]' params are mutually exclusive, only one can be provided. - * * All `annotations[]` params should have the same amount of elements. * @var array $annotations[][value] An array of annotations to filter by. * - * All 'annotations[]' params are mutually exclusive, only one can be provided. - * * All `annotations[]` params should have the same amount of elements. * @var int $page The page number to request. If not provided, the first page will be returned. * @var int $per_page The number of items to return per page. If not provided, the default value will be used. @@ -447,9 +597,7 @@ public function deleteAddressList(?Model\AddressListsAddressListDeleteBody $requ * @param array $queryParameters { * * @var string $address_list[id] The address list to return. - * - * All 'address_list[]' params are mutually exclusive, only one can be provided. - * } + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -551,13 +699,9 @@ public function deleteObjectStorageObjectStorageClusterBucket(?Model\ObjectStora * * @param array $queryParameters { * - * @var string $object_storage_cluster[region] The object storage cluster region for the bucket. - * - * All 'object_storage_cluster[]' params are mutually exclusive, only one can be provided. + * @var string $object_storage_cluster[region] The object storage cluster region for the bucket * @var string $bucket[name] The name of the object storage bucket. - * - * All 'bucket[]' params are mutually exclusive, only one can be provided. - * } + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -638,12 +782,8 @@ public function postObjectStorageObjectStorageClusterBucketRevokePresignedUrls(? * * @param array $queryParameters { * - * @var string $object_storage_cluster[region] The object storage cluster region for the bucket. - * - * All 'object_storage_cluster[]' params are mutually exclusive, only one can be provided. - * @var string $bucket[name] The name of the object storage bucket. - * - * All 'bucket[]' params are mutually exclusive, only one can be provided. + * @var string $object_storage_cluster[region] The object storage cluster region for the bucket + * @var string $bucket[name] The name of the object storage bucket * @var string $path The name or path for the object * } * @@ -751,7 +891,7 @@ public function postOrganizationVirtualMachinesBuildFromSpec(?Model\Organization * * @param array $queryParameters { * - * @var string $virtual_machine_build[id] All 'virtual_machine_build[]' params are mutually exclusive, only one can be provided. + * @var string $virtual_machine_build[id] * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) @@ -812,7 +952,7 @@ public function getOrganizationCertificates(array $queryParameters = [], string * * @param array $queryParameters { * - * @var string $certificate[id] All 'certificate[]' params are mutually exclusive, only one can be provided. + * @var string $certificate[id] * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) @@ -950,9 +1090,7 @@ public function getCountryCountryStates(array $queryParameters = [], string $fet * @param array $queryParameters { * * @var string $country_state[id] The country state to return. - * - * All 'country_state[]' params are mutually exclusive, only one can be provided. - * } + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -1410,12 +1548,10 @@ public function postVirtualMachineDiskBackupPolicies(?Model\VirtualMachinesVirtu * * @param array $queryParameters { * - * @var string $disk[id] The disk to return disk backup policies for. - * - * All 'disk[]' params are mutually exclusive, only one can be provided. - * @var int $page The page number to request. If not provided, the first page will be returned. - * @var int $per_page The number of items to return per page. If not provided, the default value will be used. - * } + * @var string $disk[id] The disk to return disk backup policies for + * @var int $page The page number to request. If not provided, the first page will be returned. + * @var int $per_page The number of items to return per page. If not provided, the default value will be used. + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -1494,9 +1630,7 @@ public function deleteDiskBackupPolicy(?Model\DiskBackupPoliciesDiskBackupPolicy * @param array $queryParameters { * * @var string $disk_backup_policy[id] The disk backup policy to get information for. - * - * All 'disk_backup_policy[]' params are mutually exclusive, only one can be provided. - * } + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -1611,9 +1745,7 @@ public function getDiskTemplateVersions(array $queryParameters = [], string $fet * @param array $queryParameters { * * @var string $disk_template_version[id] The disk template version to return. - * - * All 'disk_template_version[]' params are mutually exclusive, only one can be provided. - * } + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -1642,9 +1774,7 @@ public function getDiskTemplateVersion(array $queryParameters = [], string $fetc * @param array $queryParameters { * * @var string $disk_template_version[id] The disk template version to return. - * - * All 'disk_template_version[]' params are mutually exclusive, only one can be provided. - * } + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -1679,12 +1809,10 @@ public function getDiskTemplateVersionSpec(array $queryParameters = [], string $ * * All 'organization[]' params are mutually exclusive, only one can be provided. * @var bool $include_universal Whether or not to include universal templates - * @var string $operating_system[id] An operating system to use to filter disk templates. - * - * All 'operating_system[]' params are mutually exclusive, only one can be provided. - * @var int $page The page number to request. If not provided, the first page will be returned. - * @var int $per_page The number of items to return per page. If not provided, the default value will be used. - * } + * @var string $operating_system[id] An operating system to use to filter disk templates + * @var int $page The page number to request. If not provided, the first page will be returned. + * @var int $per_page The number of items to return per page. If not provided, the default value will be used. + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -1754,13 +1882,9 @@ public function getDiskTemplate(array $queryParameters = [], string $fetch = sel * All 'organization[]' params are mutually exclusive, only one can be provided. * @var array $annotations[][key] An array of annotations to filter by. * - * All 'annotations[]' params are mutually exclusive, only one can be provided. - * * All `annotations[]` params should have the same amount of elements. * @var array $annotations[][value] An array of annotations to filter by. * - * All 'annotations[]' params are mutually exclusive, only one can be provided. - * * All `annotations[]` params should have the same amount of elements. * @var int $page The page number to request. If not provided, the first page will be returned. * @var int $per_page The number of items to return per page. If not provided, the default value will be used. @@ -1843,9 +1967,7 @@ public function deleteDisk(?Model\DisksDiskDeleteBody $requestBody = null, strin * @param array $queryParameters { * * @var string $disk[id] The disk to return. - * - * All 'disk[]' params are mutually exclusive, only one can be provided. - * } + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -2093,13 +2215,9 @@ public function getVirtualMachineDisks(array $queryParameters = [], string $fetc * All 'organization[]' params are mutually exclusive, only one can be provided. * @var array $annotations[][key] An array of annotations to filter by. * - * All 'annotations[]' params are mutually exclusive, only one can be provided. - * * All `annotations[]` params should have the same amount of elements. * @var array $annotations[][value] An array of annotations to filter by. * - * All 'annotations[]' params are mutually exclusive, only one can be provided. - * * All `annotations[]` params should have the same amount of elements. * @var int $page The page number to request. If not provided, the first page will be returned. * @var int $per_page The number of items to return per page. If not provided, the default value will be used. @@ -2181,9 +2299,7 @@ public function deleteFileStorageVolume(?Model\FileStorageVolumesFileStorageVolu * @param array $queryParameters { * * @var string $file_storage_volume[id] The file storage volume to return. - * - * All 'file_storage_volume[]' params are mutually exclusive, only one can be provided. - * } + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -2567,9 +2683,7 @@ public function deleteLoadBalancersRulesLoadBalancerRule(?Model\LoadBalancersRul * @param array $queryParameters { * * @var string $load_balancer_rule[id] The load balancer rule to return the details for. - * - * All 'load_balancer_rule[]' params are mutually exclusive, only one can be provided. - * } + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -2629,13 +2743,9 @@ public function patchLoadBalancersRulesLoadBalancerRule(?Model\LoadBalancersRule * All 'organization[]' params are mutually exclusive, only one can be provided. * @var array $annotations[][key] An array of annotations to filter by. * - * All 'annotations[]' params are mutually exclusive, only one can be provided. - * * All `annotations[]` params should have the same amount of elements. * @var array $annotations[][value] An array of annotations to filter by. * - * All 'annotations[]' params are mutually exclusive, only one can be provided. - * * All `annotations[]` params should have the same amount of elements. * @var int $page The page number to request. If not provided, the first page will be returned. * @var int $per_page The number of items to return per page. If not provided, the default value will be used. @@ -2776,13 +2886,9 @@ public function patchLoadBalancer(?Model\LoadBalancersLoadBalancerPatchBody $req * @var string $organization[sub_domain] All 'organization[]' params are mutually exclusive, only one can be provided * @var array $annotations[][key] An array of annotations to filter by. * - * All 'annotations[]' params are mutually exclusive, only one can be provided. - * * All `annotations[]` params should have the same amount of elements. * @var array $annotations[][value] An array of annotations to filter by. * - * All 'annotations[]' params are mutually exclusive, only one can be provided. - * * All `annotations[]` params should have the same amount of elements. * @var int $page The page number to request. If not provided, the first page will be returned. * @var int $per_page The number of items to return per page. If not provided, the default value will be used. @@ -2934,6 +3040,91 @@ public function getNetwork(array $queryParameters = [], string $fetch = self::FE return $this->executeEndpoint(new Endpoint\GetNetwork($queryParameters), $fetch); } + /** + * Move object storage into the trash + * ## Scopes + * - `object_storage`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * + * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) + * + * @return Model\OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\DeleteOrganizationObjectStorageObjectStorageClusterBadRequestException + * @throws Exception\DeleteOrganizationObjectStorageObjectStorageClusterForbiddenException + * @throws Exception\DeleteOrganizationObjectStorageObjectStorageClusterNotFoundException + * @throws Exception\DeleteOrganizationObjectStorageObjectStorageClusterNotAcceptableException + * @throws Exception\DeleteOrganizationObjectStorageObjectStorageClusterUnprocessableEntityException + * @throws Exception\DeleteOrganizationObjectStorageObjectStorageClusterTooManyRequestsException + * @throws Exception\DeleteOrganizationObjectStorageObjectStorageClusterServiceUnavailableException + */ + public function deleteOrganizationObjectStorageObjectStorageCluster(?Model\OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\DeleteOrganizationObjectStorageObjectStorageCluster($requestBody), $fetch); + } + + /** + * Returns object storage account details + * ## Scopes + * - `object_storage:read`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * + * @param array $queryParameters { + * + * @var string $organization[id] The organization that owns the object storage account. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[sub_domain] The organization that owns the object storage account. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $object_storage_cluster[region] The object storage cluster region. + * } + * + * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) + * + * @return Model\OrganizationsOrganizationObjectStorageObjectStorageClusterGetResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\GetOrganizationObjectStorageObjectStorageClusterBadRequestException + * @throws Exception\GetOrganizationObjectStorageObjectStorageClusterForbiddenException + * @throws Exception\GetOrganizationObjectStorageObjectStorageClusterNotFoundException + * @throws Exception\GetOrganizationObjectStorageObjectStorageClusterNotAcceptableException + * @throws Exception\GetOrganizationObjectStorageObjectStorageClusterTooManyRequestsException + * @throws Exception\GetOrganizationObjectStorageObjectStorageClusterServiceUnavailableException + */ + public function getOrganizationObjectStorageObjectStorageCluster(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\GetOrganizationObjectStorageObjectStorageCluster($queryParameters), $fetch); + } + + /** + * Create a new object storage account for an organization. Provisioning will be started in the background and can be monitored via the GET account endpoint. + * ## Scopes + * - `object_storage`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * + * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) + * + * @return Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\PostOrganizationObjectStorageObjectStorageClusterBadRequestException + * @throws Exception\PostOrganizationObjectStorageObjectStorageClusterForbiddenException + * @throws Exception\PostOrganizationObjectStorageObjectStorageClusterNotFoundException + * @throws Exception\PostOrganizationObjectStorageObjectStorageClusterNotAcceptableException + * @throws Exception\PostOrganizationObjectStorageObjectStorageClusterUnprocessableEntityException + * @throws Exception\PostOrganizationObjectStorageObjectStorageClusterTooManyRequestsException + * @throws Exception\PostOrganizationObjectStorageObjectStorageClusterServiceUnavailableException + */ + public function postOrganizationObjectStorageObjectStorageCluster(?Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\PostOrganizationObjectStorageObjectStorageCluster($requestBody), $fetch); + } + /** * Return a list of all operating systems. * @@ -2963,9 +3154,7 @@ public function getOperatingSystems(array $queryParameters = [], string $fetch = * @param array $queryParameters { * * @var string $operating_system[id] The operating system to return. - * - * All 'operating_system[]' params are mutually exclusive, only one can be provided. - * } + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -3367,7 +3556,7 @@ public function deleteDnsRecord(?Model\DnsRecordsDnsRecordDeleteBody $requestBod * * @param array $queryParameters { * - * @var string $dns_record[id] All 'dns_record[]' params are mutually exclusive, only one can be provided. + * @var string $dns_record[id] * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) @@ -3488,12 +3677,10 @@ public function deleteSshKey(?Model\SshKeysSshKeyDeleteBody $requestBody = null, * * @param array $queryParameters { * - * @var string $security_group[id] The security group to return all load rules for. - * - * All 'security_group[]' params are mutually exclusive, only one can be provided. - * @var int $page The page number to request. If not provided, the first page will be returned. - * @var int $per_page The number of items to return per page. If not provided, the default value will be used. - * } + * @var string $security_group[id] The security group to return all load rules for + * @var int $page The page number to request. If not provided, the first page will be returned. + * @var int $per_page The number of items to return per page. If not provided, the default value will be used. + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -3570,9 +3757,7 @@ public function deleteSecurityGroupsRulesSecurityGroupRule(?Model\SecurityGroups * @param array $queryParameters { * * @var string $security_group_rule[id] The security group rule to return the details for. - * - * All 'security_group_rule[]' params are mutually exclusive, only one can be provided. - * } + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -3632,13 +3817,9 @@ public function patchSecurityGroupsRulesSecurityGroupRule(?Model\SecurityGroupsR * All 'organization[]' params are mutually exclusive, only one can be provided. * @var array $annotations[][key] An array of annotations to filter by. * - * All 'annotations[]' params are mutually exclusive, only one can be provided. - * * All `annotations[]` params should have the same amount of elements. * @var array $annotations[][value] An array of annotations to filter by. * - * All 'annotations[]' params are mutually exclusive, only one can be provided. - * * All `annotations[]` params should have the same amount of elements. * @var int $page The page number to request. If not provided, the first page will be returned. * @var int $per_page The number of items to return per page. If not provided, the default value will be used. @@ -3720,9 +3901,7 @@ public function deleteSecurityGroup(?Model\SecurityGroupsSecurityGroupDeleteBody * @param array $queryParameters { * * @var string $security_group[id] The security group to return the details for. - * - * All 'security_group[]' params are mutually exclusive, only one can be provided. - * } + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -3858,9 +4037,7 @@ public function deleteTag(?Model\TagsTagDeleteBody $requestBody = null, string $ * @param array $queryParameters { * * @var string $tag[id] The tag to load the details for. - * - * All 'tag[]' params are mutually exclusive, only one can be provided. - * } + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -3912,7 +4089,7 @@ public function patchTag(?Model\TagsTagPatchBody $requestBody = null, string $fe * * @param array $queryParameters { * - * @var string $task[id] All 'task[]' params are mutually exclusive, only one can be provided. + * @var string $task[id] * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) @@ -4199,9 +4376,7 @@ public function deleteVirtualNetwork(?Model\VirtualNetworksVirtualNetworkDeleteB * @param array $queryParameters { * * @var string $virtual_network[id] The virtual network to retrieve. - * - * All 'virtual_network[]' params are mutually exclusive, only one can be provided. - * } + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -4335,9 +4510,7 @@ public function deleteVirtualMachineGroup(?Model\VirtualMachineGroupsVirtualMach * @param array $queryParameters { * * @var string $virtual_machine_group[id] The virtual machine group to retrieve. - * - * All 'virtual_machine_group[]' params are mutually exclusive, only one can be provided. - * } + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -4415,6 +4588,32 @@ public function getVirtualMachineNetworkInterfaces(array $queryParameters = [], return $this->executeEndpoint(new Endpoint\GetVirtualMachineNetworkInterfaces($queryParameters), $fetch); } + /** + * Create a new virtual machine network interface with the provided details + * ## Scopes + * - `virtual_machines` + * - `virtual_machines:network_interfaces`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * + * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) + * + * @return Model\VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\PostVirtualMachineNetworkInterfacesBadRequestException + * @throws Exception\PostVirtualMachineNetworkInterfacesForbiddenException + * @throws Exception\PostVirtualMachineNetworkInterfacesNotFoundException + * @throws Exception\PostVirtualMachineNetworkInterfacesNotAcceptableException + * @throws Exception\PostVirtualMachineNetworkInterfacesUnprocessableEntityException + * @throws Exception\PostVirtualMachineNetworkInterfacesTooManyRequestsException + * @throws Exception\PostVirtualMachineNetworkInterfacesServiceUnavailableException + */ + public function postVirtualMachineNetworkInterfaces(?Model\VirtualMachinesVirtualMachineNetworkInterfacesPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\PostVirtualMachineNetworkInterfaces($requestBody), $fetch); + } + /** * Return information about a virtual machine network interface for a specific network * ## Scopes @@ -4456,6 +4655,31 @@ public function getVirtualMachineNetworkInterface(array $queryParameters = [], s return $this->executeEndpoint(new Endpoint\GetVirtualMachineNetworkInterface($queryParameters), $fetch); } + /** + * ## Scopes + * - `virtual_machines` + * - `virtual_machines:network_interfaces`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * + * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) + * + * @return Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\DeleteVirtualMachineNetworkInterfaceBadRequestException + * @throws Exception\DeleteVirtualMachineNetworkInterfaceForbiddenException + * @throws Exception\DeleteVirtualMachineNetworkInterfaceNotFoundException + * @throws Exception\DeleteVirtualMachineNetworkInterfaceConflictException + * @throws Exception\DeleteVirtualMachineNetworkInterfaceUnprocessableEntityException + * @throws Exception\DeleteVirtualMachineNetworkInterfaceTooManyRequestsException + * @throws Exception\DeleteVirtualMachineNetworkInterfaceServiceUnavailableException + */ + public function deleteVirtualMachineNetworkInterface(?Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\DeleteVirtualMachineNetworkInterface($requestBody), $fetch); + } + /** * Return information about a given virtual machine network interface * ## Scopes @@ -4468,9 +4692,7 @@ public function getVirtualMachineNetworkInterface(array $queryParameters = [], s * @param array $queryParameters { * * @var string $virtual_machine_network_interface[id] The network interface to show the information for. - * - * All 'virtual_machine_network_interface[]' params are mutually exclusive, only one can be provided. - * } + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -4498,9 +4720,7 @@ public function getVMNIVMNI(array $queryParameters = [], string $fetch = self::F * * @param array $queryParameters { * - * @var string $virtual_machine_network_interface[id] The network interface to get IP addresses for. - * - * All 'virtual_machine_network_interface[]' params are mutually exclusive, only one can be provided. + * @var string $virtual_machine_network_interface[id] The network interface to get IP addresses for * @var string $address_version The IP address version to return results for * } * @@ -4590,6 +4810,58 @@ public function patchVirtualMachineNetworkInterfaceUpdateSpeedProfile(?Model\Vir return $this->executeEndpoint(new Endpoint\PatchVirtualMachineNetworkInterfaceUpdateSpeedProfile($requestBody), $fetch); } + /** + * Attach a network interface to a virtual machine. + * ## Scopes + * - `virtual_machines` + * - `virtual_machines:network_interfaces`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * + * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) + * + * @return Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\PostVirtualMachineNetworkInterfaceAttachBadRequestException + * @throws Exception\PostVirtualMachineNetworkInterfaceAttachForbiddenException + * @throws Exception\PostVirtualMachineNetworkInterfaceAttachNotFoundException + * @throws Exception\PostVirtualMachineNetworkInterfaceAttachNotAcceptableException + * @throws Exception\PostVirtualMachineNetworkInterfaceAttachUnprocessableEntityException + * @throws Exception\PostVirtualMachineNetworkInterfaceAttachTooManyRequestsException + * @throws Exception\PostVirtualMachineNetworkInterfaceAttachServiceUnavailableException + */ + public function postVirtualMachineNetworkInterfaceAttach(?Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\PostVirtualMachineNetworkInterfaceAttach($requestBody), $fetch); + } + + /** + * Detach a network interface from its virtual machine. + * ## Scopes + * - `virtual_machines` + * - `virtual_machines:network_interfaces`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * + * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) + * + * @return Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\PostVirtualMachineNetworkInterfaceDetachBadRequestException + * @throws Exception\PostVirtualMachineNetworkInterfaceDetachForbiddenException + * @throws Exception\PostVirtualMachineNetworkInterfaceDetachNotFoundException + * @throws Exception\PostVirtualMachineNetworkInterfaceDetachNotAcceptableException + * @throws Exception\PostVirtualMachineNetworkInterfaceDetachUnprocessableEntityException + * @throws Exception\PostVirtualMachineNetworkInterfaceDetachTooManyRequestsException + * @throws Exception\PostVirtualMachineNetworkInterfaceDetachServiceUnavailableException + */ + public function postVirtualMachineNetworkInterfaceDetach(?Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\PostVirtualMachineNetworkInterfaceDetach($requestBody), $fetch); + } + /** * Returns a list of virtual machine packages * ## Scopes @@ -4669,13 +4941,9 @@ public function getVirtualMachinePackage(array $queryParameters = [], string $fe * @var string $organization[sub_domain] All 'organization[]' params are mutually exclusive, only one can be provided * @var array $annotations[][key] An array of annotations to filter by. * - * All 'annotations[]' params are mutually exclusive, only one can be provided. - * * All `annotations[]` params should have the same amount of elements. * @var array $annotations[][value] An array of annotations to filter by. * - * All 'annotations[]' params are mutually exclusive, only one can be provided. - * * All `annotations[]` params should have the same amount of elements. * @var int $page The page number to request. If not provided, the first page will be returned. * @var int $per_page The number of items to return per page. If not provided, the default value will be used. diff --git a/src/Core/Endpoint/DeleteObjectStorageAccessKey.php b/src/Core/Endpoint/DeleteObjectStorageAccessKey.php new file mode 100644 index 00000000..bf2db493 --- /dev/null +++ b/src/Core/Endpoint/DeleteObjectStorageAccessKey.php @@ -0,0 +1,95 @@ +body = $requestBody; + } + + public function getMethod(): string + { + return 'DELETE'; + } + + public function getUri(): string + { + return '/object_storage/access_keys/access_key'; + } + + public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array + { + if ($this->body instanceof \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyDeleteBody) { + return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; + } + + return [[], null]; + } + + public function getExtraHeaders(): array + { + return ['Accept' => ['application/json']]; + } + + /** + * @return \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyDeleteResponse200|null + * + * @throws \KatapultAPI\Core\Exception\DeleteObjectStorageAccessKeyBadRequestException + * @throws \KatapultAPI\Core\Exception\DeleteObjectStorageAccessKeyForbiddenException + * @throws \KatapultAPI\Core\Exception\DeleteObjectStorageAccessKeyNotFoundException + * @throws \KatapultAPI\Core\Exception\DeleteObjectStorageAccessKeyTooManyRequestsException + * @throws \KatapultAPI\Core\Exception\DeleteObjectStorageAccessKeyServiceUnavailableException + * @throws \KatapultAPI\Core\Exception\DeleteObjectStorageAccessKeyGatewayTimeoutException + */ + protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) + { + $status = $response->getStatusCode(); + $body = (string) $response->getBody(); + if (is_null($contentType) === false && (200 === $status && mb_strpos($contentType, 'application/json') !== false)) { + return $serializer->deserialize($body, 'KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyDeleteResponse200', 'json'); + } + if (is_null($contentType) === false && (400 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\DeleteObjectStorageAccessKeyBadRequestException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator400Response', 'json'), $response); + } + if (is_null($contentType) === false && (403 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\DeleteObjectStorageAccessKeyForbiddenException($response); + } + if (is_null($contentType) === false && (404 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\DeleteObjectStorageAccessKeyNotFoundException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseObjectStorageAccessKeyNotFoundResponse', 'json'), $response); + } + if (is_null($contentType) === false && (429 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\DeleteObjectStorageAccessKeyTooManyRequestsException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response', 'json'), $response); + } + if (is_null($contentType) === false && (503 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\DeleteObjectStorageAccessKeyServiceUnavailableException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response', 'json'), $response); + } + if (is_null($contentType) === false && (504 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\DeleteObjectStorageAccessKeyGatewayTimeoutException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseNetworkErrorResponse', 'json'), $response); + } + } + + public function getAuthenticationScopes(): array + { + return ['OAuth2', 'Authenticator']; + } +} diff --git a/src/Core/Endpoint/DeleteOrganizationObjectStorageObjectStorageCluster.php b/src/Core/Endpoint/DeleteOrganizationObjectStorageObjectStorageCluster.php new file mode 100644 index 00000000..e18af4fe --- /dev/null +++ b/src/Core/Endpoint/DeleteOrganizationObjectStorageObjectStorageCluster.php @@ -0,0 +1,99 @@ +body = $requestBody; + } + + public function getMethod(): string + { + return 'DELETE'; + } + + public function getUri(): string + { + return '/organizations/organization/object_storage/object_storage_cluster'; + } + + public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array + { + if ($this->body instanceof \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteBody) { + return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; + } + + return [[], null]; + } + + public function getExtraHeaders(): array + { + return ['Accept' => ['application/json']]; + } + + /** + * @return \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteResponse200|null + * + * @throws \KatapultAPI\Core\Exception\DeleteOrganizationObjectStorageObjectStorageClusterBadRequestException + * @throws \KatapultAPI\Core\Exception\DeleteOrganizationObjectStorageObjectStorageClusterForbiddenException + * @throws \KatapultAPI\Core\Exception\DeleteOrganizationObjectStorageObjectStorageClusterNotFoundException + * @throws \KatapultAPI\Core\Exception\DeleteOrganizationObjectStorageObjectStorageClusterNotAcceptableException + * @throws \KatapultAPI\Core\Exception\DeleteOrganizationObjectStorageObjectStorageClusterUnprocessableEntityException + * @throws \KatapultAPI\Core\Exception\DeleteOrganizationObjectStorageObjectStorageClusterTooManyRequestsException + * @throws \KatapultAPI\Core\Exception\DeleteOrganizationObjectStorageObjectStorageClusterServiceUnavailableException + */ + protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) + { + $status = $response->getStatusCode(); + $body = (string) $response->getBody(); + if (is_null($contentType) === false && (200 === $status && mb_strpos($contentType, 'application/json') !== false)) { + return $serializer->deserialize($body, 'KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteResponse200', 'json'); + } + if (is_null($contentType) === false && (400 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\DeleteOrganizationObjectStorageObjectStorageClusterBadRequestException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator400Response', 'json'), $response); + } + if (is_null($contentType) === false && (403 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\DeleteOrganizationObjectStorageObjectStorageClusterForbiddenException($response); + } + if (is_null($contentType) === false && (404 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\DeleteOrganizationObjectStorageObjectStorageClusterNotFoundException($response); + } + if (is_null($contentType) === false && (406 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\DeleteOrganizationObjectStorageObjectStorageClusterNotAcceptableException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseObjectInTrashResponse', 'json'), $response); + } + if (is_null($contentType) === false && (422 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\DeleteOrganizationObjectStorageObjectStorageClusterUnprocessableEntityException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseValidationErrorResponse', 'json'), $response); + } + if (is_null($contentType) === false && (429 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\DeleteOrganizationObjectStorageObjectStorageClusterTooManyRequestsException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response', 'json'), $response); + } + if (is_null($contentType) === false && (503 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\DeleteOrganizationObjectStorageObjectStorageClusterServiceUnavailableException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response', 'json'), $response); + } + } + + public function getAuthenticationScopes(): array + { + return ['OAuth2', 'Authenticator']; + } +} diff --git a/src/Core/Endpoint/DeleteVirtualMachineNetworkInterface.php b/src/Core/Endpoint/DeleteVirtualMachineNetworkInterface.php new file mode 100644 index 00000000..d9be5c2d --- /dev/null +++ b/src/Core/Endpoint/DeleteVirtualMachineNetworkInterface.php @@ -0,0 +1,99 @@ +body = $requestBody; + } + + public function getMethod(): string + { + return 'DELETE'; + } + + public function getUri(): string + { + return '/virtual_machine_network_interfaces/virtual_machine_network_interface'; + } + + public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array + { + if ($this->body instanceof \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteBody) { + return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; + } + + return [[], null]; + } + + public function getExtraHeaders(): array + { + return ['Accept' => ['application/json']]; + } + + /** + * @return \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200|null + * + * @throws \KatapultAPI\Core\Exception\DeleteVirtualMachineNetworkInterfaceBadRequestException + * @throws \KatapultAPI\Core\Exception\DeleteVirtualMachineNetworkInterfaceForbiddenException + * @throws \KatapultAPI\Core\Exception\DeleteVirtualMachineNetworkInterfaceNotFoundException + * @throws \KatapultAPI\Core\Exception\DeleteVirtualMachineNetworkInterfaceConflictException + * @throws \KatapultAPI\Core\Exception\DeleteVirtualMachineNetworkInterfaceUnprocessableEntityException + * @throws \KatapultAPI\Core\Exception\DeleteVirtualMachineNetworkInterfaceTooManyRequestsException + * @throws \KatapultAPI\Core\Exception\DeleteVirtualMachineNetworkInterfaceServiceUnavailableException + */ + protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) + { + $status = $response->getStatusCode(); + $body = (string) $response->getBody(); + if (is_null($contentType) === false && (200 === $status && mb_strpos($contentType, 'application/json') !== false)) { + return $serializer->deserialize($body, 'KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200', 'json'); + } + if (is_null($contentType) === false && (400 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\DeleteVirtualMachineNetworkInterfaceBadRequestException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator400Response', 'json'), $response); + } + if (is_null($contentType) === false && (403 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\DeleteVirtualMachineNetworkInterfaceForbiddenException($response); + } + if (is_null($contentType) === false && (404 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\DeleteVirtualMachineNetworkInterfaceNotFoundException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseVirtualMachineNetworkInterfaceNotFoundResponse', 'json'), $response); + } + if (is_null($contentType) === false && (409 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\DeleteVirtualMachineNetworkInterfaceConflictException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseDeletionRestrictedResponse', 'json'), $response); + } + if (is_null($contentType) === false && (422 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\DeleteVirtualMachineNetworkInterfaceUnprocessableEntityException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseValidationErrorResponse', 'json'), $response); + } + if (is_null($contentType) === false && (429 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\DeleteVirtualMachineNetworkInterfaceTooManyRequestsException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response', 'json'), $response); + } + if (is_null($contentType) === false && (503 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\DeleteVirtualMachineNetworkInterfaceServiceUnavailableException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response', 'json'), $response); + } + } + + public function getAuthenticationScopes(): array + { + return ['OAuth2', 'Authenticator']; + } +} diff --git a/src/Core/Endpoint/GetAddressList.php b/src/Core/Endpoint/GetAddressList.php index f8319c3b..f4b01770 100644 --- a/src/Core/Endpoint/GetAddressList.php +++ b/src/Core/Endpoint/GetAddressList.php @@ -26,9 +26,7 @@ class GetAddressList extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint imple * @param array $queryParameters { * * @var string $address_list[id] The address list to return. - * - * All 'address_list[]' params are mutually exclusive, only one can be provided. - * } + * } */ public function __construct(array $queryParameters = []) { diff --git a/src/Core/Endpoint/GetAddressListEntries.php b/src/Core/Endpoint/GetAddressListEntries.php index 9b6a0cbf..3893d2aa 100644 --- a/src/Core/Endpoint/GetAddressListEntries.php +++ b/src/Core/Endpoint/GetAddressListEntries.php @@ -25,12 +25,10 @@ class GetAddressListEntries extends \KatapultAPI\Core\Runtime\Client\BaseEndpoin * * @param array $queryParameters { * - * @var string $address_list[id] The address list for which the entries should be returned. - * - * All 'address_list[]' params are mutually exclusive, only one can be provided. - * @var int $page The page number to request. If not provided, the first page will be returned. - * @var int $per_page The number of items to return per page. If not provided, the default value will be used. - * } + * @var string $address_list[id] The address list for which the entries should be returned + * @var int $page The page number to request. If not provided, the first page will be returned. + * @var int $per_page The number of items to return per page. If not provided, the default value will be used. + * } */ public function __construct(array $queryParameters = []) { diff --git a/src/Core/Endpoint/GetAddressListEntry.php b/src/Core/Endpoint/GetAddressListEntry.php index 7832b3f7..9f8fd1c2 100644 --- a/src/Core/Endpoint/GetAddressListEntry.php +++ b/src/Core/Endpoint/GetAddressListEntry.php @@ -26,9 +26,7 @@ class GetAddressListEntry extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint * @param array $queryParameters { * * @var string $address_list_entry[id] The address list entry to return. - * - * All 'address_list_entry[]' params are mutually exclusive, only one can be provided. - * } + * } */ public function __construct(array $queryParameters = []) { diff --git a/src/Core/Endpoint/GetCertificate.php b/src/Core/Endpoint/GetCertificate.php index 037b0310..d7e21252 100644 --- a/src/Core/Endpoint/GetCertificate.php +++ b/src/Core/Endpoint/GetCertificate.php @@ -25,7 +25,7 @@ class GetCertificate extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint imple * * @param array $queryParameters { * - * @var string $certificate[id] All 'certificate[]' params are mutually exclusive, only one can be provided. + * @var string $certificate[id] * } */ public function __construct(array $queryParameters = []) diff --git a/src/Core/Endpoint/GetCountryState.php b/src/Core/Endpoint/GetCountryState.php index 0d02d010..4211269d 100644 --- a/src/Core/Endpoint/GetCountryState.php +++ b/src/Core/Endpoint/GetCountryState.php @@ -20,9 +20,7 @@ class GetCountryState extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint impl * @param array $queryParameters { * * @var string $country_state[id] The country state to return. - * - * All 'country_state[]' params are mutually exclusive, only one can be provided. - * } + * } */ public function __construct(array $queryParameters = []) { diff --git a/src/Core/Endpoint/GetDisk.php b/src/Core/Endpoint/GetDisk.php index e2cbaac0..c02aa235 100644 --- a/src/Core/Endpoint/GetDisk.php +++ b/src/Core/Endpoint/GetDisk.php @@ -26,9 +26,7 @@ class GetDisk extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint implements \ * @param array $queryParameters { * * @var string $disk[id] The disk to return. - * - * All 'disk[]' params are mutually exclusive, only one can be provided. - * } + * } */ public function __construct(array $queryParameters = []) { diff --git a/src/Core/Endpoint/GetDiskBackupPolicy.php b/src/Core/Endpoint/GetDiskBackupPolicy.php index 990720d8..a9fd3372 100644 --- a/src/Core/Endpoint/GetDiskBackupPolicy.php +++ b/src/Core/Endpoint/GetDiskBackupPolicy.php @@ -26,9 +26,7 @@ class GetDiskBackupPolicy extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint * @param array $queryParameters { * * @var string $disk_backup_policy[id] The disk backup policy to get information for. - * - * All 'disk_backup_policy[]' params are mutually exclusive, only one can be provided. - * } + * } */ public function __construct(array $queryParameters = []) { diff --git a/src/Core/Endpoint/GetDiskDiskBackupPolicies.php b/src/Core/Endpoint/GetDiskDiskBackupPolicies.php index 5f064dca..3c084ad6 100644 --- a/src/Core/Endpoint/GetDiskDiskBackupPolicies.php +++ b/src/Core/Endpoint/GetDiskDiskBackupPolicies.php @@ -25,12 +25,10 @@ class GetDiskDiskBackupPolicies extends \KatapultAPI\Core\Runtime\Client\BaseEnd * * @param array $queryParameters { * - * @var string $disk[id] The disk to return disk backup policies for. - * - * All 'disk[]' params are mutually exclusive, only one can be provided. - * @var int $page The page number to request. If not provided, the first page will be returned. - * @var int $per_page The number of items to return per page. If not provided, the default value will be used. - * } + * @var string $disk[id] The disk to return disk backup policies for + * @var int $page The page number to request. If not provided, the first page will be returned. + * @var int $per_page The number of items to return per page. If not provided, the default value will be used. + * } */ public function __construct(array $queryParameters = []) { diff --git a/src/Core/Endpoint/GetDiskTemplateVersion.php b/src/Core/Endpoint/GetDiskTemplateVersion.php index eb8319bb..db0d961d 100644 --- a/src/Core/Endpoint/GetDiskTemplateVersion.php +++ b/src/Core/Endpoint/GetDiskTemplateVersion.php @@ -26,9 +26,7 @@ class GetDiskTemplateVersion extends \KatapultAPI\Core\Runtime\Client\BaseEndpoi * @param array $queryParameters { * * @var string $disk_template_version[id] The disk template version to return. - * - * All 'disk_template_version[]' params are mutually exclusive, only one can be provided. - * } + * } */ public function __construct(array $queryParameters = []) { diff --git a/src/Core/Endpoint/GetDiskTemplateVersionSpec.php b/src/Core/Endpoint/GetDiskTemplateVersionSpec.php index 0d23f641..b94ccdd7 100644 --- a/src/Core/Endpoint/GetDiskTemplateVersionSpec.php +++ b/src/Core/Endpoint/GetDiskTemplateVersionSpec.php @@ -26,9 +26,7 @@ class GetDiskTemplateVersionSpec extends \KatapultAPI\Core\Runtime\Client\BaseEn * @param array $queryParameters { * * @var string $disk_template_version[id] The disk template version to return. - * - * All 'disk_template_version[]' params are mutually exclusive, only one can be provided. - * } + * } */ public function __construct(array $queryParameters = []) { diff --git a/src/Core/Endpoint/GetDnsRecord.php b/src/Core/Endpoint/GetDnsRecord.php index bbc4b83a..d584545e 100644 --- a/src/Core/Endpoint/GetDnsRecord.php +++ b/src/Core/Endpoint/GetDnsRecord.php @@ -25,7 +25,7 @@ class GetDnsRecord extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint impleme * * @param array $queryParameters { * - * @var string $dns_record[id] All 'dns_record[]' params are mutually exclusive, only one can be provided. + * @var string $dns_record[id] * } */ public function __construct(array $queryParameters = []) diff --git a/src/Core/Endpoint/GetFileStorageVolume.php b/src/Core/Endpoint/GetFileStorageVolume.php index 945f558f..23157441 100644 --- a/src/Core/Endpoint/GetFileStorageVolume.php +++ b/src/Core/Endpoint/GetFileStorageVolume.php @@ -26,9 +26,7 @@ class GetFileStorageVolume extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint * @param array $queryParameters { * * @var string $file_storage_volume[id] The file storage volume to return. - * - * All 'file_storage_volume[]' params are mutually exclusive, only one can be provided. - * } + * } */ public function __construct(array $queryParameters = []) { diff --git a/src/Core/Endpoint/GetLoadBalancersRulesLoadBalancerRule.php b/src/Core/Endpoint/GetLoadBalancersRulesLoadBalancerRule.php index c333adc9..2dc88dee 100644 --- a/src/Core/Endpoint/GetLoadBalancersRulesLoadBalancerRule.php +++ b/src/Core/Endpoint/GetLoadBalancersRulesLoadBalancerRule.php @@ -26,9 +26,7 @@ class GetLoadBalancersRulesLoadBalancerRule extends \KatapultAPI\Core\Runtime\Cl * @param array $queryParameters { * * @var string $load_balancer_rule[id] The load balancer rule to return the details for. - * - * All 'load_balancer_rule[]' params are mutually exclusive, only one can be provided. - * } + * } */ public function __construct(array $queryParameters = []) { diff --git a/src/Core/Endpoint/GetObjectStorageAccessKey.php b/src/Core/Endpoint/GetObjectStorageAccessKey.php new file mode 100644 index 00000000..d26fc59f --- /dev/null +++ b/src/Core/Endpoint/GetObjectStorageAccessKey.php @@ -0,0 +1,103 @@ +queryParameters = $queryParameters; + } + + public function getMethod(): string + { + return 'GET'; + } + + public function getUri(): string + { + return '/object_storage/access_keys/access_key'; + } + + public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array + { + return [[], null]; + } + + public function getExtraHeaders(): array + { + return ['Accept' => ['application/json']]; + } + + protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver + { + $optionsResolver = parent::getQueryOptionsResolver(); + $optionsResolver->setDefined(['access_key[id]']); + $optionsResolver->setRequired([]); + $optionsResolver->setDefaults([]); + $optionsResolver->addAllowedTypes('access_key[id]', ['string']); + + return $optionsResolver; + } + + /** + * @return \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGetResponse200|null + * + * @throws \KatapultAPI\Core\Exception\GetObjectStorageAccessKeyBadRequestException + * @throws \KatapultAPI\Core\Exception\GetObjectStorageAccessKeyForbiddenException + * @throws \KatapultAPI\Core\Exception\GetObjectStorageAccessKeyNotFoundException + * @throws \KatapultAPI\Core\Exception\GetObjectStorageAccessKeyTooManyRequestsException + * @throws \KatapultAPI\Core\Exception\GetObjectStorageAccessKeyServiceUnavailableException + */ + protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) + { + $status = $response->getStatusCode(); + $body = (string) $response->getBody(); + if (is_null($contentType) === false && (200 === $status && mb_strpos($contentType, 'application/json') !== false)) { + return $serializer->deserialize($body, 'KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGetResponse200', 'json'); + } + if (is_null($contentType) === false && (400 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\GetObjectStorageAccessKeyBadRequestException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator400Response', 'json'), $response); + } + if (is_null($contentType) === false && (403 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\GetObjectStorageAccessKeyForbiddenException($response); + } + if (is_null($contentType) === false && (404 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\GetObjectStorageAccessKeyNotFoundException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseObjectStorageAccessKeyNotFoundResponse', 'json'), $response); + } + if (is_null($contentType) === false && (429 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\GetObjectStorageAccessKeyTooManyRequestsException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response', 'json'), $response); + } + if (is_null($contentType) === false && (503 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\GetObjectStorageAccessKeyServiceUnavailableException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response', 'json'), $response); + } + } + + public function getAuthenticationScopes(): array + { + return ['OAuth2', 'Authenticator']; + } +} diff --git a/src/Core/Endpoint/GetObjectStorageObjectStorageClusterBucket.php b/src/Core/Endpoint/GetObjectStorageObjectStorageClusterBucket.php index eed568a9..46cd6a6b 100644 --- a/src/Core/Endpoint/GetObjectStorageObjectStorageClusterBucket.php +++ b/src/Core/Endpoint/GetObjectStorageObjectStorageClusterBucket.php @@ -24,13 +24,9 @@ class GetObjectStorageObjectStorageClusterBucket extends \KatapultAPI\Core\Runti * * @param array $queryParameters { * - * @var string $object_storage_cluster[region] The object storage cluster region for the bucket. - * - * All 'object_storage_cluster[]' params are mutually exclusive, only one can be provided. + * @var string $object_storage_cluster[region] The object storage cluster region for the bucket * @var string $bucket[name] The name of the object storage bucket. - * - * All 'bucket[]' params are mutually exclusive, only one can be provided. - * } + * } */ public function __construct(array $queryParameters = []) { diff --git a/src/Core/Endpoint/GetObjectStorageObjectStorageClusterBucketObject.php b/src/Core/Endpoint/GetObjectStorageObjectStorageClusterBucketObject.php index dd081d2e..743eb5f3 100644 --- a/src/Core/Endpoint/GetObjectStorageObjectStorageClusterBucketObject.php +++ b/src/Core/Endpoint/GetObjectStorageObjectStorageClusterBucketObject.php @@ -24,12 +24,8 @@ class GetObjectStorageObjectStorageClusterBucketObject extends \KatapultAPI\Core * * @param array $queryParameters { * - * @var string $object_storage_cluster[region] The object storage cluster region for the bucket. - * - * All 'object_storage_cluster[]' params are mutually exclusive, only one can be provided. - * @var string $bucket[name] The name of the object storage bucket. - * - * All 'bucket[]' params are mutually exclusive, only one can be provided. + * @var string $object_storage_cluster[region] The object storage cluster region for the bucket + * @var string $bucket[name] The name of the object storage bucket * @var string $path The name or path for the object * } */ diff --git a/src/Core/Endpoint/GetOperatingSystem.php b/src/Core/Endpoint/GetOperatingSystem.php index 777e9164..9af5c18a 100644 --- a/src/Core/Endpoint/GetOperatingSystem.php +++ b/src/Core/Endpoint/GetOperatingSystem.php @@ -20,9 +20,7 @@ class GetOperatingSystem extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint i * @param array $queryParameters { * * @var string $operating_system[id] The operating system to return. - * - * All 'operating_system[]' params are mutually exclusive, only one can be provided. - * } + * } */ public function __construct(array $queryParameters = []) { diff --git a/src/Core/Endpoint/GetOrganizationAddressLists.php b/src/Core/Endpoint/GetOrganizationAddressLists.php index e3abf4d5..5390443e 100644 --- a/src/Core/Endpoint/GetOrganizationAddressLists.php +++ b/src/Core/Endpoint/GetOrganizationAddressLists.php @@ -33,13 +33,9 @@ class GetOrganizationAddressLists extends \KatapultAPI\Core\Runtime\Client\BaseE * All 'organization[]' params are mutually exclusive, only one can be provided. * @var array $annotations[][key] An array of annotations to filter by. * - * All 'annotations[]' params are mutually exclusive, only one can be provided. - * * All `annotations[]` params should have the same amount of elements. * @var array $annotations[][value] An array of annotations to filter by. * - * All 'annotations[]' params are mutually exclusive, only one can be provided. - * * All `annotations[]` params should have the same amount of elements. * @var int $page The page number to request. If not provided, the first page will be returned. * @var int $per_page The number of items to return per page. If not provided, the default value will be used. diff --git a/src/Core/Endpoint/GetOrganizationApiTokens.php b/src/Core/Endpoint/GetOrganizationApiTokens.php index 0ca49c98..19c3a919 100644 --- a/src/Core/Endpoint/GetOrganizationApiTokens.php +++ b/src/Core/Endpoint/GetOrganizationApiTokens.php @@ -33,13 +33,9 @@ class GetOrganizationApiTokens extends \KatapultAPI\Core\Runtime\Client\BaseEndp * All 'organization[]' params are mutually exclusive, only one can be provided. * @var array $annotations[][key] An array of annotations to filter by. * - * All 'annotations[]' params are mutually exclusive, only one can be provided. - * * All `annotations[]` params should have the same amount of elements. * @var array $annotations[][value] An array of annotations to filter by. * - * All 'annotations[]' params are mutually exclusive, only one can be provided. - * * All `annotations[]` params should have the same amount of elements. * @var int $page The page number to request. If not provided, the first page will be returned. * @var int $per_page The number of items to return per page. If not provided, the default value will be used. diff --git a/src/Core/Endpoint/GetOrganizationDiskTemplates.php b/src/Core/Endpoint/GetOrganizationDiskTemplates.php index fd1ec241..770e273e 100644 --- a/src/Core/Endpoint/GetOrganizationDiskTemplates.php +++ b/src/Core/Endpoint/GetOrganizationDiskTemplates.php @@ -32,12 +32,10 @@ class GetOrganizationDiskTemplates extends \KatapultAPI\Core\Runtime\Client\Base * * All 'organization[]' params are mutually exclusive, only one can be provided. * @var bool $include_universal Whether or not to include universal templates - * @var string $operating_system[id] An operating system to use to filter disk templates. - * - * All 'operating_system[]' params are mutually exclusive, only one can be provided. - * @var int $page The page number to request. If not provided, the first page will be returned. - * @var int $per_page The number of items to return per page. If not provided, the default value will be used. - * } + * @var string $operating_system[id] An operating system to use to filter disk templates + * @var int $page The page number to request. If not provided, the first page will be returned. + * @var int $per_page The number of items to return per page. If not provided, the default value will be used. + * } */ public function __construct(array $queryParameters = []) { diff --git a/src/Core/Endpoint/GetOrganizationDisks.php b/src/Core/Endpoint/GetOrganizationDisks.php index d2daaf11..708acf89 100644 --- a/src/Core/Endpoint/GetOrganizationDisks.php +++ b/src/Core/Endpoint/GetOrganizationDisks.php @@ -33,13 +33,9 @@ class GetOrganizationDisks extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint * All 'organization[]' params are mutually exclusive, only one can be provided. * @var array $annotations[][key] An array of annotations to filter by. * - * All 'annotations[]' params are mutually exclusive, only one can be provided. - * * All `annotations[]` params should have the same amount of elements. * @var array $annotations[][value] An array of annotations to filter by. * - * All 'annotations[]' params are mutually exclusive, only one can be provided. - * * All `annotations[]` params should have the same amount of elements. * @var int $page The page number to request. If not provided, the first page will be returned. * @var int $per_page The number of items to return per page. If not provided, the default value will be used. diff --git a/src/Core/Endpoint/GetOrganizationFileStorageVolumes.php b/src/Core/Endpoint/GetOrganizationFileStorageVolumes.php index 8af72227..5da3af2f 100644 --- a/src/Core/Endpoint/GetOrganizationFileStorageVolumes.php +++ b/src/Core/Endpoint/GetOrganizationFileStorageVolumes.php @@ -33,13 +33,9 @@ class GetOrganizationFileStorageVolumes extends \KatapultAPI\Core\Runtime\Client * All 'organization[]' params are mutually exclusive, only one can be provided. * @var array $annotations[][key] An array of annotations to filter by. * - * All 'annotations[]' params are mutually exclusive, only one can be provided. - * * All `annotations[]` params should have the same amount of elements. * @var array $annotations[][value] An array of annotations to filter by. * - * All 'annotations[]' params are mutually exclusive, only one can be provided. - * * All `annotations[]` params should have the same amount of elements. * @var int $page The page number to request. If not provided, the first page will be returned. * @var int $per_page The number of items to return per page. If not provided, the default value will be used. diff --git a/src/Core/Endpoint/GetOrganizationLoadBalancers.php b/src/Core/Endpoint/GetOrganizationLoadBalancers.php index 82595a8e..a968abbf 100644 --- a/src/Core/Endpoint/GetOrganizationLoadBalancers.php +++ b/src/Core/Endpoint/GetOrganizationLoadBalancers.php @@ -33,13 +33,9 @@ class GetOrganizationLoadBalancers extends \KatapultAPI\Core\Runtime\Client\Base * All 'organization[]' params are mutually exclusive, only one can be provided. * @var array $annotations[][key] An array of annotations to filter by. * - * All 'annotations[]' params are mutually exclusive, only one can be provided. - * * All `annotations[]` params should have the same amount of elements. * @var array $annotations[][value] An array of annotations to filter by. * - * All 'annotations[]' params are mutually exclusive, only one can be provided. - * * All `annotations[]` params should have the same amount of elements. * @var int $page The page number to request. If not provided, the first page will be returned. * @var int $per_page The number of items to return per page. If not provided, the default value will be used. diff --git a/src/Core/Endpoint/GetOrganizationManaged.php b/src/Core/Endpoint/GetOrganizationManaged.php index d328d7d5..1e65ebb5 100644 --- a/src/Core/Endpoint/GetOrganizationManaged.php +++ b/src/Core/Endpoint/GetOrganizationManaged.php @@ -28,13 +28,9 @@ class GetOrganizationManaged extends \KatapultAPI\Core\Runtime\Client\BaseEndpoi * @var string $organization[sub_domain] All 'organization[]' params are mutually exclusive, only one can be provided * @var array $annotations[][key] An array of annotations to filter by. * - * All 'annotations[]' params are mutually exclusive, only one can be provided. - * * All `annotations[]` params should have the same amount of elements. * @var array $annotations[][value] An array of annotations to filter by. * - * All 'annotations[]' params are mutually exclusive, only one can be provided. - * * All `annotations[]` params should have the same amount of elements. * @var int $page The page number to request. If not provided, the first page will be returned. * @var int $per_page The number of items to return per page. If not provided, the default value will be used. diff --git a/src/Core/Endpoint/GetOrganizationObjectStorageAccessKeys.php b/src/Core/Endpoint/GetOrganizationObjectStorageAccessKeys.php new file mode 100644 index 00000000..3864bff0 --- /dev/null +++ b/src/Core/Endpoint/GetOrganizationObjectStorageAccessKeys.php @@ -0,0 +1,113 @@ +queryParameters = $queryParameters; + } + + public function getMethod(): string + { + return 'GET'; + } + + public function getUri(): string + { + return '/organizations/organization/object_storage/access_keys'; + } + + public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array + { + return [[], null]; + } + + public function getExtraHeaders(): array + { + return ['Accept' => ['application/json']]; + } + + protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver + { + $optionsResolver = parent::getQueryOptionsResolver(); + $optionsResolver->setDefined(['organization[id]', 'organization[sub_domain]', 'page', 'per_page']); + $optionsResolver->setRequired([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); + $optionsResolver->addAllowedTypes('organization[id]', ['string']); + $optionsResolver->addAllowedTypes('organization[sub_domain]', ['string']); + $optionsResolver->addAllowedTypes('page', ['int']); + $optionsResolver->addAllowedTypes('per_page', ['int']); + + return $optionsResolver; + } + + /** + * @return \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageAccessKeysGetResponse200|null + * + * @throws \KatapultAPI\Core\Exception\GetOrganizationObjectStorageAccessKeysBadRequestException + * @throws \KatapultAPI\Core\Exception\GetOrganizationObjectStorageAccessKeysForbiddenException + * @throws \KatapultAPI\Core\Exception\GetOrganizationObjectStorageAccessKeysNotFoundException + * @throws \KatapultAPI\Core\Exception\GetOrganizationObjectStorageAccessKeysTooManyRequestsException + * @throws \KatapultAPI\Core\Exception\GetOrganizationObjectStorageAccessKeysServiceUnavailableException + */ + protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) + { + $status = $response->getStatusCode(); + $body = (string) $response->getBody(); + if (is_null($contentType) === false && (200 === $status && mb_strpos($contentType, 'application/json') !== false)) { + return $serializer->deserialize($body, 'KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageAccessKeysGetResponse200', 'json'); + } + if (is_null($contentType) === false && (400 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\GetOrganizationObjectStorageAccessKeysBadRequestException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator400Response', 'json'), $response); + } + if (is_null($contentType) === false && (403 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\GetOrganizationObjectStorageAccessKeysForbiddenException($response); + } + if (is_null($contentType) === false && (404 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\GetOrganizationObjectStorageAccessKeysNotFoundException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseOrganizationNotFoundResponse', 'json'), $response); + } + if (is_null($contentType) === false && (429 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\GetOrganizationObjectStorageAccessKeysTooManyRequestsException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response', 'json'), $response); + } + if (is_null($contentType) === false && (503 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\GetOrganizationObjectStorageAccessKeysServiceUnavailableException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response', 'json'), $response); + } + } + + public function getAuthenticationScopes(): array + { + return ['OAuth2', 'Authenticator']; + } +} diff --git a/src/Core/Endpoint/GetOrganizationObjectStorageObjectStorageCluster.php b/src/Core/Endpoint/GetOrganizationObjectStorageObjectStorageCluster.php new file mode 100644 index 00000000..93039b86 --- /dev/null +++ b/src/Core/Endpoint/GetOrganizationObjectStorageObjectStorageCluster.php @@ -0,0 +1,115 @@ +queryParameters = $queryParameters; + } + + public function getMethod(): string + { + return 'GET'; + } + + public function getUri(): string + { + return '/organizations/organization/object_storage/object_storage_cluster'; + } + + public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array + { + return [[], null]; + } + + public function getExtraHeaders(): array + { + return ['Accept' => ['application/json']]; + } + + protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver + { + $optionsResolver = parent::getQueryOptionsResolver(); + $optionsResolver->setDefined(['organization[id]', 'organization[sub_domain]', 'object_storage_cluster[region]']); + $optionsResolver->setRequired([]); + $optionsResolver->setDefaults([]); + $optionsResolver->addAllowedTypes('organization[id]', ['string']); + $optionsResolver->addAllowedTypes('organization[sub_domain]', ['string']); + $optionsResolver->addAllowedTypes('object_storage_cluster[region]', ['string']); + + return $optionsResolver; + } + + /** + * @return \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterGetResponse200|null + * + * @throws \KatapultAPI\Core\Exception\GetOrganizationObjectStorageObjectStorageClusterBadRequestException + * @throws \KatapultAPI\Core\Exception\GetOrganizationObjectStorageObjectStorageClusterForbiddenException + * @throws \KatapultAPI\Core\Exception\GetOrganizationObjectStorageObjectStorageClusterNotFoundException + * @throws \KatapultAPI\Core\Exception\GetOrganizationObjectStorageObjectStorageClusterNotAcceptableException + * @throws \KatapultAPI\Core\Exception\GetOrganizationObjectStorageObjectStorageClusterTooManyRequestsException + * @throws \KatapultAPI\Core\Exception\GetOrganizationObjectStorageObjectStorageClusterServiceUnavailableException + */ + protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) + { + $status = $response->getStatusCode(); + $body = (string) $response->getBody(); + if (is_null($contentType) === false && (200 === $status && mb_strpos($contentType, 'application/json') !== false)) { + return $serializer->deserialize($body, 'KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterGetResponse200', 'json'); + } + if (is_null($contentType) === false && (400 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\GetOrganizationObjectStorageObjectStorageClusterBadRequestException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator400Response', 'json'), $response); + } + if (is_null($contentType) === false && (403 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\GetOrganizationObjectStorageObjectStorageClusterForbiddenException($response); + } + if (is_null($contentType) === false && (404 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\GetOrganizationObjectStorageObjectStorageClusterNotFoundException($response); + } + if (is_null($contentType) === false && (406 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\GetOrganizationObjectStorageObjectStorageClusterNotAcceptableException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseObjectInTrashResponse', 'json'), $response); + } + if (is_null($contentType) === false && (429 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\GetOrganizationObjectStorageObjectStorageClusterTooManyRequestsException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response', 'json'), $response); + } + if (is_null($contentType) === false && (503 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\GetOrganizationObjectStorageObjectStorageClusterServiceUnavailableException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response', 'json'), $response); + } + } + + public function getAuthenticationScopes(): array + { + return ['OAuth2', 'Authenticator']; + } +} diff --git a/src/Core/Endpoint/GetOrganizationSecurityGroups.php b/src/Core/Endpoint/GetOrganizationSecurityGroups.php index 566b8901..d10e32a3 100644 --- a/src/Core/Endpoint/GetOrganizationSecurityGroups.php +++ b/src/Core/Endpoint/GetOrganizationSecurityGroups.php @@ -33,13 +33,9 @@ class GetOrganizationSecurityGroups extends \KatapultAPI\Core\Runtime\Client\Bas * All 'organization[]' params are mutually exclusive, only one can be provided. * @var array $annotations[][key] An array of annotations to filter by. * - * All 'annotations[]' params are mutually exclusive, only one can be provided. - * * All `annotations[]` params should have the same amount of elements. * @var array $annotations[][value] An array of annotations to filter by. * - * All 'annotations[]' params are mutually exclusive, only one can be provided. - * * All `annotations[]` params should have the same amount of elements. * @var int $page The page number to request. If not provided, the first page will be returned. * @var int $per_page The number of items to return per page. If not provided, the default value will be used. diff --git a/src/Core/Endpoint/GetOrganizationVirtualMachines.php b/src/Core/Endpoint/GetOrganizationVirtualMachines.php index c5400791..2be78c7f 100644 --- a/src/Core/Endpoint/GetOrganizationVirtualMachines.php +++ b/src/Core/Endpoint/GetOrganizationVirtualMachines.php @@ -29,13 +29,9 @@ class GetOrganizationVirtualMachines extends \KatapultAPI\Core\Runtime\Client\Ba * @var string $organization[sub_domain] All 'organization[]' params are mutually exclusive, only one can be provided * @var array $annotations[][key] An array of annotations to filter by. * - * All 'annotations[]' params are mutually exclusive, only one can be provided. - * * All `annotations[]` params should have the same amount of elements. * @var array $annotations[][value] An array of annotations to filter by. * - * All 'annotations[]' params are mutually exclusive, only one can be provided. - * * All `annotations[]` params should have the same amount of elements. * @var int $page The page number to request. If not provided, the first page will be returned. * @var int $per_page The number of items to return per page. If not provided, the default value will be used. diff --git a/src/Core/Endpoint/GetSecurityGroup.php b/src/Core/Endpoint/GetSecurityGroup.php index 28eb5e55..3aa8284d 100644 --- a/src/Core/Endpoint/GetSecurityGroup.php +++ b/src/Core/Endpoint/GetSecurityGroup.php @@ -26,9 +26,7 @@ class GetSecurityGroup extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint imp * @param array $queryParameters { * * @var string $security_group[id] The security group to return the details for. - * - * All 'security_group[]' params are mutually exclusive, only one can be provided. - * } + * } */ public function __construct(array $queryParameters = []) { diff --git a/src/Core/Endpoint/GetSecurityGroupRules.php b/src/Core/Endpoint/GetSecurityGroupRules.php index 43ac62be..220a5882 100644 --- a/src/Core/Endpoint/GetSecurityGroupRules.php +++ b/src/Core/Endpoint/GetSecurityGroupRules.php @@ -25,12 +25,10 @@ class GetSecurityGroupRules extends \KatapultAPI\Core\Runtime\Client\BaseEndpoin * * @param array $queryParameters { * - * @var string $security_group[id] The security group to return all load rules for. - * - * All 'security_group[]' params are mutually exclusive, only one can be provided. - * @var int $page The page number to request. If not provided, the first page will be returned. - * @var int $per_page The number of items to return per page. If not provided, the default value will be used. - * } + * @var string $security_group[id] The security group to return all load rules for + * @var int $page The page number to request. If not provided, the first page will be returned. + * @var int $per_page The number of items to return per page. If not provided, the default value will be used. + * } */ public function __construct(array $queryParameters = []) { diff --git a/src/Core/Endpoint/GetSecurityGroupsRulesSecurityGroupRule.php b/src/Core/Endpoint/GetSecurityGroupsRulesSecurityGroupRule.php index 84e7a881..aac9c7ce 100644 --- a/src/Core/Endpoint/GetSecurityGroupsRulesSecurityGroupRule.php +++ b/src/Core/Endpoint/GetSecurityGroupsRulesSecurityGroupRule.php @@ -26,9 +26,7 @@ class GetSecurityGroupsRulesSecurityGroupRule extends \KatapultAPI\Core\Runtime\ * @param array $queryParameters { * * @var string $security_group_rule[id] The security group rule to return the details for. - * - * All 'security_group_rule[]' params are mutually exclusive, only one can be provided. - * } + * } */ public function __construct(array $queryParameters = []) { diff --git a/src/Core/Endpoint/GetTag.php b/src/Core/Endpoint/GetTag.php index e8b79433..ba02adb7 100644 --- a/src/Core/Endpoint/GetTag.php +++ b/src/Core/Endpoint/GetTag.php @@ -26,9 +26,7 @@ class GetTag extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint implements \K * @param array $queryParameters { * * @var string $tag[id] The tag to load the details for. - * - * All 'tag[]' params are mutually exclusive, only one can be provided. - * } + * } */ public function __construct(array $queryParameters = []) { diff --git a/src/Core/Endpoint/GetTask.php b/src/Core/Endpoint/GetTask.php index cd7362e8..8d9cb8d9 100644 --- a/src/Core/Endpoint/GetTask.php +++ b/src/Core/Endpoint/GetTask.php @@ -25,7 +25,7 @@ class GetTask extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint implements \ * * @param array $queryParameters { * - * @var string $task[id] All 'task[]' params are mutually exclusive, only one can be provided. + * @var string $task[id] * } */ public function __construct(array $queryParameters = []) diff --git a/src/Core/Endpoint/GetVMNIVMNI.php b/src/Core/Endpoint/GetVMNIVMNI.php index 9a7da413..51eeacad 100644 --- a/src/Core/Endpoint/GetVMNIVMNI.php +++ b/src/Core/Endpoint/GetVMNIVMNI.php @@ -26,9 +26,7 @@ class GetVMNIVMNI extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint implemen * @param array $queryParameters { * * @var string $virtual_machine_network_interface[id] The network interface to show the information for. - * - * All 'virtual_machine_network_interface[]' params are mutually exclusive, only one can be provided. - * } + * } */ public function __construct(array $queryParameters = []) { diff --git a/src/Core/Endpoint/GetVirtualMachineGroup.php b/src/Core/Endpoint/GetVirtualMachineGroup.php index 9fb9a8a1..398522ef 100644 --- a/src/Core/Endpoint/GetVirtualMachineGroup.php +++ b/src/Core/Endpoint/GetVirtualMachineGroup.php @@ -26,9 +26,7 @@ class GetVirtualMachineGroup extends \KatapultAPI\Core\Runtime\Client\BaseEndpoi * @param array $queryParameters { * * @var string $virtual_machine_group[id] The virtual machine group to retrieve. - * - * All 'virtual_machine_group[]' params are mutually exclusive, only one can be provided. - * } + * } */ public function __construct(array $queryParameters = []) { diff --git a/src/Core/Endpoint/GetVirtualMachineNetworkInterfaceAvailableIpsAddressVersion.php b/src/Core/Endpoint/GetVirtualMachineNetworkInterfaceAvailableIpsAddressVersion.php index 14f8e5e4..dee3b0a1 100644 --- a/src/Core/Endpoint/GetVirtualMachineNetworkInterfaceAvailableIpsAddressVersion.php +++ b/src/Core/Endpoint/GetVirtualMachineNetworkInterfaceAvailableIpsAddressVersion.php @@ -25,9 +25,7 @@ class GetVirtualMachineNetworkInterfaceAvailableIpsAddressVersion extends \Katap * * @param array $queryParameters { * - * @var string $virtual_machine_network_interface[id] The network interface to get IP addresses for. - * - * All 'virtual_machine_network_interface[]' params are mutually exclusive, only one can be provided. + * @var string $virtual_machine_network_interface[id] The network interface to get IP addresses for * @var string $address_version The IP address version to return results for * } */ diff --git a/src/Core/Endpoint/GetVirtualMachinesBuildsVirtualMachineBuild.php b/src/Core/Endpoint/GetVirtualMachinesBuildsVirtualMachineBuild.php index b10f617a..aebcf450 100644 --- a/src/Core/Endpoint/GetVirtualMachinesBuildsVirtualMachineBuild.php +++ b/src/Core/Endpoint/GetVirtualMachinesBuildsVirtualMachineBuild.php @@ -25,7 +25,7 @@ class GetVirtualMachinesBuildsVirtualMachineBuild extends \KatapultAPI\Core\Runt * * @param array $queryParameters { * - * @var string $virtual_machine_build[id] All 'virtual_machine_build[]' params are mutually exclusive, only one can be provided. + * @var string $virtual_machine_build[id] * } */ public function __construct(array $queryParameters = []) diff --git a/src/Core/Endpoint/GetVirtualNetwork.php b/src/Core/Endpoint/GetVirtualNetwork.php index 41353e78..43a6e36e 100644 --- a/src/Core/Endpoint/GetVirtualNetwork.php +++ b/src/Core/Endpoint/GetVirtualNetwork.php @@ -26,9 +26,7 @@ class GetVirtualNetwork extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint im * @param array $queryParameters { * * @var string $virtual_network[id] The virtual network to retrieve. - * - * All 'virtual_network[]' params are mutually exclusive, only one can be provided. - * } + * } */ public function __construct(array $queryParameters = []) { diff --git a/src/Core/Endpoint/PatchObjectStorageAccessKey.php b/src/Core/Endpoint/PatchObjectStorageAccessKey.php new file mode 100644 index 00000000..a1937aba --- /dev/null +++ b/src/Core/Endpoint/PatchObjectStorageAccessKey.php @@ -0,0 +1,99 @@ +body = $requestBody; + } + + public function getMethod(): string + { + return 'PATCH'; + } + + public function getUri(): string + { + return '/object_storage/access_keys/access_key'; + } + + public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array + { + if ($this->body instanceof \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchBody) { + return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; + } + + return [[], null]; + } + + public function getExtraHeaders(): array + { + return ['Accept' => ['application/json']]; + } + + /** + * @return \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchResponse200|null + * + * @throws \KatapultAPI\Core\Exception\PatchObjectStorageAccessKeyBadRequestException + * @throws \KatapultAPI\Core\Exception\PatchObjectStorageAccessKeyForbiddenException + * @throws \KatapultAPI\Core\Exception\PatchObjectStorageAccessKeyNotFoundException + * @throws \KatapultAPI\Core\Exception\PatchObjectStorageAccessKeyNotAcceptableException + * @throws \KatapultAPI\Core\Exception\PatchObjectStorageAccessKeyUnprocessableEntityException + * @throws \KatapultAPI\Core\Exception\PatchObjectStorageAccessKeyTooManyRequestsException + * @throws \KatapultAPI\Core\Exception\PatchObjectStorageAccessKeyServiceUnavailableException + */ + protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) + { + $status = $response->getStatusCode(); + $body = (string) $response->getBody(); + if (is_null($contentType) === false && (200 === $status && mb_strpos($contentType, 'application/json') !== false)) { + return $serializer->deserialize($body, 'KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchResponse200', 'json'); + } + if (is_null($contentType) === false && (400 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PatchObjectStorageAccessKeyBadRequestException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator400Response', 'json'), $response); + } + if (is_null($contentType) === false && (403 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PatchObjectStorageAccessKeyForbiddenException($response); + } + if (is_null($contentType) === false && (404 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PatchObjectStorageAccessKeyNotFoundException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseObjectStorageAccessKeyNotFoundResponse', 'json'), $response); + } + if (is_null($contentType) === false && (406 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PatchObjectStorageAccessKeyNotAcceptableException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseTaskQueueingErrorResponse', 'json'), $response); + } + if (is_null($contentType) === false && (422 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PatchObjectStorageAccessKeyUnprocessableEntityException($response); + } + if (is_null($contentType) === false && (429 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PatchObjectStorageAccessKeyTooManyRequestsException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response', 'json'), $response); + } + if (is_null($contentType) === false && (503 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PatchObjectStorageAccessKeyServiceUnavailableException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response', 'json'), $response); + } + } + + public function getAuthenticationScopes(): array + { + return ['OAuth2', 'Authenticator']; + } +} diff --git a/src/Core/Endpoint/PostObjectStorageAccessKeyGenerateCredentials.php b/src/Core/Endpoint/PostObjectStorageAccessKeyGenerateCredentials.php new file mode 100644 index 00000000..3bf792dc --- /dev/null +++ b/src/Core/Endpoint/PostObjectStorageAccessKeyGenerateCredentials.php @@ -0,0 +1,99 @@ +body = $requestBody; + } + + public function getMethod(): string + { + return 'POST'; + } + + public function getUri(): string + { + return '/object_storage/access_keys/access_key/generate_credentials'; + } + + public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array + { + if ($this->body instanceof \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostBody) { + return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; + } + + return [[], null]; + } + + public function getExtraHeaders(): array + { + return ['Accept' => ['application/json']]; + } + + /** + * @return \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200|null + * + * @throws \KatapultAPI\Core\Exception\PostObjectStorageAccessKeyGenerateCredentialsBadRequestException + * @throws \KatapultAPI\Core\Exception\PostObjectStorageAccessKeyGenerateCredentialsForbiddenException + * @throws \KatapultAPI\Core\Exception\PostObjectStorageAccessKeyGenerateCredentialsNotFoundException + * @throws \KatapultAPI\Core\Exception\PostObjectStorageAccessKeyGenerateCredentialsNotAcceptableException + * @throws \KatapultAPI\Core\Exception\PostObjectStorageAccessKeyGenerateCredentialsUnprocessableEntityException + * @throws \KatapultAPI\Core\Exception\PostObjectStorageAccessKeyGenerateCredentialsTooManyRequestsException + * @throws \KatapultAPI\Core\Exception\PostObjectStorageAccessKeyGenerateCredentialsServiceUnavailableException + */ + protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) + { + $status = $response->getStatusCode(); + $body = (string) $response->getBody(); + if (is_null($contentType) === false && (200 === $status && mb_strpos($contentType, 'application/json') !== false)) { + return $serializer->deserialize($body, 'KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200', 'json'); + } + if (is_null($contentType) === false && (400 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostObjectStorageAccessKeyGenerateCredentialsBadRequestException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator400Response', 'json'), $response); + } + if (is_null($contentType) === false && (403 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostObjectStorageAccessKeyGenerateCredentialsForbiddenException($response); + } + if (is_null($contentType) === false && (404 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostObjectStorageAccessKeyGenerateCredentialsNotFoundException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseObjectStorageAccessKeyNotFoundResponse', 'json'), $response); + } + if (is_null($contentType) === false && (406 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostObjectStorageAccessKeyGenerateCredentialsNotAcceptableException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseTaskQueueingErrorResponse', 'json'), $response); + } + if (is_null($contentType) === false && (422 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostObjectStorageAccessKeyGenerateCredentialsUnprocessableEntityException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseObjectStorageProvisioningErrorResponse', 'json'), $response); + } + if (is_null($contentType) === false && (429 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostObjectStorageAccessKeyGenerateCredentialsTooManyRequestsException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response', 'json'), $response); + } + if (is_null($contentType) === false && (503 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostObjectStorageAccessKeyGenerateCredentialsServiceUnavailableException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response', 'json'), $response); + } + } + + public function getAuthenticationScopes(): array + { + return ['OAuth2', 'Authenticator']; + } +} diff --git a/src/Core/Endpoint/PostOrganizationObjectStorageObjectStorageCluster.php b/src/Core/Endpoint/PostOrganizationObjectStorageObjectStorageCluster.php new file mode 100644 index 00000000..b03ce278 --- /dev/null +++ b/src/Core/Endpoint/PostOrganizationObjectStorageObjectStorageCluster.php @@ -0,0 +1,99 @@ +body = $requestBody; + } + + public function getMethod(): string + { + return 'POST'; + } + + public function getUri(): string + { + return '/organizations/organization/object_storage/object_storage_cluster'; + } + + public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array + { + if ($this->body instanceof \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostBody) { + return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; + } + + return [[], null]; + } + + public function getExtraHeaders(): array + { + return ['Accept' => ['application/json']]; + } + + /** + * @return \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201|null + * + * @throws \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterBadRequestException + * @throws \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterForbiddenException + * @throws \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterNotFoundException + * @throws \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterNotAcceptableException + * @throws \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterUnprocessableEntityException + * @throws \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterTooManyRequestsException + * @throws \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterServiceUnavailableException + */ + protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) + { + $status = $response->getStatusCode(); + $body = (string) $response->getBody(); + if (is_null($contentType) === false && (201 === $status && mb_strpos($contentType, 'application/json') !== false)) { + return $serializer->deserialize($body, 'KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201', 'json'); + } + if (is_null($contentType) === false && (400 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterBadRequestException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator400Response', 'json'), $response); + } + if (is_null($contentType) === false && (403 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterForbiddenException($response); + } + if (is_null($contentType) === false && (404 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterNotFoundException($response); + } + if (is_null($contentType) === false && (406 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterNotAcceptableException($response); + } + if (is_null($contentType) === false && (422 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterUnprocessableEntityException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseValidationErrorResponse', 'json'), $response); + } + if (is_null($contentType) === false && (429 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterTooManyRequestsException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response', 'json'), $response); + } + if (is_null($contentType) === false && (503 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterServiceUnavailableException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response', 'json'), $response); + } + } + + public function getAuthenticationScopes(): array + { + return ['OAuth2', 'Authenticator']; + } +} diff --git a/src/Core/Endpoint/PostOrganizationObjectStorageObjectStorageClusterAccessKeys.php b/src/Core/Endpoint/PostOrganizationObjectStorageObjectStorageClusterAccessKeys.php new file mode 100644 index 00000000..4cf82ded --- /dev/null +++ b/src/Core/Endpoint/PostOrganizationObjectStorageObjectStorageClusterAccessKeys.php @@ -0,0 +1,99 @@ +body = $requestBody; + } + + public function getMethod(): string + { + return 'POST'; + } + + public function getUri(): string + { + return '/organizations/organization/object_storage/object_storage_cluster/access_keys'; + } + + public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array + { + if ($this->body instanceof \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostBody) { + return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; + } + + return [[], null]; + } + + public function getExtraHeaders(): array + { + return ['Accept' => ['application/json']]; + } + + /** + * @return \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostResponse201|null + * + * @throws \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterAccessKeysBadRequestException + * @throws \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterAccessKeysForbiddenException + * @throws \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterAccessKeysNotFoundException + * @throws \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterAccessKeysNotAcceptableException + * @throws \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterAccessKeysUnprocessableEntityException + * @throws \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterAccessKeysTooManyRequestsException + * @throws \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterAccessKeysServiceUnavailableException + */ + protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) + { + $status = $response->getStatusCode(); + $body = (string) $response->getBody(); + if (is_null($contentType) === false && (201 === $status && mb_strpos($contentType, 'application/json') !== false)) { + return $serializer->deserialize($body, 'KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostResponse201', 'json'); + } + if (is_null($contentType) === false && (400 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterAccessKeysBadRequestException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator400Response', 'json'), $response); + } + if (is_null($contentType) === false && (403 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterAccessKeysForbiddenException($response); + } + if (is_null($contentType) === false && (404 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterAccessKeysNotFoundException($response); + } + if (is_null($contentType) === false && (406 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterAccessKeysNotAcceptableException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseObjectInTrashResponse', 'json'), $response); + } + if (is_null($contentType) === false && (422 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterAccessKeysUnprocessableEntityException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseValidationErrorResponse', 'json'), $response); + } + if (is_null($contentType) === false && (429 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterAccessKeysTooManyRequestsException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response', 'json'), $response); + } + if (is_null($contentType) === false && (503 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterAccessKeysServiceUnavailableException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response', 'json'), $response); + } + } + + public function getAuthenticationScopes(): array + { + return ['OAuth2', 'Authenticator']; + } +} diff --git a/src/Core/Endpoint/PostVirtualMachineNetworkInterfaceAttach.php b/src/Core/Endpoint/PostVirtualMachineNetworkInterfaceAttach.php new file mode 100644 index 00000000..84cbf2fe --- /dev/null +++ b/src/Core/Endpoint/PostVirtualMachineNetworkInterfaceAttach.php @@ -0,0 +1,100 @@ +body = $requestBody; + } + + public function getMethod(): string + { + return 'POST'; + } + + public function getUri(): string + { + return '/virtual_machine_network_interfaces/virtual_machine_network_interface/attach'; + } + + public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array + { + if ($this->body instanceof \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostBody) { + return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; + } + + return [[], null]; + } + + public function getExtraHeaders(): array + { + return ['Accept' => ['application/json']]; + } + + /** + * @return \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200|null + * + * @throws \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfaceAttachBadRequestException + * @throws \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfaceAttachForbiddenException + * @throws \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfaceAttachNotFoundException + * @throws \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfaceAttachNotAcceptableException + * @throws \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfaceAttachUnprocessableEntityException + * @throws \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfaceAttachTooManyRequestsException + * @throws \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfaceAttachServiceUnavailableException + */ + protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) + { + $status = $response->getStatusCode(); + $body = (string) $response->getBody(); + if (is_null($contentType) === false && (200 === $status && mb_strpos($contentType, 'application/json') !== false)) { + return $serializer->deserialize($body, 'KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200', 'json'); + } + if (is_null($contentType) === false && (400 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfaceAttachBadRequestException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator400Response', 'json'), $response); + } + if (is_null($contentType) === false && (403 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfaceAttachForbiddenException($response); + } + if (is_null($contentType) === false && (404 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfaceAttachNotFoundException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseVirtualMachineNetworkInterfaceNotFoundResponse', 'json'), $response); + } + if (is_null($contentType) === false && (406 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfaceAttachNotAcceptableException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseTaskQueueingErrorResponse', 'json'), $response); + } + if (is_null($contentType) === false && (422 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfaceAttachUnprocessableEntityException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseVirtualMachineNetworkInterfaceAlreadyAttachedResponse', 'json'), $response); + } + if (is_null($contentType) === false && (429 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfaceAttachTooManyRequestsException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response', 'json'), $response); + } + if (is_null($contentType) === false && (503 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfaceAttachServiceUnavailableException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response', 'json'), $response); + } + } + + public function getAuthenticationScopes(): array + { + return ['OAuth2', 'Authenticator']; + } +} diff --git a/src/Core/Endpoint/PostVirtualMachineNetworkInterfaceDetach.php b/src/Core/Endpoint/PostVirtualMachineNetworkInterfaceDetach.php new file mode 100644 index 00000000..42023fb9 --- /dev/null +++ b/src/Core/Endpoint/PostVirtualMachineNetworkInterfaceDetach.php @@ -0,0 +1,100 @@ +body = $requestBody; + } + + public function getMethod(): string + { + return 'POST'; + } + + public function getUri(): string + { + return '/virtual_machine_network_interfaces/virtual_machine_network_interface/detach'; + } + + public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array + { + if ($this->body instanceof \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostBody) { + return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; + } + + return [[], null]; + } + + public function getExtraHeaders(): array + { + return ['Accept' => ['application/json']]; + } + + /** + * @return \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200|null + * + * @throws \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfaceDetachBadRequestException + * @throws \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfaceDetachForbiddenException + * @throws \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfaceDetachNotFoundException + * @throws \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfaceDetachNotAcceptableException + * @throws \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfaceDetachUnprocessableEntityException + * @throws \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfaceDetachTooManyRequestsException + * @throws \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfaceDetachServiceUnavailableException + */ + protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) + { + $status = $response->getStatusCode(); + $body = (string) $response->getBody(); + if (is_null($contentType) === false && (200 === $status && mb_strpos($contentType, 'application/json') !== false)) { + return $serializer->deserialize($body, 'KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200', 'json'); + } + if (is_null($contentType) === false && (400 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfaceDetachBadRequestException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator400Response', 'json'), $response); + } + if (is_null($contentType) === false && (403 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfaceDetachForbiddenException($response); + } + if (is_null($contentType) === false && (404 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfaceDetachNotFoundException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseVirtualMachineNetworkInterfaceNotFoundResponse', 'json'), $response); + } + if (is_null($contentType) === false && (406 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfaceDetachNotAcceptableException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseTaskQueueingErrorResponse', 'json'), $response); + } + if (is_null($contentType) === false && (422 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfaceDetachUnprocessableEntityException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseVirtualMachineNetworkInterfaceAlreadyDetachedResponse', 'json'), $response); + } + if (is_null($contentType) === false && (429 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfaceDetachTooManyRequestsException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response', 'json'), $response); + } + if (is_null($contentType) === false && (503 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfaceDetachServiceUnavailableException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response', 'json'), $response); + } + } + + public function getAuthenticationScopes(): array + { + return ['OAuth2', 'Authenticator']; + } +} diff --git a/src/Core/Endpoint/PostVirtualMachineNetworkInterfaces.php b/src/Core/Endpoint/PostVirtualMachineNetworkInterfaces.php new file mode 100644 index 00000000..3507235c --- /dev/null +++ b/src/Core/Endpoint/PostVirtualMachineNetworkInterfaces.php @@ -0,0 +1,100 @@ +body = $requestBody; + } + + public function getMethod(): string + { + return 'POST'; + } + + public function getUri(): string + { + return '/virtual_machines/virtual_machine/network_interfaces'; + } + + public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array + { + if ($this->body instanceof \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostBody) { + return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; + } + + return [[], null]; + } + + public function getExtraHeaders(): array + { + return ['Accept' => ['application/json']]; + } + + /** + * @return \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200|null + * + * @throws \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfacesBadRequestException + * @throws \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfacesForbiddenException + * @throws \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfacesNotFoundException + * @throws \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfacesNotAcceptableException + * @throws \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfacesUnprocessableEntityException + * @throws \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfacesTooManyRequestsException + * @throws \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfacesServiceUnavailableException + */ + protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $response, \Symfony\Component\Serializer\SerializerInterface $serializer, ?string $contentType = null) + { + $status = $response->getStatusCode(); + $body = (string) $response->getBody(); + if (is_null($contentType) === false && (200 === $status && mb_strpos($contentType, 'application/json') !== false)) { + return $serializer->deserialize($body, 'KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200', 'json'); + } + if (is_null($contentType) === false && (400 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfacesBadRequestException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator400Response', 'json'), $response); + } + if (is_null($contentType) === false && (403 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfacesForbiddenException($response); + } + if (is_null($contentType) === false && (404 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfacesNotFoundException($response); + } + if (is_null($contentType) === false && (406 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfacesNotAcceptableException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseObjectInTrashResponse', 'json'), $response); + } + if (is_null($contentType) === false && (422 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfacesUnprocessableEntityException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseValidationErrorResponse', 'json'), $response); + } + if (is_null($contentType) === false && (429 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfacesTooManyRequestsException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response', 'json'), $response); + } + if (is_null($contentType) === false && (503 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostVirtualMachineNetworkInterfacesServiceUnavailableException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response', 'json'), $response); + } + } + + public function getAuthenticationScopes(): array + { + return ['OAuth2', 'Authenticator']; + } +} diff --git a/src/Core/Exception/DeleteObjectStorageAccessKeyBadRequestException.php b/src/Core/Exception/DeleteObjectStorageAccessKeyBadRequestException.php new file mode 100644 index 00000000..75e613f0 --- /dev/null +++ b/src/Core/Exception/DeleteObjectStorageAccessKeyBadRequestException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator400Response = $responseAPIAuthenticator400Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator400Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator400Response + { + return $this->responseAPIAuthenticator400Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/DeleteObjectStorageAccessKeyForbiddenException.php b/src/Core/Exception/DeleteObjectStorageAccessKeyForbiddenException.php new file mode 100644 index 00000000..41f3151b --- /dev/null +++ b/src/Core/Exception/DeleteObjectStorageAccessKeyForbiddenException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/DeleteObjectStorageAccessKeyGatewayTimeoutException.php b/src/Core/Exception/DeleteObjectStorageAccessKeyGatewayTimeoutException.php new file mode 100644 index 00000000..b5bd36ab --- /dev/null +++ b/src/Core/Exception/DeleteObjectStorageAccessKeyGatewayTimeoutException.php @@ -0,0 +1,40 @@ +responseNetworkErrorResponse = $responseNetworkErrorResponse; + $this->response = $response; + } + + public function getResponseNetworkErrorResponse(): \KatapultAPI\Core\Model\ResponseNetworkErrorResponse + { + return $this->responseNetworkErrorResponse; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/DeleteObjectStorageAccessKeyNotFoundException.php b/src/Core/Exception/DeleteObjectStorageAccessKeyNotFoundException.php new file mode 100644 index 00000000..779d3432 --- /dev/null +++ b/src/Core/Exception/DeleteObjectStorageAccessKeyNotFoundException.php @@ -0,0 +1,40 @@ +responseObjectStorageAccessKeyNotFoundResponse = $responseObjectStorageAccessKeyNotFoundResponse; + $this->response = $response; + } + + public function getResponseObjectStorageAccessKeyNotFoundResponse(): \KatapultAPI\Core\Model\ResponseObjectStorageAccessKeyNotFoundResponse + { + return $this->responseObjectStorageAccessKeyNotFoundResponse; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/DeleteObjectStorageAccessKeyServiceUnavailableException.php b/src/Core/Exception/DeleteObjectStorageAccessKeyServiceUnavailableException.php new file mode 100644 index 00000000..ba899ffb --- /dev/null +++ b/src/Core/Exception/DeleteObjectStorageAccessKeyServiceUnavailableException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator503Response = $responseAPIAuthenticator503Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator503Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response + { + return $this->responseAPIAuthenticator503Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/DeleteObjectStorageAccessKeyTooManyRequestsException.php b/src/Core/Exception/DeleteObjectStorageAccessKeyTooManyRequestsException.php new file mode 100644 index 00000000..7f410ab1 --- /dev/null +++ b/src/Core/Exception/DeleteObjectStorageAccessKeyTooManyRequestsException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator429Response = $responseAPIAuthenticator429Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator429Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response + { + return $this->responseAPIAuthenticator429Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/DeleteOrganizationObjectStorageObjectStorageClusterBadRequestException.php b/src/Core/Exception/DeleteOrganizationObjectStorageObjectStorageClusterBadRequestException.php new file mode 100644 index 00000000..1595b44d --- /dev/null +++ b/src/Core/Exception/DeleteOrganizationObjectStorageObjectStorageClusterBadRequestException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator400Response = $responseAPIAuthenticator400Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator400Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator400Response + { + return $this->responseAPIAuthenticator400Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/DeleteOrganizationObjectStorageObjectStorageClusterForbiddenException.php b/src/Core/Exception/DeleteOrganizationObjectStorageObjectStorageClusterForbiddenException.php new file mode 100644 index 00000000..fd47772a --- /dev/null +++ b/src/Core/Exception/DeleteOrganizationObjectStorageObjectStorageClusterForbiddenException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/DeleteOrganizationObjectStorageObjectStorageClusterNotAcceptableException.php b/src/Core/Exception/DeleteOrganizationObjectStorageObjectStorageClusterNotAcceptableException.php new file mode 100644 index 00000000..3b2f8df6 --- /dev/null +++ b/src/Core/Exception/DeleteOrganizationObjectStorageObjectStorageClusterNotAcceptableException.php @@ -0,0 +1,40 @@ +responseObjectInTrashResponse = $responseObjectInTrashResponse; + $this->response = $response; + } + + public function getResponseObjectInTrashResponse(): \KatapultAPI\Core\Model\ResponseObjectInTrashResponse + { + return $this->responseObjectInTrashResponse; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/DeleteOrganizationObjectStorageObjectStorageClusterNotFoundException.php b/src/Core/Exception/DeleteOrganizationObjectStorageObjectStorageClusterNotFoundException.php new file mode 100644 index 00000000..160c2adf --- /dev/null +++ b/src/Core/Exception/DeleteOrganizationObjectStorageObjectStorageClusterNotFoundException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/DeleteOrganizationObjectStorageObjectStorageClusterServiceUnavailableException.php b/src/Core/Exception/DeleteOrganizationObjectStorageObjectStorageClusterServiceUnavailableException.php new file mode 100644 index 00000000..9dad6afb --- /dev/null +++ b/src/Core/Exception/DeleteOrganizationObjectStorageObjectStorageClusterServiceUnavailableException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator503Response = $responseAPIAuthenticator503Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator503Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response + { + return $this->responseAPIAuthenticator503Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/DeleteOrganizationObjectStorageObjectStorageClusterTooManyRequestsException.php b/src/Core/Exception/DeleteOrganizationObjectStorageObjectStorageClusterTooManyRequestsException.php new file mode 100644 index 00000000..1ec41d63 --- /dev/null +++ b/src/Core/Exception/DeleteOrganizationObjectStorageObjectStorageClusterTooManyRequestsException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator429Response = $responseAPIAuthenticator429Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator429Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response + { + return $this->responseAPIAuthenticator429Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/DeleteOrganizationObjectStorageObjectStorageClusterUnprocessableEntityException.php b/src/Core/Exception/DeleteOrganizationObjectStorageObjectStorageClusterUnprocessableEntityException.php new file mode 100644 index 00000000..181e1daf --- /dev/null +++ b/src/Core/Exception/DeleteOrganizationObjectStorageObjectStorageClusterUnprocessableEntityException.php @@ -0,0 +1,40 @@ +responseValidationErrorResponse = $responseValidationErrorResponse; + $this->response = $response; + } + + public function getResponseValidationErrorResponse(): \KatapultAPI\Core\Model\ResponseValidationErrorResponse + { + return $this->responseValidationErrorResponse; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/DeleteVirtualMachineNetworkInterfaceBadRequestException.php b/src/Core/Exception/DeleteVirtualMachineNetworkInterfaceBadRequestException.php new file mode 100644 index 00000000..a84cecbc --- /dev/null +++ b/src/Core/Exception/DeleteVirtualMachineNetworkInterfaceBadRequestException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator400Response = $responseAPIAuthenticator400Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator400Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator400Response + { + return $this->responseAPIAuthenticator400Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/DeleteVirtualMachineNetworkInterfaceConflictException.php b/src/Core/Exception/DeleteVirtualMachineNetworkInterfaceConflictException.php new file mode 100644 index 00000000..ca72a675 --- /dev/null +++ b/src/Core/Exception/DeleteVirtualMachineNetworkInterfaceConflictException.php @@ -0,0 +1,40 @@ +responseDeletionRestrictedResponse = $responseDeletionRestrictedResponse; + $this->response = $response; + } + + public function getResponseDeletionRestrictedResponse(): \KatapultAPI\Core\Model\ResponseDeletionRestrictedResponse + { + return $this->responseDeletionRestrictedResponse; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/DeleteVirtualMachineNetworkInterfaceForbiddenException.php b/src/Core/Exception/DeleteVirtualMachineNetworkInterfaceForbiddenException.php new file mode 100644 index 00000000..6970e690 --- /dev/null +++ b/src/Core/Exception/DeleteVirtualMachineNetworkInterfaceForbiddenException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/DeleteVirtualMachineNetworkInterfaceNotFoundException.php b/src/Core/Exception/DeleteVirtualMachineNetworkInterfaceNotFoundException.php new file mode 100644 index 00000000..a6ef68e1 --- /dev/null +++ b/src/Core/Exception/DeleteVirtualMachineNetworkInterfaceNotFoundException.php @@ -0,0 +1,40 @@ +responseVirtualMachineNetworkInterfaceNotFoundResponse = $responseVirtualMachineNetworkInterfaceNotFoundResponse; + $this->response = $response; + } + + public function getResponseVirtualMachineNetworkInterfaceNotFoundResponse(): \KatapultAPI\Core\Model\ResponseVirtualMachineNetworkInterfaceNotFoundResponse + { + return $this->responseVirtualMachineNetworkInterfaceNotFoundResponse; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/DeleteVirtualMachineNetworkInterfaceServiceUnavailableException.php b/src/Core/Exception/DeleteVirtualMachineNetworkInterfaceServiceUnavailableException.php new file mode 100644 index 00000000..370f5a5b --- /dev/null +++ b/src/Core/Exception/DeleteVirtualMachineNetworkInterfaceServiceUnavailableException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator503Response = $responseAPIAuthenticator503Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator503Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response + { + return $this->responseAPIAuthenticator503Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/DeleteVirtualMachineNetworkInterfaceTooManyRequestsException.php b/src/Core/Exception/DeleteVirtualMachineNetworkInterfaceTooManyRequestsException.php new file mode 100644 index 00000000..9f0c5ca6 --- /dev/null +++ b/src/Core/Exception/DeleteVirtualMachineNetworkInterfaceTooManyRequestsException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator429Response = $responseAPIAuthenticator429Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator429Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response + { + return $this->responseAPIAuthenticator429Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/DeleteVirtualMachineNetworkInterfaceUnprocessableEntityException.php b/src/Core/Exception/DeleteVirtualMachineNetworkInterfaceUnprocessableEntityException.php new file mode 100644 index 00000000..7df8bb5c --- /dev/null +++ b/src/Core/Exception/DeleteVirtualMachineNetworkInterfaceUnprocessableEntityException.php @@ -0,0 +1,40 @@ +responseValidationErrorResponse = $responseValidationErrorResponse; + $this->response = $response; + } + + public function getResponseValidationErrorResponse(): \KatapultAPI\Core\Model\ResponseValidationErrorResponse + { + return $this->responseValidationErrorResponse; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/GetObjectStorageAccessKeyBadRequestException.php b/src/Core/Exception/GetObjectStorageAccessKeyBadRequestException.php new file mode 100644 index 00000000..ab28f977 --- /dev/null +++ b/src/Core/Exception/GetObjectStorageAccessKeyBadRequestException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator400Response = $responseAPIAuthenticator400Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator400Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator400Response + { + return $this->responseAPIAuthenticator400Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/GetObjectStorageAccessKeyForbiddenException.php b/src/Core/Exception/GetObjectStorageAccessKeyForbiddenException.php new file mode 100644 index 00000000..f8e20955 --- /dev/null +++ b/src/Core/Exception/GetObjectStorageAccessKeyForbiddenException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/GetObjectStorageAccessKeyNotFoundException.php b/src/Core/Exception/GetObjectStorageAccessKeyNotFoundException.php new file mode 100644 index 00000000..955e1e56 --- /dev/null +++ b/src/Core/Exception/GetObjectStorageAccessKeyNotFoundException.php @@ -0,0 +1,40 @@ +responseObjectStorageAccessKeyNotFoundResponse = $responseObjectStorageAccessKeyNotFoundResponse; + $this->response = $response; + } + + public function getResponseObjectStorageAccessKeyNotFoundResponse(): \KatapultAPI\Core\Model\ResponseObjectStorageAccessKeyNotFoundResponse + { + return $this->responseObjectStorageAccessKeyNotFoundResponse; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/GetObjectStorageAccessKeyServiceUnavailableException.php b/src/Core/Exception/GetObjectStorageAccessKeyServiceUnavailableException.php new file mode 100644 index 00000000..f3ffcb8a --- /dev/null +++ b/src/Core/Exception/GetObjectStorageAccessKeyServiceUnavailableException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator503Response = $responseAPIAuthenticator503Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator503Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response + { + return $this->responseAPIAuthenticator503Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/GetObjectStorageAccessKeyTooManyRequestsException.php b/src/Core/Exception/GetObjectStorageAccessKeyTooManyRequestsException.php new file mode 100644 index 00000000..269b859e --- /dev/null +++ b/src/Core/Exception/GetObjectStorageAccessKeyTooManyRequestsException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator429Response = $responseAPIAuthenticator429Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator429Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response + { + return $this->responseAPIAuthenticator429Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/GetOrganizationObjectStorageAccessKeysBadRequestException.php b/src/Core/Exception/GetOrganizationObjectStorageAccessKeysBadRequestException.php new file mode 100644 index 00000000..00d5c14e --- /dev/null +++ b/src/Core/Exception/GetOrganizationObjectStorageAccessKeysBadRequestException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator400Response = $responseAPIAuthenticator400Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator400Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator400Response + { + return $this->responseAPIAuthenticator400Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/GetOrganizationObjectStorageAccessKeysForbiddenException.php b/src/Core/Exception/GetOrganizationObjectStorageAccessKeysForbiddenException.php new file mode 100644 index 00000000..97132ccc --- /dev/null +++ b/src/Core/Exception/GetOrganizationObjectStorageAccessKeysForbiddenException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/GetOrganizationObjectStorageAccessKeysNotFoundException.php b/src/Core/Exception/GetOrganizationObjectStorageAccessKeysNotFoundException.php new file mode 100644 index 00000000..3ac9eb37 --- /dev/null +++ b/src/Core/Exception/GetOrganizationObjectStorageAccessKeysNotFoundException.php @@ -0,0 +1,40 @@ +responseOrganizationNotFoundResponse = $responseOrganizationNotFoundResponse; + $this->response = $response; + } + + public function getResponseOrganizationNotFoundResponse(): \KatapultAPI\Core\Model\ResponseOrganizationNotFoundResponse + { + return $this->responseOrganizationNotFoundResponse; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/GetOrganizationObjectStorageAccessKeysServiceUnavailableException.php b/src/Core/Exception/GetOrganizationObjectStorageAccessKeysServiceUnavailableException.php new file mode 100644 index 00000000..648187a5 --- /dev/null +++ b/src/Core/Exception/GetOrganizationObjectStorageAccessKeysServiceUnavailableException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator503Response = $responseAPIAuthenticator503Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator503Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response + { + return $this->responseAPIAuthenticator503Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/GetOrganizationObjectStorageAccessKeysTooManyRequestsException.php b/src/Core/Exception/GetOrganizationObjectStorageAccessKeysTooManyRequestsException.php new file mode 100644 index 00000000..e0932b40 --- /dev/null +++ b/src/Core/Exception/GetOrganizationObjectStorageAccessKeysTooManyRequestsException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator429Response = $responseAPIAuthenticator429Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator429Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response + { + return $this->responseAPIAuthenticator429Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/GetOrganizationObjectStorageObjectStorageClusterBadRequestException.php b/src/Core/Exception/GetOrganizationObjectStorageObjectStorageClusterBadRequestException.php new file mode 100644 index 00000000..eddc46e4 --- /dev/null +++ b/src/Core/Exception/GetOrganizationObjectStorageObjectStorageClusterBadRequestException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator400Response = $responseAPIAuthenticator400Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator400Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator400Response + { + return $this->responseAPIAuthenticator400Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/GetOrganizationObjectStorageObjectStorageClusterForbiddenException.php b/src/Core/Exception/GetOrganizationObjectStorageObjectStorageClusterForbiddenException.php new file mode 100644 index 00000000..3f60ab00 --- /dev/null +++ b/src/Core/Exception/GetOrganizationObjectStorageObjectStorageClusterForbiddenException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/GetOrganizationObjectStorageObjectStorageClusterNotAcceptableException.php b/src/Core/Exception/GetOrganizationObjectStorageObjectStorageClusterNotAcceptableException.php new file mode 100644 index 00000000..405d07d1 --- /dev/null +++ b/src/Core/Exception/GetOrganizationObjectStorageObjectStorageClusterNotAcceptableException.php @@ -0,0 +1,40 @@ +responseObjectInTrashResponse = $responseObjectInTrashResponse; + $this->response = $response; + } + + public function getResponseObjectInTrashResponse(): \KatapultAPI\Core\Model\ResponseObjectInTrashResponse + { + return $this->responseObjectInTrashResponse; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/GetOrganizationObjectStorageObjectStorageClusterNotFoundException.php b/src/Core/Exception/GetOrganizationObjectStorageObjectStorageClusterNotFoundException.php new file mode 100644 index 00000000..4eaac642 --- /dev/null +++ b/src/Core/Exception/GetOrganizationObjectStorageObjectStorageClusterNotFoundException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/GetOrganizationObjectStorageObjectStorageClusterServiceUnavailableException.php b/src/Core/Exception/GetOrganizationObjectStorageObjectStorageClusterServiceUnavailableException.php new file mode 100644 index 00000000..33dfb589 --- /dev/null +++ b/src/Core/Exception/GetOrganizationObjectStorageObjectStorageClusterServiceUnavailableException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator503Response = $responseAPIAuthenticator503Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator503Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response + { + return $this->responseAPIAuthenticator503Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/GetOrganizationObjectStorageObjectStorageClusterTooManyRequestsException.php b/src/Core/Exception/GetOrganizationObjectStorageObjectStorageClusterTooManyRequestsException.php new file mode 100644 index 00000000..d74b18b2 --- /dev/null +++ b/src/Core/Exception/GetOrganizationObjectStorageObjectStorageClusterTooManyRequestsException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator429Response = $responseAPIAuthenticator429Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator429Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response + { + return $this->responseAPIAuthenticator429Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PatchObjectStorageAccessKeyBadRequestException.php b/src/Core/Exception/PatchObjectStorageAccessKeyBadRequestException.php new file mode 100644 index 00000000..d2f9ffb9 --- /dev/null +++ b/src/Core/Exception/PatchObjectStorageAccessKeyBadRequestException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator400Response = $responseAPIAuthenticator400Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator400Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator400Response + { + return $this->responseAPIAuthenticator400Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PatchObjectStorageAccessKeyForbiddenException.php b/src/Core/Exception/PatchObjectStorageAccessKeyForbiddenException.php new file mode 100644 index 00000000..2ff7770f --- /dev/null +++ b/src/Core/Exception/PatchObjectStorageAccessKeyForbiddenException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PatchObjectStorageAccessKeyNotAcceptableException.php b/src/Core/Exception/PatchObjectStorageAccessKeyNotAcceptableException.php new file mode 100644 index 00000000..fffdc22e --- /dev/null +++ b/src/Core/Exception/PatchObjectStorageAccessKeyNotAcceptableException.php @@ -0,0 +1,40 @@ +responseTaskQueueingErrorResponse = $responseTaskQueueingErrorResponse; + $this->response = $response; + } + + public function getResponseTaskQueueingErrorResponse(): \KatapultAPI\Core\Model\ResponseTaskQueueingErrorResponse + { + return $this->responseTaskQueueingErrorResponse; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PatchObjectStorageAccessKeyNotFoundException.php b/src/Core/Exception/PatchObjectStorageAccessKeyNotFoundException.php new file mode 100644 index 00000000..5cc794fc --- /dev/null +++ b/src/Core/Exception/PatchObjectStorageAccessKeyNotFoundException.php @@ -0,0 +1,40 @@ +responseObjectStorageAccessKeyNotFoundResponse = $responseObjectStorageAccessKeyNotFoundResponse; + $this->response = $response; + } + + public function getResponseObjectStorageAccessKeyNotFoundResponse(): \KatapultAPI\Core\Model\ResponseObjectStorageAccessKeyNotFoundResponse + { + return $this->responseObjectStorageAccessKeyNotFoundResponse; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PatchObjectStorageAccessKeyServiceUnavailableException.php b/src/Core/Exception/PatchObjectStorageAccessKeyServiceUnavailableException.php new file mode 100644 index 00000000..3b6ea503 --- /dev/null +++ b/src/Core/Exception/PatchObjectStorageAccessKeyServiceUnavailableException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator503Response = $responseAPIAuthenticator503Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator503Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response + { + return $this->responseAPIAuthenticator503Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PatchObjectStorageAccessKeyTooManyRequestsException.php b/src/Core/Exception/PatchObjectStorageAccessKeyTooManyRequestsException.php new file mode 100644 index 00000000..b214ce8f --- /dev/null +++ b/src/Core/Exception/PatchObjectStorageAccessKeyTooManyRequestsException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator429Response = $responseAPIAuthenticator429Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator429Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response + { + return $this->responseAPIAuthenticator429Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PatchObjectStorageAccessKeyUnprocessableEntityException.php b/src/Core/Exception/PatchObjectStorageAccessKeyUnprocessableEntityException.php new file mode 100644 index 00000000..f575d887 --- /dev/null +++ b/src/Core/Exception/PatchObjectStorageAccessKeyUnprocessableEntityException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostObjectStorageAccessKeyGenerateCredentialsBadRequestException.php b/src/Core/Exception/PostObjectStorageAccessKeyGenerateCredentialsBadRequestException.php new file mode 100644 index 00000000..294995e2 --- /dev/null +++ b/src/Core/Exception/PostObjectStorageAccessKeyGenerateCredentialsBadRequestException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator400Response = $responseAPIAuthenticator400Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator400Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator400Response + { + return $this->responseAPIAuthenticator400Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostObjectStorageAccessKeyGenerateCredentialsForbiddenException.php b/src/Core/Exception/PostObjectStorageAccessKeyGenerateCredentialsForbiddenException.php new file mode 100644 index 00000000..422379cd --- /dev/null +++ b/src/Core/Exception/PostObjectStorageAccessKeyGenerateCredentialsForbiddenException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostObjectStorageAccessKeyGenerateCredentialsNotAcceptableException.php b/src/Core/Exception/PostObjectStorageAccessKeyGenerateCredentialsNotAcceptableException.php new file mode 100644 index 00000000..5d9c7f0b --- /dev/null +++ b/src/Core/Exception/PostObjectStorageAccessKeyGenerateCredentialsNotAcceptableException.php @@ -0,0 +1,40 @@ +responseTaskQueueingErrorResponse = $responseTaskQueueingErrorResponse; + $this->response = $response; + } + + public function getResponseTaskQueueingErrorResponse(): \KatapultAPI\Core\Model\ResponseTaskQueueingErrorResponse + { + return $this->responseTaskQueueingErrorResponse; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostObjectStorageAccessKeyGenerateCredentialsNotFoundException.php b/src/Core/Exception/PostObjectStorageAccessKeyGenerateCredentialsNotFoundException.php new file mode 100644 index 00000000..2f50a913 --- /dev/null +++ b/src/Core/Exception/PostObjectStorageAccessKeyGenerateCredentialsNotFoundException.php @@ -0,0 +1,40 @@ +responseObjectStorageAccessKeyNotFoundResponse = $responseObjectStorageAccessKeyNotFoundResponse; + $this->response = $response; + } + + public function getResponseObjectStorageAccessKeyNotFoundResponse(): \KatapultAPI\Core\Model\ResponseObjectStorageAccessKeyNotFoundResponse + { + return $this->responseObjectStorageAccessKeyNotFoundResponse; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostObjectStorageAccessKeyGenerateCredentialsServiceUnavailableException.php b/src/Core/Exception/PostObjectStorageAccessKeyGenerateCredentialsServiceUnavailableException.php new file mode 100644 index 00000000..3a6863e7 --- /dev/null +++ b/src/Core/Exception/PostObjectStorageAccessKeyGenerateCredentialsServiceUnavailableException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator503Response = $responseAPIAuthenticator503Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator503Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response + { + return $this->responseAPIAuthenticator503Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostObjectStorageAccessKeyGenerateCredentialsTooManyRequestsException.php b/src/Core/Exception/PostObjectStorageAccessKeyGenerateCredentialsTooManyRequestsException.php new file mode 100644 index 00000000..cf0670f4 --- /dev/null +++ b/src/Core/Exception/PostObjectStorageAccessKeyGenerateCredentialsTooManyRequestsException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator429Response = $responseAPIAuthenticator429Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator429Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response + { + return $this->responseAPIAuthenticator429Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostObjectStorageAccessKeyGenerateCredentialsUnprocessableEntityException.php b/src/Core/Exception/PostObjectStorageAccessKeyGenerateCredentialsUnprocessableEntityException.php new file mode 100644 index 00000000..242e9b74 --- /dev/null +++ b/src/Core/Exception/PostObjectStorageAccessKeyGenerateCredentialsUnprocessableEntityException.php @@ -0,0 +1,40 @@ +responseObjectStorageProvisioningErrorResponse = $responseObjectStorageProvisioningErrorResponse; + $this->response = $response; + } + + public function getResponseObjectStorageProvisioningErrorResponse(): \KatapultAPI\Core\Model\ResponseObjectStorageProvisioningErrorResponse + { + return $this->responseObjectStorageProvisioningErrorResponse; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterAccessKeysBadRequestException.php b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterAccessKeysBadRequestException.php new file mode 100644 index 00000000..a49bb395 --- /dev/null +++ b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterAccessKeysBadRequestException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator400Response = $responseAPIAuthenticator400Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator400Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator400Response + { + return $this->responseAPIAuthenticator400Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterAccessKeysForbiddenException.php b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterAccessKeysForbiddenException.php new file mode 100644 index 00000000..9e4b73e5 --- /dev/null +++ b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterAccessKeysForbiddenException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterAccessKeysNotAcceptableException.php b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterAccessKeysNotAcceptableException.php new file mode 100644 index 00000000..b6361baf --- /dev/null +++ b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterAccessKeysNotAcceptableException.php @@ -0,0 +1,40 @@ +responseObjectInTrashResponse = $responseObjectInTrashResponse; + $this->response = $response; + } + + public function getResponseObjectInTrashResponse(): \KatapultAPI\Core\Model\ResponseObjectInTrashResponse + { + return $this->responseObjectInTrashResponse; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterAccessKeysNotFoundException.php b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterAccessKeysNotFoundException.php new file mode 100644 index 00000000..61d34131 --- /dev/null +++ b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterAccessKeysNotFoundException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterAccessKeysServiceUnavailableException.php b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterAccessKeysServiceUnavailableException.php new file mode 100644 index 00000000..effc208e --- /dev/null +++ b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterAccessKeysServiceUnavailableException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator503Response = $responseAPIAuthenticator503Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator503Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response + { + return $this->responseAPIAuthenticator503Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterAccessKeysTooManyRequestsException.php b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterAccessKeysTooManyRequestsException.php new file mode 100644 index 00000000..0990fab0 --- /dev/null +++ b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterAccessKeysTooManyRequestsException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator429Response = $responseAPIAuthenticator429Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator429Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response + { + return $this->responseAPIAuthenticator429Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterAccessKeysUnprocessableEntityException.php b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterAccessKeysUnprocessableEntityException.php new file mode 100644 index 00000000..82668f1b --- /dev/null +++ b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterAccessKeysUnprocessableEntityException.php @@ -0,0 +1,40 @@ +responseValidationErrorResponse = $responseValidationErrorResponse; + $this->response = $response; + } + + public function getResponseValidationErrorResponse(): \KatapultAPI\Core\Model\ResponseValidationErrorResponse + { + return $this->responseValidationErrorResponse; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterBadRequestException.php b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterBadRequestException.php new file mode 100644 index 00000000..9b50307d --- /dev/null +++ b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterBadRequestException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator400Response = $responseAPIAuthenticator400Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator400Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator400Response + { + return $this->responseAPIAuthenticator400Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterForbiddenException.php b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterForbiddenException.php new file mode 100644 index 00000000..e7342af2 --- /dev/null +++ b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterForbiddenException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterNotAcceptableException.php b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterNotAcceptableException.php new file mode 100644 index 00000000..88291727 --- /dev/null +++ b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterNotAcceptableException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterNotFoundException.php b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterNotFoundException.php new file mode 100644 index 00000000..be4ffaa7 --- /dev/null +++ b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterNotFoundException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterServiceUnavailableException.php b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterServiceUnavailableException.php new file mode 100644 index 00000000..ff05078a --- /dev/null +++ b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterServiceUnavailableException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator503Response = $responseAPIAuthenticator503Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator503Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response + { + return $this->responseAPIAuthenticator503Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterTooManyRequestsException.php b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterTooManyRequestsException.php new file mode 100644 index 00000000..91f30b20 --- /dev/null +++ b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterTooManyRequestsException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator429Response = $responseAPIAuthenticator429Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator429Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response + { + return $this->responseAPIAuthenticator429Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterUnprocessableEntityException.php b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterUnprocessableEntityException.php new file mode 100644 index 00000000..3125e9b6 --- /dev/null +++ b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterUnprocessableEntityException.php @@ -0,0 +1,40 @@ +responseValidationErrorResponse = $responseValidationErrorResponse; + $this->response = $response; + } + + public function getResponseValidationErrorResponse(): \KatapultAPI\Core\Model\ResponseValidationErrorResponse + { + return $this->responseValidationErrorResponse; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostVirtualMachineNetworkInterfaceAttachBadRequestException.php b/src/Core/Exception/PostVirtualMachineNetworkInterfaceAttachBadRequestException.php new file mode 100644 index 00000000..17c5b94f --- /dev/null +++ b/src/Core/Exception/PostVirtualMachineNetworkInterfaceAttachBadRequestException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator400Response = $responseAPIAuthenticator400Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator400Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator400Response + { + return $this->responseAPIAuthenticator400Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostVirtualMachineNetworkInterfaceAttachForbiddenException.php b/src/Core/Exception/PostVirtualMachineNetworkInterfaceAttachForbiddenException.php new file mode 100644 index 00000000..86f6a2e3 --- /dev/null +++ b/src/Core/Exception/PostVirtualMachineNetworkInterfaceAttachForbiddenException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostVirtualMachineNetworkInterfaceAttachNotAcceptableException.php b/src/Core/Exception/PostVirtualMachineNetworkInterfaceAttachNotAcceptableException.php new file mode 100644 index 00000000..0b7ee4c9 --- /dev/null +++ b/src/Core/Exception/PostVirtualMachineNetworkInterfaceAttachNotAcceptableException.php @@ -0,0 +1,40 @@ +responseTaskQueueingErrorResponse = $responseTaskQueueingErrorResponse; + $this->response = $response; + } + + public function getResponseTaskQueueingErrorResponse(): \KatapultAPI\Core\Model\ResponseTaskQueueingErrorResponse + { + return $this->responseTaskQueueingErrorResponse; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostVirtualMachineNetworkInterfaceAttachNotFoundException.php b/src/Core/Exception/PostVirtualMachineNetworkInterfaceAttachNotFoundException.php new file mode 100644 index 00000000..6cd54368 --- /dev/null +++ b/src/Core/Exception/PostVirtualMachineNetworkInterfaceAttachNotFoundException.php @@ -0,0 +1,40 @@ +responseVirtualMachineNetworkInterfaceNotFoundResponse = $responseVirtualMachineNetworkInterfaceNotFoundResponse; + $this->response = $response; + } + + public function getResponseVirtualMachineNetworkInterfaceNotFoundResponse(): \KatapultAPI\Core\Model\ResponseVirtualMachineNetworkInterfaceNotFoundResponse + { + return $this->responseVirtualMachineNetworkInterfaceNotFoundResponse; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostVirtualMachineNetworkInterfaceAttachServiceUnavailableException.php b/src/Core/Exception/PostVirtualMachineNetworkInterfaceAttachServiceUnavailableException.php new file mode 100644 index 00000000..e1b130af --- /dev/null +++ b/src/Core/Exception/PostVirtualMachineNetworkInterfaceAttachServiceUnavailableException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator503Response = $responseAPIAuthenticator503Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator503Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response + { + return $this->responseAPIAuthenticator503Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostVirtualMachineNetworkInterfaceAttachTooManyRequestsException.php b/src/Core/Exception/PostVirtualMachineNetworkInterfaceAttachTooManyRequestsException.php new file mode 100644 index 00000000..808e444d --- /dev/null +++ b/src/Core/Exception/PostVirtualMachineNetworkInterfaceAttachTooManyRequestsException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator429Response = $responseAPIAuthenticator429Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator429Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response + { + return $this->responseAPIAuthenticator429Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostVirtualMachineNetworkInterfaceAttachUnprocessableEntityException.php b/src/Core/Exception/PostVirtualMachineNetworkInterfaceAttachUnprocessableEntityException.php new file mode 100644 index 00000000..1edd2b99 --- /dev/null +++ b/src/Core/Exception/PostVirtualMachineNetworkInterfaceAttachUnprocessableEntityException.php @@ -0,0 +1,40 @@ +responseVirtualMachineNetworkInterfaceAlreadyAttachedResponse = $responseVirtualMachineNetworkInterfaceAlreadyAttachedResponse; + $this->response = $response; + } + + public function getResponseVirtualMachineNetworkInterfaceAlreadyAttachedResponse(): \KatapultAPI\Core\Model\ResponseVirtualMachineNetworkInterfaceAlreadyAttachedResponse + { + return $this->responseVirtualMachineNetworkInterfaceAlreadyAttachedResponse; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostVirtualMachineNetworkInterfaceDetachBadRequestException.php b/src/Core/Exception/PostVirtualMachineNetworkInterfaceDetachBadRequestException.php new file mode 100644 index 00000000..6137adba --- /dev/null +++ b/src/Core/Exception/PostVirtualMachineNetworkInterfaceDetachBadRequestException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator400Response = $responseAPIAuthenticator400Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator400Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator400Response + { + return $this->responseAPIAuthenticator400Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostVirtualMachineNetworkInterfaceDetachForbiddenException.php b/src/Core/Exception/PostVirtualMachineNetworkInterfaceDetachForbiddenException.php new file mode 100644 index 00000000..595d85e2 --- /dev/null +++ b/src/Core/Exception/PostVirtualMachineNetworkInterfaceDetachForbiddenException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostVirtualMachineNetworkInterfaceDetachNotAcceptableException.php b/src/Core/Exception/PostVirtualMachineNetworkInterfaceDetachNotAcceptableException.php new file mode 100644 index 00000000..1342ace9 --- /dev/null +++ b/src/Core/Exception/PostVirtualMachineNetworkInterfaceDetachNotAcceptableException.php @@ -0,0 +1,40 @@ +responseTaskQueueingErrorResponse = $responseTaskQueueingErrorResponse; + $this->response = $response; + } + + public function getResponseTaskQueueingErrorResponse(): \KatapultAPI\Core\Model\ResponseTaskQueueingErrorResponse + { + return $this->responseTaskQueueingErrorResponse; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostVirtualMachineNetworkInterfaceDetachNotFoundException.php b/src/Core/Exception/PostVirtualMachineNetworkInterfaceDetachNotFoundException.php new file mode 100644 index 00000000..ef5facf0 --- /dev/null +++ b/src/Core/Exception/PostVirtualMachineNetworkInterfaceDetachNotFoundException.php @@ -0,0 +1,40 @@ +responseVirtualMachineNetworkInterfaceNotFoundResponse = $responseVirtualMachineNetworkInterfaceNotFoundResponse; + $this->response = $response; + } + + public function getResponseVirtualMachineNetworkInterfaceNotFoundResponse(): \KatapultAPI\Core\Model\ResponseVirtualMachineNetworkInterfaceNotFoundResponse + { + return $this->responseVirtualMachineNetworkInterfaceNotFoundResponse; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostVirtualMachineNetworkInterfaceDetachServiceUnavailableException.php b/src/Core/Exception/PostVirtualMachineNetworkInterfaceDetachServiceUnavailableException.php new file mode 100644 index 00000000..26a887e8 --- /dev/null +++ b/src/Core/Exception/PostVirtualMachineNetworkInterfaceDetachServiceUnavailableException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator503Response = $responseAPIAuthenticator503Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator503Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response + { + return $this->responseAPIAuthenticator503Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostVirtualMachineNetworkInterfaceDetachTooManyRequestsException.php b/src/Core/Exception/PostVirtualMachineNetworkInterfaceDetachTooManyRequestsException.php new file mode 100644 index 00000000..c3c9a8e1 --- /dev/null +++ b/src/Core/Exception/PostVirtualMachineNetworkInterfaceDetachTooManyRequestsException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator429Response = $responseAPIAuthenticator429Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator429Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response + { + return $this->responseAPIAuthenticator429Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostVirtualMachineNetworkInterfaceDetachUnprocessableEntityException.php b/src/Core/Exception/PostVirtualMachineNetworkInterfaceDetachUnprocessableEntityException.php new file mode 100644 index 00000000..28eee348 --- /dev/null +++ b/src/Core/Exception/PostVirtualMachineNetworkInterfaceDetachUnprocessableEntityException.php @@ -0,0 +1,40 @@ +responseVirtualMachineNetworkInterfaceAlreadyDetachedResponse = $responseVirtualMachineNetworkInterfaceAlreadyDetachedResponse; + $this->response = $response; + } + + public function getResponseVirtualMachineNetworkInterfaceAlreadyDetachedResponse(): \KatapultAPI\Core\Model\ResponseVirtualMachineNetworkInterfaceAlreadyDetachedResponse + { + return $this->responseVirtualMachineNetworkInterfaceAlreadyDetachedResponse; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostVirtualMachineNetworkInterfacesBadRequestException.php b/src/Core/Exception/PostVirtualMachineNetworkInterfacesBadRequestException.php new file mode 100644 index 00000000..2381f0be --- /dev/null +++ b/src/Core/Exception/PostVirtualMachineNetworkInterfacesBadRequestException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator400Response = $responseAPIAuthenticator400Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator400Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator400Response + { + return $this->responseAPIAuthenticator400Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostVirtualMachineNetworkInterfacesForbiddenException.php b/src/Core/Exception/PostVirtualMachineNetworkInterfacesForbiddenException.php new file mode 100644 index 00000000..04a0d67b --- /dev/null +++ b/src/Core/Exception/PostVirtualMachineNetworkInterfacesForbiddenException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostVirtualMachineNetworkInterfacesNotAcceptableException.php b/src/Core/Exception/PostVirtualMachineNetworkInterfacesNotAcceptableException.php new file mode 100644 index 00000000..b69ab540 --- /dev/null +++ b/src/Core/Exception/PostVirtualMachineNetworkInterfacesNotAcceptableException.php @@ -0,0 +1,40 @@ +responseObjectInTrashResponse = $responseObjectInTrashResponse; + $this->response = $response; + } + + public function getResponseObjectInTrashResponse(): \KatapultAPI\Core\Model\ResponseObjectInTrashResponse + { + return $this->responseObjectInTrashResponse; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostVirtualMachineNetworkInterfacesNotFoundException.php b/src/Core/Exception/PostVirtualMachineNetworkInterfacesNotFoundException.php new file mode 100644 index 00000000..3150dc1e --- /dev/null +++ b/src/Core/Exception/PostVirtualMachineNetworkInterfacesNotFoundException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostVirtualMachineNetworkInterfacesServiceUnavailableException.php b/src/Core/Exception/PostVirtualMachineNetworkInterfacesServiceUnavailableException.php new file mode 100644 index 00000000..e06db33d --- /dev/null +++ b/src/Core/Exception/PostVirtualMachineNetworkInterfacesServiceUnavailableException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator503Response = $responseAPIAuthenticator503Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator503Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response + { + return $this->responseAPIAuthenticator503Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostVirtualMachineNetworkInterfacesTooManyRequestsException.php b/src/Core/Exception/PostVirtualMachineNetworkInterfacesTooManyRequestsException.php new file mode 100644 index 00000000..19a955f4 --- /dev/null +++ b/src/Core/Exception/PostVirtualMachineNetworkInterfacesTooManyRequestsException.php @@ -0,0 +1,40 @@ +responseAPIAuthenticator429Response = $responseAPIAuthenticator429Response; + $this->response = $response; + } + + public function getResponseAPIAuthenticator429Response(): \KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response + { + return $this->responseAPIAuthenticator429Response; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostVirtualMachineNetworkInterfacesUnprocessableEntityException.php b/src/Core/Exception/PostVirtualMachineNetworkInterfacesUnprocessableEntityException.php new file mode 100644 index 00000000..3e21b2bb --- /dev/null +++ b/src/Core/Exception/PostVirtualMachineNetworkInterfacesUnprocessableEntityException.php @@ -0,0 +1,40 @@ +responseValidationErrorResponse = $responseValidationErrorResponse; + $this->response = $response; + } + + public function getResponseValidationErrorResponse(): \KatapultAPI\Core\Model\ResponseValidationErrorResponse + { + return $this->responseValidationErrorResponse; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Model/AddressListEntriesAddressListEntryDeleteBody.php b/src/Core/Model/AddressListEntriesAddressListEntryDeleteBody.php index 62817bbe..64b9911c 100644 --- a/src/Core/Model/AddressListEntriesAddressListEntryDeleteBody.php +++ b/src/Core/Model/AddressListEntriesAddressListEntryDeleteBody.php @@ -22,23 +22,15 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'address_list_entry[]' params are mutually exclusive, only one can be provided. - * * @var AddressListEntryLookup */ protected $addressListEntry; - /** - * All 'address_list_entry[]' params are mutually exclusive, only one can be provided. - */ public function getAddressListEntry(): AddressListEntryLookup { return $this->addressListEntry; } - /** - * All 'address_list_entry[]' params are mutually exclusive, only one can be provided. - */ public function setAddressListEntry(AddressListEntryLookup $addressListEntry): self { $this->initialized['addressListEntry'] = true; diff --git a/src/Core/Model/AddressListEntriesAddressListEntryPatchBody.php b/src/Core/Model/AddressListEntriesAddressListEntryPatchBody.php index e7f39799..a7177410 100644 --- a/src/Core/Model/AddressListEntriesAddressListEntryPatchBody.php +++ b/src/Core/Model/AddressListEntriesAddressListEntryPatchBody.php @@ -22,29 +22,19 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'address_list_entry[]' params are mutually exclusive, only one can be provided. - * * @var AddressListEntryLookup */ protected $addressListEntry; /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - * * @var AddressListEntryArguments */ protected $properties; - /** - * All 'address_list_entry[]' params are mutually exclusive, only one can be provided. - */ public function getAddressListEntry(): AddressListEntryLookup { return $this->addressListEntry; } - /** - * All 'address_list_entry[]' params are mutually exclusive, only one can be provided. - */ public function setAddressListEntry(AddressListEntryLookup $addressListEntry): self { $this->initialized['addressListEntry'] = true; @@ -53,17 +43,11 @@ public function setAddressListEntry(AddressListEntryLookup $addressListEntry): s return $this; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function getProperties(): AddressListEntryArguments { return $this->properties; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function setProperties(AddressListEntryArguments $properties): self { $this->initialized['properties'] = true; diff --git a/src/Core/Model/AddressListsAddressListDeleteBody.php b/src/Core/Model/AddressListsAddressListDeleteBody.php index 66edc0de..7e00ae17 100644 --- a/src/Core/Model/AddressListsAddressListDeleteBody.php +++ b/src/Core/Model/AddressListsAddressListDeleteBody.php @@ -22,23 +22,15 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'address_list[]' params are mutually exclusive, only one can be provided. - * * @var AddressListLookup */ protected $addressList; - /** - * All 'address_list[]' params are mutually exclusive, only one can be provided. - */ public function getAddressList(): AddressListLookup { return $this->addressList; } - /** - * All 'address_list[]' params are mutually exclusive, only one can be provided. - */ public function setAddressList(AddressListLookup $addressList): self { $this->initialized['addressList'] = true; diff --git a/src/Core/Model/AddressListsAddressListEntriesBulkPostBody.php b/src/Core/Model/AddressListsAddressListEntriesBulkPostBody.php index 9b1f13ad..052efe0b 100644 --- a/src/Core/Model/AddressListsAddressListEntriesBulkPostBody.php +++ b/src/Core/Model/AddressListsAddressListEntriesBulkPostBody.php @@ -22,8 +22,6 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'address_list[]' params are mutually exclusive, only one can be provided. - * * @var AddressListLookup */ protected $addressList; @@ -36,17 +34,11 @@ public function isInitialized($property): bool */ protected $remove; - /** - * All 'address_list[]' params are mutually exclusive, only one can be provided. - */ public function getAddressList(): AddressListLookup { return $this->addressList; } - /** - * All 'address_list[]' params are mutually exclusive, only one can be provided. - */ public function setAddressList(AddressListLookup $addressList): self { $this->initialized['addressList'] = true; diff --git a/src/Core/Model/AddressListsAddressListEntriesPostBody.php b/src/Core/Model/AddressListsAddressListEntriesPostBody.php index 5baf2a4e..09c308d3 100644 --- a/src/Core/Model/AddressListsAddressListEntriesPostBody.php +++ b/src/Core/Model/AddressListsAddressListEntriesPostBody.php @@ -22,29 +22,19 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'address_list[]' params are mutually exclusive, only one can be provided. - * * @var AddressListLookup */ protected $addressList; /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - * * @var AddressListEntryArguments */ protected $properties; - /** - * All 'address_list[]' params are mutually exclusive, only one can be provided. - */ public function getAddressList(): AddressListLookup { return $this->addressList; } - /** - * All 'address_list[]' params are mutually exclusive, only one can be provided. - */ public function setAddressList(AddressListLookup $addressList): self { $this->initialized['addressList'] = true; @@ -53,17 +43,11 @@ public function setAddressList(AddressListLookup $addressList): self return $this; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function getProperties(): AddressListEntryArguments { return $this->properties; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function setProperties(AddressListEntryArguments $properties): self { $this->initialized['properties'] = true; diff --git a/src/Core/Model/AddressListsAddressListPatchBody.php b/src/Core/Model/AddressListsAddressListPatchBody.php index 4d067ee1..eac6d255 100644 --- a/src/Core/Model/AddressListsAddressListPatchBody.php +++ b/src/Core/Model/AddressListsAddressListPatchBody.php @@ -22,14 +22,10 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'address_list[]' params are mutually exclusive, only one can be provided. - * * @var AddressListLookup */ protected $addressList; /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - * * @var AddressListArguments */ protected $properties; @@ -38,17 +34,11 @@ public function isInitialized($property): bool */ protected $annotations; - /** - * All 'address_list[]' params are mutually exclusive, only one can be provided. - */ public function getAddressList(): AddressListLookup { return $this->addressList; } - /** - * All 'address_list[]' params are mutually exclusive, only one can be provided. - */ public function setAddressList(AddressListLookup $addressList): self { $this->initialized['addressList'] = true; @@ -57,17 +47,11 @@ public function setAddressList(AddressListLookup $addressList): self return $this; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function getProperties(): AddressListArguments { return $this->properties; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function setProperties(AddressListArguments $properties): self { $this->initialized['properties'] = true; diff --git a/src/Core/Model/ApiTokensApiTokenDeleteBody.php b/src/Core/Model/ApiTokensApiTokenDeleteBody.php index bb272781..a64c29bc 100644 --- a/src/Core/Model/ApiTokensApiTokenDeleteBody.php +++ b/src/Core/Model/ApiTokensApiTokenDeleteBody.php @@ -22,23 +22,15 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'api_token[]' params are mutually exclusive, only one can be provided. - * * @var APITokenLookup */ protected $apiToken; - /** - * All 'api_token[]' params are mutually exclusive, only one can be provided. - */ public function getApiToken(): APITokenLookup { return $this->apiToken; } - /** - * All 'api_token[]' params are mutually exclusive, only one can be provided. - */ public function setApiToken(APITokenLookup $apiToken): self { $this->initialized['apiToken'] = true; diff --git a/src/Core/Model/ApiTokensApiTokenPatchBody.php b/src/Core/Model/ApiTokensApiTokenPatchBody.php index 2089bbf5..6d88f872 100644 --- a/src/Core/Model/ApiTokensApiTokenPatchBody.php +++ b/src/Core/Model/ApiTokensApiTokenPatchBody.php @@ -22,14 +22,10 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'api_token[]' params are mutually exclusive, only one can be provided. - * * @var APITokenLookup */ protected $apiToken; /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - * * @var APITokenArguments */ protected $properties; @@ -38,17 +34,11 @@ public function isInitialized($property): bool */ protected $annotations; - /** - * All 'api_token[]' params are mutually exclusive, only one can be provided. - */ public function getApiToken(): APITokenLookup { return $this->apiToken; } - /** - * All 'api_token[]' params are mutually exclusive, only one can be provided. - */ public function setApiToken(APITokenLookup $apiToken): self { $this->initialized['apiToken'] = true; @@ -57,17 +47,11 @@ public function setApiToken(APITokenLookup $apiToken): self return $this; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function getProperties(): APITokenArguments { return $this->properties; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function setProperties(APITokenArguments $properties): self { $this->initialized['properties'] = true; diff --git a/src/Core/Model/ApiTokensApiTokenRegenerateSecretPostBody.php b/src/Core/Model/ApiTokensApiTokenRegenerateSecretPostBody.php index d1ea2107..a056b29b 100644 --- a/src/Core/Model/ApiTokensApiTokenRegenerateSecretPostBody.php +++ b/src/Core/Model/ApiTokensApiTokenRegenerateSecretPostBody.php @@ -22,23 +22,15 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'api_token[]' params are mutually exclusive, only one can be provided. - * * @var APITokenLookup */ protected $apiToken; - /** - * All 'api_token[]' params are mutually exclusive, only one can be provided. - */ public function getApiToken(): APITokenLookup { return $this->apiToken; } - /** - * All 'api_token[]' params are mutually exclusive, only one can be provided. - */ public function setApiToken(APITokenLookup $apiToken): self { $this->initialized['apiToken'] = true; diff --git a/src/Core/Model/DNSRecordArguments.php b/src/Core/Model/DNSRecordArguments.php index a583990b..54ccf635 100644 --- a/src/Core/Model/DNSRecordArguments.php +++ b/src/Core/Model/DNSRecordArguments.php @@ -40,8 +40,6 @@ public function isInitialized($property): bool */ protected $priority; /** - * All 'content[]' params are mutually exclusive, only one can be provided. - * * @var DNSRecordContentArguments */ protected $content; @@ -104,17 +102,11 @@ public function setPriority(int $priority): self return $this; } - /** - * All 'content[]' params are mutually exclusive, only one can be provided. - */ public function getContent(): DNSRecordContentArguments { return $this->content; } - /** - * All 'content[]' params are mutually exclusive, only one can be provided. - */ public function setContent(DNSRecordContentArguments $content): self { $this->initialized['content'] = true; diff --git a/src/Core/Model/DNSRecordContentArguments.php b/src/Core/Model/DNSRecordContentArguments.php index 218b3ca3..23476d0e 100644 --- a/src/Core/Model/DNSRecordContentArguments.php +++ b/src/Core/Model/DNSRecordContentArguments.php @@ -22,99 +22,67 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'A[]' params are mutually exclusive, only one can be provided. - * * @var DNSRecordContentArgumentsForA */ protected $a; /** - * All 'AAAA[]' params are mutually exclusive, only one can be provided. - * * @var DNSRecordContentArgumentsForAAAA */ protected $aAAA; /** - * All 'ALIAS[]' params are mutually exclusive, only one can be provided. - * * @var DNSRecordContentArgumentsForALIAS */ protected $aLIAS; /** - * All 'CAA[]' params are mutually exclusive, only one can be provided. - * * @var DNSRecordContentArgumentsForCAA */ protected $cAA; /** - * All 'CNAME[]' params are mutually exclusive, only one can be provided. - * * @var DNSRecordContentArgumentsForCNAME */ protected $cNAME; /** - * All 'IPS[]' params are mutually exclusive, only one can be provided. - * * @var DNSRecordContentArgumentsForIPS */ protected $iPS; /** - * All 'MX[]' params are mutually exclusive, only one can be provided. - * * @var DNSRecordContentArgumentsForMX */ protected $mX; /** - * All 'NS[]' params are mutually exclusive, only one can be provided. - * * @var DNSRecordContentArgumentsForNS */ protected $nS; /** - * All 'PTR[]' params are mutually exclusive, only one can be provided. - * * @var DNSRecordContentArgumentsForPTR */ protected $pTR; /** - * All 'SOA[]' params are mutually exclusive, only one can be provided. + * @var array */ protected $sOA; /** - * All 'SRV[]' params are mutually exclusive, only one can be provided. - * * @var DNSRecordContentArgumentsForSRV */ protected $sRV; /** - * All 'SSHFP[]' params are mutually exclusive, only one can be provided. - * * @var DNSRecordContentArgumentsForSSHFP */ protected $sSHFP; /** - * All 'TXT[]' params are mutually exclusive, only one can be provided. - * * @var DNSRecordContentArgumentsForTXT */ protected $tXT; /** - * All 'VirtualMachine[]' params are mutually exclusive, only one can be provided. - * * @var DNSRecordContentArgumentsForVirtualMachine */ protected $virtualMachine; - /** - * All 'A[]' params are mutually exclusive, only one can be provided. - */ public function getA(): DNSRecordContentArgumentsForA { return $this->a; } - /** - * All 'A[]' params are mutually exclusive, only one can be provided. - */ public function setA(DNSRecordContentArgumentsForA $a): self { $this->initialized['a'] = true; @@ -123,17 +91,11 @@ public function setA(DNSRecordContentArgumentsForA $a): self return $this; } - /** - * All 'AAAA[]' params are mutually exclusive, only one can be provided. - */ public function getAAAA(): DNSRecordContentArgumentsForAAAA { return $this->aAAA; } - /** - * All 'AAAA[]' params are mutually exclusive, only one can be provided. - */ public function setAAAA(DNSRecordContentArgumentsForAAAA $aAAA): self { $this->initialized['aAAA'] = true; @@ -142,17 +104,11 @@ public function setAAAA(DNSRecordContentArgumentsForAAAA $aAAA): self return $this; } - /** - * All 'ALIAS[]' params are mutually exclusive, only one can be provided. - */ public function getALIAS(): DNSRecordContentArgumentsForALIAS { return $this->aLIAS; } - /** - * All 'ALIAS[]' params are mutually exclusive, only one can be provided. - */ public function setALIAS(DNSRecordContentArgumentsForALIAS $aLIAS): self { $this->initialized['aLIAS'] = true; @@ -161,17 +117,11 @@ public function setALIAS(DNSRecordContentArgumentsForALIAS $aLIAS): self return $this; } - /** - * All 'CAA[]' params are mutually exclusive, only one can be provided. - */ public function getCAA(): DNSRecordContentArgumentsForCAA { return $this->cAA; } - /** - * All 'CAA[]' params are mutually exclusive, only one can be provided. - */ public function setCAA(DNSRecordContentArgumentsForCAA $cAA): self { $this->initialized['cAA'] = true; @@ -180,17 +130,11 @@ public function setCAA(DNSRecordContentArgumentsForCAA $cAA): self return $this; } - /** - * All 'CNAME[]' params are mutually exclusive, only one can be provided. - */ public function getCNAME(): DNSRecordContentArgumentsForCNAME { return $this->cNAME; } - /** - * All 'CNAME[]' params are mutually exclusive, only one can be provided. - */ public function setCNAME(DNSRecordContentArgumentsForCNAME $cNAME): self { $this->initialized['cNAME'] = true; @@ -199,17 +143,11 @@ public function setCNAME(DNSRecordContentArgumentsForCNAME $cNAME): self return $this; } - /** - * All 'IPS[]' params are mutually exclusive, only one can be provided. - */ public function getIPS(): DNSRecordContentArgumentsForIPS { return $this->iPS; } - /** - * All 'IPS[]' params are mutually exclusive, only one can be provided. - */ public function setIPS(DNSRecordContentArgumentsForIPS $iPS): self { $this->initialized['iPS'] = true; @@ -218,17 +156,11 @@ public function setIPS(DNSRecordContentArgumentsForIPS $iPS): self return $this; } - /** - * All 'MX[]' params are mutually exclusive, only one can be provided. - */ public function getMX(): DNSRecordContentArgumentsForMX { return $this->mX; } - /** - * All 'MX[]' params are mutually exclusive, only one can be provided. - */ public function setMX(DNSRecordContentArgumentsForMX $mX): self { $this->initialized['mX'] = true; @@ -237,17 +169,11 @@ public function setMX(DNSRecordContentArgumentsForMX $mX): self return $this; } - /** - * All 'NS[]' params are mutually exclusive, only one can be provided. - */ public function getNS(): DNSRecordContentArgumentsForNS { return $this->nS; } - /** - * All 'NS[]' params are mutually exclusive, only one can be provided. - */ public function setNS(DNSRecordContentArgumentsForNS $nS): self { $this->initialized['nS'] = true; @@ -256,17 +182,11 @@ public function setNS(DNSRecordContentArgumentsForNS $nS): self return $this; } - /** - * All 'PTR[]' params are mutually exclusive, only one can be provided. - */ public function getPTR(): DNSRecordContentArgumentsForPTR { return $this->pTR; } - /** - * All 'PTR[]' params are mutually exclusive, only one can be provided. - */ public function setPTR(DNSRecordContentArgumentsForPTR $pTR): self { $this->initialized['pTR'] = true; @@ -276,17 +196,17 @@ public function setPTR(DNSRecordContentArgumentsForPTR $pTR): self } /** - * All 'SOA[]' params are mutually exclusive, only one can be provided. + * @return array */ - public function getSOA() + public function getSOA(): iterable { return $this->sOA; } /** - * All 'SOA[]' params are mutually exclusive, only one can be provided. + * @param array $sOA */ - public function setSOA($sOA): self + public function setSOA(iterable $sOA): self { $this->initialized['sOA'] = true; $this->sOA = $sOA; @@ -294,17 +214,11 @@ public function setSOA($sOA): self return $this; } - /** - * All 'SRV[]' params are mutually exclusive, only one can be provided. - */ public function getSRV(): DNSRecordContentArgumentsForSRV { return $this->sRV; } - /** - * All 'SRV[]' params are mutually exclusive, only one can be provided. - */ public function setSRV(DNSRecordContentArgumentsForSRV $sRV): self { $this->initialized['sRV'] = true; @@ -313,17 +227,11 @@ public function setSRV(DNSRecordContentArgumentsForSRV $sRV): self return $this; } - /** - * All 'SSHFP[]' params are mutually exclusive, only one can be provided. - */ public function getSSHFP(): DNSRecordContentArgumentsForSSHFP { return $this->sSHFP; } - /** - * All 'SSHFP[]' params are mutually exclusive, only one can be provided. - */ public function setSSHFP(DNSRecordContentArgumentsForSSHFP $sSHFP): self { $this->initialized['sSHFP'] = true; @@ -332,17 +240,11 @@ public function setSSHFP(DNSRecordContentArgumentsForSSHFP $sSHFP): self return $this; } - /** - * All 'TXT[]' params are mutually exclusive, only one can be provided. - */ public function getTXT(): DNSRecordContentArgumentsForTXT { return $this->tXT; } - /** - * All 'TXT[]' params are mutually exclusive, only one can be provided. - */ public function setTXT(DNSRecordContentArgumentsForTXT $tXT): self { $this->initialized['tXT'] = true; @@ -351,17 +253,11 @@ public function setTXT(DNSRecordContentArgumentsForTXT $tXT): self return $this; } - /** - * All 'VirtualMachine[]' params are mutually exclusive, only one can be provided. - */ public function getVirtualMachine(): DNSRecordContentArgumentsForVirtualMachine { return $this->virtualMachine; } - /** - * All 'VirtualMachine[]' params are mutually exclusive, only one can be provided. - */ public function setVirtualMachine(DNSRecordContentArgumentsForVirtualMachine $virtualMachine): self { $this->initialized['virtualMachine'] = true; diff --git a/src/Core/Model/DeleteOrganizationObjectStorageObjectStorageCluster200ResponseTrashObject.php b/src/Core/Model/DeleteOrganizationObjectStorageObjectStorageCluster200ResponseTrashObject.php new file mode 100644 index 00000000..932a5819 --- /dev/null +++ b/src/Core/Model/DeleteOrganizationObjectStorageObjectStorageCluster200ResponseTrashObject.php @@ -0,0 +1,75 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var int + */ + protected $keepUntil; + /** + * @var string + */ + protected $objectType; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getKeepUntil(): int + { + return $this->keepUntil; + } + + public function setKeepUntil(int $keepUntil): self + { + $this->initialized['keepUntil'] = true; + $this->keepUntil = $keepUntil; + + return $this; + } + + public function getObjectType(): string + { + return $this->objectType; + } + + public function setObjectType(string $objectType): self + { + $this->initialized['objectType'] = true; + $this->objectType = $objectType; + + return $this; + } +} diff --git a/src/Core/Model/DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterface.php b/src/Core/Model/DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterface.php new file mode 100644 index 00000000..cf8aed4a --- /dev/null +++ b/src/Core/Model/DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterface.php @@ -0,0 +1,183 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var DeleteVirtualMachineNetworkInterfacePartVirtualMachine + */ + protected $virtualMachine; + /** + * @var string + */ + protected $name; + /** + * @var DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork|null + */ + protected $network; + /** + * @var DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork|null + */ + protected $virtualNetwork; + /** + * @var string + */ + protected $macAddress; + /** + * @var string + */ + protected $state; + /** + * @var list + */ + protected $ipAddresses; + /** + * @var DeleteVirtualMachineNetworkInterfacePartSpeedProfile + */ + protected $speedProfile; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getVirtualMachine(): DeleteVirtualMachineNetworkInterfacePartVirtualMachine + { + return $this->virtualMachine; + } + + public function setVirtualMachine(DeleteVirtualMachineNetworkInterfacePartVirtualMachine $virtualMachine): self + { + $this->initialized['virtualMachine'] = true; + $this->virtualMachine = $virtualMachine; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } + + public function getNetwork(): ?DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork + { + return $this->network; + } + + public function setNetwork(?DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork $network): self + { + $this->initialized['network'] = true; + $this->network = $network; + + return $this; + } + + public function getVirtualNetwork(): ?DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork + { + return $this->virtualNetwork; + } + + public function setVirtualNetwork(?DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork $virtualNetwork): self + { + $this->initialized['virtualNetwork'] = true; + $this->virtualNetwork = $virtualNetwork; + + return $this; + } + + public function getMacAddress(): string + { + return $this->macAddress; + } + + public function setMacAddress(string $macAddress): self + { + $this->initialized['macAddress'] = true; + $this->macAddress = $macAddress; + + return $this; + } + + public function getState(): string + { + return $this->state; + } + + public function setState(string $state): self + { + $this->initialized['state'] = true; + $this->state = $state; + + return $this; + } + + /** + * @return list + */ + public function getIpAddresses(): array + { + return $this->ipAddresses; + } + + /** + * @param list $ipAddresses + */ + public function setIpAddresses(array $ipAddresses): self + { + $this->initialized['ipAddresses'] = true; + $this->ipAddresses = $ipAddresses; + + return $this; + } + + public function getSpeedProfile(): DeleteVirtualMachineNetworkInterfacePartSpeedProfile + { + return $this->speedProfile; + } + + public function setSpeedProfile(DeleteVirtualMachineNetworkInterfacePartSpeedProfile $speedProfile): self + { + $this->initialized['speedProfile'] = true; + $this->speedProfile = $speedProfile; + + return $this; + } +} diff --git a/src/Core/Model/DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork.php b/src/Core/Model/DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork.php new file mode 100644 index 00000000..e7091671 --- /dev/null +++ b/src/Core/Model/DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } +} diff --git a/src/Core/Model/DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork.php b/src/Core/Model/DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork.php new file mode 100644 index 00000000..1757c7a9 --- /dev/null +++ b/src/Core/Model/DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } +} diff --git a/src/Core/Model/DeleteVirtualMachineNetworkInterfacePartIPAddresses.php b/src/Core/Model/DeleteVirtualMachineNetworkInterfacePartIPAddresses.php new file mode 100644 index 00000000..fa754a5f --- /dev/null +++ b/src/Core/Model/DeleteVirtualMachineNetworkInterfacePartIPAddresses.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $address; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getAddress(): string + { + return $this->address; + } + + public function setAddress(string $address): self + { + $this->initialized['address'] = true; + $this->address = $address; + + return $this; + } +} diff --git a/src/Core/Model/DeleteVirtualMachineNetworkInterfacePartNetwork.php b/src/Core/Model/DeleteVirtualMachineNetworkInterfacePartNetwork.php new file mode 100644 index 00000000..30cdd17f --- /dev/null +++ b/src/Core/Model/DeleteVirtualMachineNetworkInterfacePartNetwork.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } +} diff --git a/src/Core/Model/DeleteVirtualMachineNetworkInterfacePartSpeedProfile.php b/src/Core/Model/DeleteVirtualMachineNetworkInterfacePartSpeedProfile.php new file mode 100644 index 00000000..6a7ae72b --- /dev/null +++ b/src/Core/Model/DeleteVirtualMachineNetworkInterfacePartSpeedProfile.php @@ -0,0 +1,75 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + /** + * @var string + */ + protected $permalink; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } + + public function getPermalink(): string + { + return $this->permalink; + } + + public function setPermalink(string $permalink): self + { + $this->initialized['permalink'] = true; + $this->permalink = $permalink; + + return $this; + } +} diff --git a/src/Core/Model/DeleteVirtualMachineNetworkInterfacePartVirtualMachine.php b/src/Core/Model/DeleteVirtualMachineNetworkInterfacePartVirtualMachine.php new file mode 100644 index 00000000..55f04562 --- /dev/null +++ b/src/Core/Model/DeleteVirtualMachineNetworkInterfacePartVirtualMachine.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } +} diff --git a/src/Core/Model/DeleteVirtualMachineNetworkInterfacePartVirtualNetwork.php b/src/Core/Model/DeleteVirtualMachineNetworkInterfacePartVirtualNetwork.php new file mode 100644 index 00000000..f57afc69 --- /dev/null +++ b/src/Core/Model/DeleteVirtualMachineNetworkInterfacePartVirtualNetwork.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } +} diff --git a/src/Core/Model/DiskArguments.php b/src/Core/Model/DiskArguments.php index a8bdf9db..817729d4 100644 --- a/src/Core/Model/DiskArguments.php +++ b/src/Core/Model/DiskArguments.php @@ -56,8 +56,6 @@ public function isInitialized($property): bool */ protected $storageSpeed; /** - * All 'virtual_machine_disk[]' params are mutually exclusive, only one can be provided. - * * @var VirtualMachineDiskArguments */ protected $virtualMachineDisk; @@ -171,17 +169,11 @@ public function setStorageSpeed(string $storageSpeed): self return $this; } - /** - * All 'virtual_machine_disk[]' params are mutually exclusive, only one can be provided. - */ public function getVirtualMachineDisk(): VirtualMachineDiskArguments { return $this->virtualMachineDisk; } - /** - * All 'virtual_machine_disk[]' params are mutually exclusive, only one can be provided. - */ public function setVirtualMachineDisk(VirtualMachineDiskArguments $virtualMachineDisk): self { $this->initialized['virtualMachineDisk'] = true; diff --git a/src/Core/Model/DiskBackupPoliciesDiskBackupPolicyDeleteBody.php b/src/Core/Model/DiskBackupPoliciesDiskBackupPolicyDeleteBody.php index 6078fa20..331f45fd 100644 --- a/src/Core/Model/DiskBackupPoliciesDiskBackupPolicyDeleteBody.php +++ b/src/Core/Model/DiskBackupPoliciesDiskBackupPolicyDeleteBody.php @@ -22,23 +22,15 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'disk_backup_policy[]' params are mutually exclusive, only one can be provided. - * * @var DiskBackupPolicyLookup */ protected $diskBackupPolicy; - /** - * All 'disk_backup_policy[]' params are mutually exclusive, only one can be provided. - */ public function getDiskBackupPolicy(): DiskBackupPolicyLookup { return $this->diskBackupPolicy; } - /** - * All 'disk_backup_policy[]' params are mutually exclusive, only one can be provided. - */ public function setDiskBackupPolicy(DiskBackupPolicyLookup $diskBackupPolicy): self { $this->initialized['diskBackupPolicy'] = true; diff --git a/src/Core/Model/DiskBackupPoliciesDiskBackupPolicyPatchBody.php b/src/Core/Model/DiskBackupPoliciesDiskBackupPolicyPatchBody.php index 47d57eb2..e9c2a862 100644 --- a/src/Core/Model/DiskBackupPoliciesDiskBackupPolicyPatchBody.php +++ b/src/Core/Model/DiskBackupPoliciesDiskBackupPolicyPatchBody.php @@ -22,29 +22,19 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'disk_backup_policy[]' params are mutually exclusive, only one can be provided. - * * @var DiskBackupPolicyLookup */ protected $diskBackupPolicy; /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - * * @var DiskBackupPolicyArguments */ protected $properties; - /** - * All 'disk_backup_policy[]' params are mutually exclusive, only one can be provided. - */ public function getDiskBackupPolicy(): DiskBackupPolicyLookup { return $this->diskBackupPolicy; } - /** - * All 'disk_backup_policy[]' params are mutually exclusive, only one can be provided. - */ public function setDiskBackupPolicy(DiskBackupPolicyLookup $diskBackupPolicy): self { $this->initialized['diskBackupPolicy'] = true; @@ -53,17 +43,11 @@ public function setDiskBackupPolicy(DiskBackupPolicyLookup $diskBackupPolicy): s return $this; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function getProperties(): DiskBackupPolicyArguments { return $this->properties; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function setProperties(DiskBackupPolicyArguments $properties): self { $this->initialized['properties'] = true; diff --git a/src/Core/Model/DiskBackupPoliciesDiskBackupPolicyScheduleDeleteBody.php b/src/Core/Model/DiskBackupPoliciesDiskBackupPolicyScheduleDeleteBody.php index 65b2675a..700a2a97 100644 --- a/src/Core/Model/DiskBackupPoliciesDiskBackupPolicyScheduleDeleteBody.php +++ b/src/Core/Model/DiskBackupPoliciesDiskBackupPolicyScheduleDeleteBody.php @@ -22,8 +22,6 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'disk_backup_policy[]' params are mutually exclusive, only one can be provided. - * * @var DiskBackupPolicyLookup */ protected $diskBackupPolicy; @@ -34,17 +32,11 @@ public function isInitialized($property): bool */ protected $timestamp; - /** - * All 'disk_backup_policy[]' params are mutually exclusive, only one can be provided. - */ public function getDiskBackupPolicy(): DiskBackupPolicyLookup { return $this->diskBackupPolicy; } - /** - * All 'disk_backup_policy[]' params are mutually exclusive, only one can be provided. - */ public function setDiskBackupPolicy(DiskBackupPolicyLookup $diskBackupPolicy): self { $this->initialized['diskBackupPolicy'] = true; diff --git a/src/Core/Model/DiskBackupPolicyArguments.php b/src/Core/Model/DiskBackupPolicyArguments.php index 63f56473..c18c3ca0 100644 --- a/src/Core/Model/DiskBackupPolicyArguments.php +++ b/src/Core/Model/DiskBackupPolicyArguments.php @@ -26,8 +26,6 @@ public function isInitialized($property): bool */ protected $retention; /** - * All 'schedule[]' params are mutually exclusive, only one can be provided. - * * @var ScheduleArguments */ protected $schedule; @@ -45,17 +43,11 @@ public function setRetention(int $retention): self return $this; } - /** - * All 'schedule[]' params are mutually exclusive, only one can be provided. - */ public function getSchedule(): ScheduleArguments { return $this->schedule; } - /** - * All 'schedule[]' params are mutually exclusive, only one can be provided. - */ public function setSchedule(ScheduleArguments $schedule): self { $this->initialized['schedule'] = true; diff --git a/src/Core/Model/DisksDiskAssignPostBody.php b/src/Core/Model/DisksDiskAssignPostBody.php index 48680e45..4632a247 100644 --- a/src/Core/Model/DisksDiskAssignPostBody.php +++ b/src/Core/Model/DisksDiskAssignPostBody.php @@ -22,8 +22,6 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'disk[]' params are mutually exclusive, only one can be provided. - * * @var DiskLookup */ protected $disk; @@ -34,17 +32,11 @@ public function isInitialized($property): bool */ protected $virtualMachine; - /** - * All 'disk[]' params are mutually exclusive, only one can be provided. - */ public function getDisk(): DiskLookup { return $this->disk; } - /** - * All 'disk[]' params are mutually exclusive, only one can be provided. - */ public function setDisk(DiskLookup $disk): self { $this->initialized['disk'] = true; diff --git a/src/Core/Model/DisksDiskAttachPostBody.php b/src/Core/Model/DisksDiskAttachPostBody.php index 087cc3bb..1e5ee74b 100644 --- a/src/Core/Model/DisksDiskAttachPostBody.php +++ b/src/Core/Model/DisksDiskAttachPostBody.php @@ -22,23 +22,15 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'disk[]' params are mutually exclusive, only one can be provided. - * * @var DiskLookup */ protected $disk; - /** - * All 'disk[]' params are mutually exclusive, only one can be provided. - */ public function getDisk(): DiskLookup { return $this->disk; } - /** - * All 'disk[]' params are mutually exclusive, only one can be provided. - */ public function setDisk(DiskLookup $disk): self { $this->initialized['disk'] = true; diff --git a/src/Core/Model/DisksDiskDeleteBody.php b/src/Core/Model/DisksDiskDeleteBody.php index c6538198..11611b98 100644 --- a/src/Core/Model/DisksDiskDeleteBody.php +++ b/src/Core/Model/DisksDiskDeleteBody.php @@ -22,23 +22,15 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'disk[]' params are mutually exclusive, only one can be provided. - * * @var DiskLookup */ protected $disk; - /** - * All 'disk[]' params are mutually exclusive, only one can be provided. - */ public function getDisk(): DiskLookup { return $this->disk; } - /** - * All 'disk[]' params are mutually exclusive, only one can be provided. - */ public function setDisk(DiskLookup $disk): self { $this->initialized['disk'] = true; diff --git a/src/Core/Model/DisksDiskDetachPostBody.php b/src/Core/Model/DisksDiskDetachPostBody.php index 0ebd3f80..49e8ab52 100644 --- a/src/Core/Model/DisksDiskDetachPostBody.php +++ b/src/Core/Model/DisksDiskDetachPostBody.php @@ -22,23 +22,15 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'disk[]' params are mutually exclusive, only one can be provided. - * * @var DiskLookup */ protected $disk; - /** - * All 'disk[]' params are mutually exclusive, only one can be provided. - */ public function getDisk(): DiskLookup { return $this->disk; } - /** - * All 'disk[]' params are mutually exclusive, only one can be provided. - */ public function setDisk(DiskLookup $disk): self { $this->initialized['disk'] = true; diff --git a/src/Core/Model/DisksDiskDiskBackupPoliciesPostBody.php b/src/Core/Model/DisksDiskDiskBackupPoliciesPostBody.php index 8cb09efd..e249e5f7 100644 --- a/src/Core/Model/DisksDiskDiskBackupPoliciesPostBody.php +++ b/src/Core/Model/DisksDiskDiskBackupPoliciesPostBody.php @@ -22,29 +22,19 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'disk[]' params are mutually exclusive, only one can be provided. - * * @var DiskLookup */ protected $disk; /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - * * @var DiskBackupPolicyArguments */ protected $properties; - /** - * All 'disk[]' params are mutually exclusive, only one can be provided. - */ public function getDisk(): DiskLookup { return $this->disk; } - /** - * All 'disk[]' params are mutually exclusive, only one can be provided. - */ public function setDisk(DiskLookup $disk): self { $this->initialized['disk'] = true; @@ -53,17 +43,11 @@ public function setDisk(DiskLookup $disk): self return $this; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function getProperties(): DiskBackupPolicyArguments { return $this->properties; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function setProperties(DiskBackupPolicyArguments $properties): self { $this->initialized['properties'] = true; diff --git a/src/Core/Model/DisksDiskIoProfilePutBody.php b/src/Core/Model/DisksDiskIoProfilePutBody.php index b9ae7fbe..a0f11e5f 100644 --- a/src/Core/Model/DisksDiskIoProfilePutBody.php +++ b/src/Core/Model/DisksDiskIoProfilePutBody.php @@ -22,8 +22,6 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'disk[]' params are mutually exclusive, only one can be provided. - * * @var DiskLookup */ protected $disk; @@ -34,17 +32,11 @@ public function isInitialized($property): bool */ protected $ioProfile; - /** - * All 'disk[]' params are mutually exclusive, only one can be provided. - */ public function getDisk(): DiskLookup { return $this->disk; } - /** - * All 'disk[]' params are mutually exclusive, only one can be provided. - */ public function setDisk(DiskLookup $disk): self { $this->initialized['disk'] = true; diff --git a/src/Core/Model/DisksDiskPatchBody.php b/src/Core/Model/DisksDiskPatchBody.php index 6bcacb08..13da4c19 100644 --- a/src/Core/Model/DisksDiskPatchBody.php +++ b/src/Core/Model/DisksDiskPatchBody.php @@ -22,14 +22,10 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'disk[]' params are mutually exclusive, only one can be provided. - * * @var DiskLookup */ protected $disk; /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - * * @var DiskArguments */ protected $properties; @@ -38,17 +34,11 @@ public function isInitialized($property): bool */ protected $annotations; - /** - * All 'disk[]' params are mutually exclusive, only one can be provided. - */ public function getDisk(): DiskLookup { return $this->disk; } - /** - * All 'disk[]' params are mutually exclusive, only one can be provided. - */ public function setDisk(DiskLookup $disk): self { $this->initialized['disk'] = true; @@ -57,17 +47,11 @@ public function setDisk(DiskLookup $disk): self return $this; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function getProperties(): DiskArguments { return $this->properties; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function setProperties(DiskArguments $properties): self { $this->initialized['properties'] = true; diff --git a/src/Core/Model/DisksDiskResizePutBody.php b/src/Core/Model/DisksDiskResizePutBody.php index e91a9995..3622b271 100644 --- a/src/Core/Model/DisksDiskResizePutBody.php +++ b/src/Core/Model/DisksDiskResizePutBody.php @@ -22,8 +22,6 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'disk[]' params are mutually exclusive, only one can be provided. - * * @var DiskLookup */ protected $disk; @@ -36,17 +34,11 @@ public function isInitialized($property): bool */ protected $resizeMethod; - /** - * All 'disk[]' params are mutually exclusive, only one can be provided. - */ public function getDisk(): DiskLookup { return $this->disk; } - /** - * All 'disk[]' params are mutually exclusive, only one can be provided. - */ public function setDisk(DiskLookup $disk): self { $this->initialized['disk'] = true; diff --git a/src/Core/Model/DisksDiskUnassignPostBody.php b/src/Core/Model/DisksDiskUnassignPostBody.php index eafba56a..39098769 100644 --- a/src/Core/Model/DisksDiskUnassignPostBody.php +++ b/src/Core/Model/DisksDiskUnassignPostBody.php @@ -22,23 +22,15 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'disk[]' params are mutually exclusive, only one can be provided. - * * @var DiskLookup */ protected $disk; - /** - * All 'disk[]' params are mutually exclusive, only one can be provided. - */ public function getDisk(): DiskLookup { return $this->disk; } - /** - * All 'disk[]' params are mutually exclusive, only one can be provided. - */ public function setDisk(DiskLookup $disk): self { $this->initialized['disk'] = true; diff --git a/src/Core/Model/DnsRecordsDnsRecordDeleteBody.php b/src/Core/Model/DnsRecordsDnsRecordDeleteBody.php index 2d1277ec..6eddf650 100644 --- a/src/Core/Model/DnsRecordsDnsRecordDeleteBody.php +++ b/src/Core/Model/DnsRecordsDnsRecordDeleteBody.php @@ -22,23 +22,15 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'dns_record[]' params are mutually exclusive, only one can be provided. - * * @var DNSRecordLookup */ protected $dnsRecord; - /** - * All 'dns_record[]' params are mutually exclusive, only one can be provided. - */ public function getDnsRecord(): DNSRecordLookup { return $this->dnsRecord; } - /** - * All 'dns_record[]' params are mutually exclusive, only one can be provided. - */ public function setDnsRecord(DNSRecordLookup $dnsRecord): self { $this->initialized['dnsRecord'] = true; diff --git a/src/Core/Model/DnsRecordsDnsRecordPatchBody.php b/src/Core/Model/DnsRecordsDnsRecordPatchBody.php index c6becbac..c32c4ffb 100644 --- a/src/Core/Model/DnsRecordsDnsRecordPatchBody.php +++ b/src/Core/Model/DnsRecordsDnsRecordPatchBody.php @@ -22,29 +22,19 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'dns_record[]' params are mutually exclusive, only one can be provided. - * * @var DNSRecordLookup */ protected $dnsRecord; /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - * * @var DNSRecordArguments */ protected $properties; - /** - * All 'dns_record[]' params are mutually exclusive, only one can be provided. - */ public function getDnsRecord(): DNSRecordLookup { return $this->dnsRecord; } - /** - * All 'dns_record[]' params are mutually exclusive, only one can be provided. - */ public function setDnsRecord(DNSRecordLookup $dnsRecord): self { $this->initialized['dnsRecord'] = true; @@ -53,17 +43,11 @@ public function setDnsRecord(DNSRecordLookup $dnsRecord): self return $this; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function getProperties(): DNSRecordArguments { return $this->properties; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function setProperties(DNSRecordArguments $properties): self { $this->initialized['properties'] = true; diff --git a/src/Core/Model/DnsZonesDnsZonePatchBody.php b/src/Core/Model/DnsZonesDnsZonePatchBody.php index f6f3d4ad..c2c1e2d0 100644 --- a/src/Core/Model/DnsZonesDnsZonePatchBody.php +++ b/src/Core/Model/DnsZonesDnsZonePatchBody.php @@ -28,8 +28,6 @@ public function isInitialized($property): bool */ protected $dnsZone; /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - * * @var DNSZoneArguments */ protected $properties; @@ -53,17 +51,11 @@ public function setDnsZone(DNSZoneLookup $dnsZone): self return $this; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function getProperties(): DNSZoneArguments { return $this->properties; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function setProperties(DNSZoneArguments $properties): self { $this->initialized['properties'] = true; diff --git a/src/Core/Model/DnsZonesDnsZoneRecordsPostBody.php b/src/Core/Model/DnsZonesDnsZoneRecordsPostBody.php index 3422ac6e..378abe51 100644 --- a/src/Core/Model/DnsZonesDnsZoneRecordsPostBody.php +++ b/src/Core/Model/DnsZonesDnsZoneRecordsPostBody.php @@ -28,8 +28,6 @@ public function isInitialized($property): bool */ protected $dnsZone; /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - * * @var DNSRecordArguments */ protected $properties; @@ -53,17 +51,11 @@ public function setDnsZone(DNSZoneLookup $dnsZone): self return $this; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function getProperties(): DNSRecordArguments { return $this->properties; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function setProperties(DNSRecordArguments $properties): self { $this->initialized['properties'] = true; diff --git a/src/Core/Model/FileStorageVolumesFileStorageVolumeDeleteBody.php b/src/Core/Model/FileStorageVolumesFileStorageVolumeDeleteBody.php index 9c7129f5..10e37b6d 100644 --- a/src/Core/Model/FileStorageVolumesFileStorageVolumeDeleteBody.php +++ b/src/Core/Model/FileStorageVolumesFileStorageVolumeDeleteBody.php @@ -22,23 +22,15 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'file_storage_volume[]' params are mutually exclusive, only one can be provided. - * * @var FileStorageVolumeLookup */ protected $fileStorageVolume; - /** - * All 'file_storage_volume[]' params are mutually exclusive, only one can be provided. - */ public function getFileStorageVolume(): FileStorageVolumeLookup { return $this->fileStorageVolume; } - /** - * All 'file_storage_volume[]' params are mutually exclusive, only one can be provided. - */ public function setFileStorageVolume(FileStorageVolumeLookup $fileStorageVolume): self { $this->initialized['fileStorageVolume'] = true; diff --git a/src/Core/Model/FileStorageVolumesFileStorageVolumePatchBody.php b/src/Core/Model/FileStorageVolumesFileStorageVolumePatchBody.php index dd8b87cb..b9813357 100644 --- a/src/Core/Model/FileStorageVolumesFileStorageVolumePatchBody.php +++ b/src/Core/Model/FileStorageVolumesFileStorageVolumePatchBody.php @@ -22,14 +22,10 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'file_storage_volume[]' params are mutually exclusive, only one can be provided. - * * @var FileStorageVolumeLookup */ protected $fileStorageVolume; /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - * * @var FileStorageVolumeArguments */ protected $properties; @@ -38,17 +34,11 @@ public function isInitialized($property): bool */ protected $annotations; - /** - * All 'file_storage_volume[]' params are mutually exclusive, only one can be provided. - */ public function getFileStorageVolume(): FileStorageVolumeLookup { return $this->fileStorageVolume; } - /** - * All 'file_storage_volume[]' params are mutually exclusive, only one can be provided. - */ public function setFileStorageVolume(FileStorageVolumeLookup $fileStorageVolume): self { $this->initialized['fileStorageVolume'] = true; @@ -57,17 +47,11 @@ public function setFileStorageVolume(FileStorageVolumeLookup $fileStorageVolume) return $this; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function getProperties(): FileStorageVolumeArguments { return $this->properties; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function setProperties(FileStorageVolumeArguments $properties): self { $this->initialized['properties'] = true; diff --git a/src/Core/Model/GetVMNIVMNI200ResponseVirtualMachineNetworkInterface.php b/src/Core/Model/GetVMNIVMNI200ResponseVirtualMachineNetworkInterface.php index bcb3bdc8..daa07ec8 100644 --- a/src/Core/Model/GetVMNIVMNI200ResponseVirtualMachineNetworkInterface.php +++ b/src/Core/Model/GetVMNIVMNI200ResponseVirtualMachineNetworkInterface.php @@ -34,9 +34,13 @@ public function isInitialized($property): bool */ protected $name; /** - * @var GetVMNIVMNIPartNetwork + * @var GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNetwork|null */ protected $network; + /** + * @var GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceVirtualNetwork|null + */ + protected $virtualNetwork; /** * @var string */ @@ -93,12 +97,12 @@ public function setName(string $name): self return $this; } - public function getNetwork(): GetVMNIVMNIPartNetwork + public function getNetwork(): ?GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNetwork { return $this->network; } - public function setNetwork(GetVMNIVMNIPartNetwork $network): self + public function setNetwork(?GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNetwork $network): self { $this->initialized['network'] = true; $this->network = $network; @@ -106,6 +110,19 @@ public function setNetwork(GetVMNIVMNIPartNetwork $network): self return $this; } + public function getVirtualNetwork(): ?GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceVirtualNetwork + { + return $this->virtualNetwork; + } + + public function setVirtualNetwork(?GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceVirtualNetwork $virtualNetwork): self + { + $this->initialized['virtualNetwork'] = true; + $this->virtualNetwork = $virtualNetwork; + + return $this; + } + public function getMacAddress(): string { return $this->macAddress; diff --git a/src/Core/Model/GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNetwork.php b/src/Core/Model/GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNetwork.php new file mode 100644 index 00000000..44f7fc08 --- /dev/null +++ b/src/Core/Model/GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNetwork.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } +} diff --git a/src/Core/Model/GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceVirtualNetwork.php b/src/Core/Model/GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceVirtualNetwork.php new file mode 100644 index 00000000..67919893 --- /dev/null +++ b/src/Core/Model/GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceVirtualNetwork.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } +} diff --git a/src/Core/Model/GetVMNIVMNIPartVirtualNetwork.php b/src/Core/Model/GetVMNIVMNIPartVirtualNetwork.php new file mode 100644 index 00000000..84d85b03 --- /dev/null +++ b/src/Core/Model/GetVMNIVMNIPartVirtualNetwork.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } +} diff --git a/src/Core/Model/GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterface.php b/src/Core/Model/GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterface.php index 61c59814..3b2d873f 100644 --- a/src/Core/Model/GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterface.php +++ b/src/Core/Model/GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterface.php @@ -34,9 +34,13 @@ public function isInitialized($property): bool */ protected $name; /** - * @var GetVirtualMachineNetworkInterfacePartNetwork + * @var GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork|null */ protected $network; + /** + * @var GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork|null + */ + protected $virtualNetwork; /** * @var string */ @@ -89,12 +93,12 @@ public function setName(string $name): self return $this; } - public function getNetwork(): GetVirtualMachineNetworkInterfacePartNetwork + public function getNetwork(): ?GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork { return $this->network; } - public function setNetwork(GetVirtualMachineNetworkInterfacePartNetwork $network): self + public function setNetwork(?GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork $network): self { $this->initialized['network'] = true; $this->network = $network; @@ -102,6 +106,19 @@ public function setNetwork(GetVirtualMachineNetworkInterfacePartNetwork $network return $this; } + public function getVirtualNetwork(): ?GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork + { + return $this->virtualNetwork; + } + + public function setVirtualNetwork(?GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork $virtualNetwork): self + { + $this->initialized['virtualNetwork'] = true; + $this->virtualNetwork = $virtualNetwork; + + return $this; + } + public function getMacAddress(): string { return $this->macAddress; diff --git a/src/Core/Model/GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork.php b/src/Core/Model/GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork.php new file mode 100644 index 00000000..5b60fdd1 --- /dev/null +++ b/src/Core/Model/GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } +} diff --git a/src/Core/Model/GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork.php b/src/Core/Model/GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork.php new file mode 100644 index 00000000..7da0bb53 --- /dev/null +++ b/src/Core/Model/GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } +} diff --git a/src/Core/Model/GetVirtualMachineNetworkInterfacePartVirtualNetwork.php b/src/Core/Model/GetVirtualMachineNetworkInterfacePartVirtualNetwork.php new file mode 100644 index 00000000..c00d69c1 --- /dev/null +++ b/src/Core/Model/GetVirtualMachineNetworkInterfacePartVirtualNetwork.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } +} diff --git a/src/Core/Model/GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaces.php b/src/Core/Model/GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaces.php index fdd90e74..b14e414e 100644 --- a/src/Core/Model/GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaces.php +++ b/src/Core/Model/GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaces.php @@ -30,9 +30,13 @@ public function isInitialized($property): bool */ protected $name; /** - * @var GetVirtualMachineNetworkInterfacesPartNetwork + * @var GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesNetwork|null */ protected $network; + /** + * @var GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesVirtualNetwork|null + */ + protected $virtualNetwork; /** * @var list */ @@ -64,12 +68,12 @@ public function setName(string $name): self return $this; } - public function getNetwork(): GetVirtualMachineNetworkInterfacesPartNetwork + public function getNetwork(): ?GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesNetwork { return $this->network; } - public function setNetwork(GetVirtualMachineNetworkInterfacesPartNetwork $network): self + public function setNetwork(?GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesNetwork $network): self { $this->initialized['network'] = true; $this->network = $network; @@ -77,6 +81,19 @@ public function setNetwork(GetVirtualMachineNetworkInterfacesPartNetwork $networ return $this; } + public function getVirtualNetwork(): ?GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesVirtualNetwork + { + return $this->virtualNetwork; + } + + public function setVirtualNetwork(?GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesVirtualNetwork $virtualNetwork): self + { + $this->initialized['virtualNetwork'] = true; + $this->virtualNetwork = $virtualNetwork; + + return $this; + } + /** * @return list */ diff --git a/src/Core/Model/GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesNetwork.php b/src/Core/Model/GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesNetwork.php new file mode 100644 index 00000000..caf08d30 --- /dev/null +++ b/src/Core/Model/GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesNetwork.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } +} diff --git a/src/Core/Model/GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesVirtualNetwork.php b/src/Core/Model/GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesVirtualNetwork.php new file mode 100644 index 00000000..bb314af8 --- /dev/null +++ b/src/Core/Model/GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesVirtualNetwork.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } +} diff --git a/src/Core/Model/GetVirtualMachineNetworkInterfacesPartVirtualNetwork.php b/src/Core/Model/GetVirtualMachineNetworkInterfacesPartVirtualNetwork.php new file mode 100644 index 00000000..6be01bde --- /dev/null +++ b/src/Core/Model/GetVirtualMachineNetworkInterfacesPartVirtualNetwork.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } +} diff --git a/src/Core/Model/LoadBalancersLoadBalancerPatchBody.php b/src/Core/Model/LoadBalancersLoadBalancerPatchBody.php index 4ffce5b8..1abd523e 100644 --- a/src/Core/Model/LoadBalancersLoadBalancerPatchBody.php +++ b/src/Core/Model/LoadBalancersLoadBalancerPatchBody.php @@ -28,8 +28,6 @@ public function isInitialized($property): bool */ protected $loadBalancer; /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - * * @var LoadBalancerArguments */ protected $properties; @@ -57,17 +55,11 @@ public function setLoadBalancer(LoadBalancerLookup $loadBalancer): self return $this; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function getProperties(): LoadBalancerArguments { return $this->properties; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function setProperties(LoadBalancerArguments $properties): self { $this->initialized['properties'] = true; diff --git a/src/Core/Model/LoadBalancersLoadBalancerRulesPostBody.php b/src/Core/Model/LoadBalancersLoadBalancerRulesPostBody.php index 29a4554e..1628bc96 100644 --- a/src/Core/Model/LoadBalancersLoadBalancerRulesPostBody.php +++ b/src/Core/Model/LoadBalancersLoadBalancerRulesPostBody.php @@ -28,8 +28,6 @@ public function isInitialized($property): bool */ protected $loadBalancer; /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - * * @var LoadBalancerRuleArguments */ protected $properties; @@ -53,17 +51,11 @@ public function setLoadBalancer(LoadBalancerLookup $loadBalancer): self return $this; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function getProperties(): LoadBalancerRuleArguments { return $this->properties; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function setProperties(LoadBalancerRuleArguments $properties): self { $this->initialized['properties'] = true; diff --git a/src/Core/Model/LoadBalancersRulesLoadBalancerRuleDeleteBody.php b/src/Core/Model/LoadBalancersRulesLoadBalancerRuleDeleteBody.php index c4ec421d..5a7fcecd 100644 --- a/src/Core/Model/LoadBalancersRulesLoadBalancerRuleDeleteBody.php +++ b/src/Core/Model/LoadBalancersRulesLoadBalancerRuleDeleteBody.php @@ -22,23 +22,15 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'load_balancer_rule[]' params are mutually exclusive, only one can be provided. - * * @var LoadBalancerRuleLookup */ protected $loadBalancerRule; - /** - * All 'load_balancer_rule[]' params are mutually exclusive, only one can be provided. - */ public function getLoadBalancerRule(): LoadBalancerRuleLookup { return $this->loadBalancerRule; } - /** - * All 'load_balancer_rule[]' params are mutually exclusive, only one can be provided. - */ public function setLoadBalancerRule(LoadBalancerRuleLookup $loadBalancerRule): self { $this->initialized['loadBalancerRule'] = true; diff --git a/src/Core/Model/LoadBalancersRulesLoadBalancerRulePatchBody.php b/src/Core/Model/LoadBalancersRulesLoadBalancerRulePatchBody.php index 426967e5..7a72f415 100644 --- a/src/Core/Model/LoadBalancersRulesLoadBalancerRulePatchBody.php +++ b/src/Core/Model/LoadBalancersRulesLoadBalancerRulePatchBody.php @@ -22,29 +22,19 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'load_balancer_rule[]' params are mutually exclusive, only one can be provided. - * * @var LoadBalancerRuleLookup */ protected $loadBalancerRule; /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - * * @var LoadBalancerRuleArguments */ protected $properties; - /** - * All 'load_balancer_rule[]' params are mutually exclusive, only one can be provided. - */ public function getLoadBalancerRule(): LoadBalancerRuleLookup { return $this->loadBalancerRule; } - /** - * All 'load_balancer_rule[]' params are mutually exclusive, only one can be provided. - */ public function setLoadBalancerRule(LoadBalancerRuleLookup $loadBalancerRule): self { $this->initialized['loadBalancerRule'] = true; @@ -53,17 +43,11 @@ public function setLoadBalancerRule(LoadBalancerRuleLookup $loadBalancerRule): s return $this; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function getProperties(): LoadBalancerRuleArguments { return $this->properties; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function setProperties(LoadBalancerRuleArguments $properties): self { $this->initialized['properties'] = true; diff --git a/src/Core/Model/ObjectStorageAccessKey.php b/src/Core/Model/ObjectStorageAccessKey.php new file mode 100644 index 00000000..8a58fc84 --- /dev/null +++ b/src/Core/Model/ObjectStorageAccessKey.php @@ -0,0 +1,305 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + /** + * @var int + */ + protected $createdAt; + /** + * @var string + */ + protected $region; + /** + * @var string + */ + protected $state; + /** + * Global access to list all buckets. + * + * @var bool + */ + protected $allBucketsRead; + /** + * Global read access for objects in all buckets. + * + * @var bool + */ + protected $allObjectsRead; + /** + * Global write access to create and delete objects in all buckets. + * + * @var bool + */ + protected $allObjectsWrite; + /** + * @var list + */ + protected $readBuckets; + /** + * @var list + */ + protected $writeBuckets; + /** + * The server URL for the S3 credentials. + * + * @var string|null + */ + protected $serverUrl; + /** + * The S3 access key ID. + * + * @var string|null + */ + protected $s3AccessKeyId; + /** + * Only available when using the generate credentials endpoint. + * + * @var string|null + */ + protected $s3SecretAccessKey; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } + + public function getCreatedAt(): int + { + return $this->createdAt; + } + + public function setCreatedAt(int $createdAt): self + { + $this->initialized['createdAt'] = true; + $this->createdAt = $createdAt; + + return $this; + } + + public function getRegion(): string + { + return $this->region; + } + + public function setRegion(string $region): self + { + $this->initialized['region'] = true; + $this->region = $region; + + return $this; + } + + public function getState(): string + { + return $this->state; + } + + public function setState(string $state): self + { + $this->initialized['state'] = true; + $this->state = $state; + + return $this; + } + + /** + * Global access to list all buckets. + */ + public function getAllBucketsRead(): bool + { + return $this->allBucketsRead; + } + + /** + * Global access to list all buckets. + */ + public function setAllBucketsRead(bool $allBucketsRead): self + { + $this->initialized['allBucketsRead'] = true; + $this->allBucketsRead = $allBucketsRead; + + return $this; + } + + /** + * Global read access for objects in all buckets. + */ + public function getAllObjectsRead(): bool + { + return $this->allObjectsRead; + } + + /** + * Global read access for objects in all buckets. + */ + public function setAllObjectsRead(bool $allObjectsRead): self + { + $this->initialized['allObjectsRead'] = true; + $this->allObjectsRead = $allObjectsRead; + + return $this; + } + + /** + * Global write access to create and delete objects in all buckets. + */ + public function getAllObjectsWrite(): bool + { + return $this->allObjectsWrite; + } + + /** + * Global write access to create and delete objects in all buckets. + */ + public function setAllObjectsWrite(bool $allObjectsWrite): self + { + $this->initialized['allObjectsWrite'] = true; + $this->allObjectsWrite = $allObjectsWrite; + + return $this; + } + + /** + * @return list + */ + public function getReadBuckets(): array + { + return $this->readBuckets; + } + + /** + * @param list $readBuckets + */ + public function setReadBuckets(array $readBuckets): self + { + $this->initialized['readBuckets'] = true; + $this->readBuckets = $readBuckets; + + return $this; + } + + /** + * @return list + */ + public function getWriteBuckets(): array + { + return $this->writeBuckets; + } + + /** + * @param list $writeBuckets + */ + public function setWriteBuckets(array $writeBuckets): self + { + $this->initialized['writeBuckets'] = true; + $this->writeBuckets = $writeBuckets; + + return $this; + } + + /** + * The server URL for the S3 credentials. + */ + public function getServerUrl(): ?string + { + return $this->serverUrl; + } + + /** + * The server URL for the S3 credentials. + */ + public function setServerUrl(?string $serverUrl): self + { + $this->initialized['serverUrl'] = true; + $this->serverUrl = $serverUrl; + + return $this; + } + + /** + * The S3 access key ID. + */ + public function getS3AccessKeyId(): ?string + { + return $this->s3AccessKeyId; + } + + /** + * The S3 access key ID. + */ + public function setS3AccessKeyId(?string $s3AccessKeyId): self + { + $this->initialized['s3AccessKeyId'] = true; + $this->s3AccessKeyId = $s3AccessKeyId; + + return $this; + } + + /** + * Only available when using the generate credentials endpoint. + */ + public function getS3SecretAccessKey(): ?string + { + return $this->s3SecretAccessKey; + } + + /** + * Only available when using the generate credentials endpoint. + */ + public function setS3SecretAccessKey(?string $s3SecretAccessKey): self + { + $this->initialized['s3SecretAccessKey'] = true; + $this->s3SecretAccessKey = $s3SecretAccessKey; + + return $this; + } +} diff --git a/src/Core/Model/ObjectStorageAccessKeyArguments.php b/src/Core/Model/ObjectStorageAccessKeyArguments.php new file mode 100644 index 00000000..c841895b --- /dev/null +++ b/src/Core/Model/ObjectStorageAccessKeyArguments.php @@ -0,0 +1,124 @@ +initialized); + } + /** + * The name of the access key. + * + * @var string + */ + protected $name; + /** + * Some S3 clients require this permission to successfully connect to your account. + * + * @var bool + */ + protected $allBucketsRead; + /** + * Global read access for objects in all buckets. + * + * @var bool + */ + protected $allObjectsRead; + /** + * Global write access to create and delete objects in all buckets. + * + * @var bool + */ + protected $allObjectsWrite; + + /** + * The name of the access key. + */ + public function getName(): string + { + return $this->name; + } + + /** + * The name of the access key. + */ + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } + + /** + * Some S3 clients require this permission to successfully connect to your account. + */ + public function getAllBucketsRead(): bool + { + return $this->allBucketsRead; + } + + /** + * Some S3 clients require this permission to successfully connect to your account. + */ + public function setAllBucketsRead(bool $allBucketsRead): self + { + $this->initialized['allBucketsRead'] = true; + $this->allBucketsRead = $allBucketsRead; + + return $this; + } + + /** + * Global read access for objects in all buckets. + */ + public function getAllObjectsRead(): bool + { + return $this->allObjectsRead; + } + + /** + * Global read access for objects in all buckets. + */ + public function setAllObjectsRead(bool $allObjectsRead): self + { + $this->initialized['allObjectsRead'] = true; + $this->allObjectsRead = $allObjectsRead; + + return $this; + } + + /** + * Global write access to create and delete objects in all buckets. + */ + public function getAllObjectsWrite(): bool + { + return $this->allObjectsWrite; + } + + /** + * Global write access to create and delete objects in all buckets. + */ + public function setAllObjectsWrite(bool $allObjectsWrite): self + { + $this->initialized['allObjectsWrite'] = true; + $this->allObjectsWrite = $allObjectsWrite; + + return $this; + } +} diff --git a/src/Core/Model/ObjectStorageAccessKeyLookup.php b/src/Core/Model/ObjectStorageAccessKeyLookup.php new file mode 100644 index 00000000..1ce67794 --- /dev/null +++ b/src/Core/Model/ObjectStorageAccessKeyLookup.php @@ -0,0 +1,41 @@ +initialized); + } + /** + * @var string + */ + protected $id; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } +} diff --git a/src/Core/Model/ObjectStorageAccessKeysAccessKeyDeleteBody.php b/src/Core/Model/ObjectStorageAccessKeysAccessKeyDeleteBody.php new file mode 100644 index 00000000..bbdf249a --- /dev/null +++ b/src/Core/Model/ObjectStorageAccessKeysAccessKeyDeleteBody.php @@ -0,0 +1,41 @@ +initialized); + } + /** + * @var ObjectStorageAccessKeyLookup + */ + protected $accessKey; + + public function getAccessKey(): ObjectStorageAccessKeyLookup + { + return $this->accessKey; + } + + public function setAccessKey(ObjectStorageAccessKeyLookup $accessKey): self + { + $this->initialized['accessKey'] = true; + $this->accessKey = $accessKey; + + return $this; + } +} diff --git a/src/Core/Model/ObjectStorageAccessKeysAccessKeyDeleteResponse200.php b/src/Core/Model/ObjectStorageAccessKeysAccessKeyDeleteResponse200.php new file mode 100644 index 00000000..61140bcb --- /dev/null +++ b/src/Core/Model/ObjectStorageAccessKeysAccessKeyDeleteResponse200.php @@ -0,0 +1,41 @@ +initialized); + } + /** + * @var bool + */ + protected $success; + + public function getSuccess(): bool + { + return $this->success; + } + + public function setSuccess(bool $success): self + { + $this->initialized['success'] = true; + $this->success = $success; + + return $this; + } +} diff --git a/src/Core/Model/ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostBody.php b/src/Core/Model/ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostBody.php new file mode 100644 index 00000000..2e05bcc0 --- /dev/null +++ b/src/Core/Model/ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostBody.php @@ -0,0 +1,41 @@ +initialized); + } + /** + * @var ObjectStorageAccessKeyLookup + */ + protected $accessKey; + + public function getAccessKey(): ObjectStorageAccessKeyLookup + { + return $this->accessKey; + } + + public function setAccessKey(ObjectStorageAccessKeyLookup $accessKey): self + { + $this->initialized['accessKey'] = true; + $this->accessKey = $accessKey; + + return $this; + } +} diff --git a/src/Core/Model/ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200.php b/src/Core/Model/ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200.php new file mode 100644 index 00000000..f7e03a0e --- /dev/null +++ b/src/Core/Model/ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200.php @@ -0,0 +1,49 @@ +initialized); + } + /** + * The object storage access key with newly generated credentials. + * + * @var ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200ObjectStorageAccessKey + */ + protected $objectStorageAccessKey; + + /** + * The object storage access key with newly generated credentials. + */ + public function getObjectStorageAccessKey(): ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200ObjectStorageAccessKey + { + return $this->objectStorageAccessKey; + } + + /** + * The object storage access key with newly generated credentials. + */ + public function setObjectStorageAccessKey(ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200ObjectStorageAccessKey $objectStorageAccessKey): self + { + $this->initialized['objectStorageAccessKey'] = true; + $this->objectStorageAccessKey = $objectStorageAccessKey; + + return $this; + } +} diff --git a/src/Core/Model/ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200ObjectStorageAccessKey.php b/src/Core/Model/ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200ObjectStorageAccessKey.php new file mode 100644 index 00000000..793a149c --- /dev/null +++ b/src/Core/Model/ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200ObjectStorageAccessKey.php @@ -0,0 +1,305 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + /** + * @var int + */ + protected $createdAt; + /** + * @var string + */ + protected $region; + /** + * @var string + */ + protected $state; + /** + * Global access to list all buckets. + * + * @var bool + */ + protected $allBucketsRead; + /** + * Global read access for objects in all buckets. + * + * @var bool + */ + protected $allObjectsRead; + /** + * Global write access to create and delete objects in all buckets. + * + * @var bool + */ + protected $allObjectsWrite; + /** + * @var list + */ + protected $readBuckets; + /** + * @var list + */ + protected $writeBuckets; + /** + * The server URL for the S3 credentials. + * + * @var string|null + */ + protected $serverUrl; + /** + * The S3 access key ID. + * + * @var string|null + */ + protected $s3AccessKeyId; + /** + * Only available when using the generate credentials endpoint. + * + * @var string|null + */ + protected $s3SecretAccessKey; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } + + public function getCreatedAt(): int + { + return $this->createdAt; + } + + public function setCreatedAt(int $createdAt): self + { + $this->initialized['createdAt'] = true; + $this->createdAt = $createdAt; + + return $this; + } + + public function getRegion(): string + { + return $this->region; + } + + public function setRegion(string $region): self + { + $this->initialized['region'] = true; + $this->region = $region; + + return $this; + } + + public function getState(): string + { + return $this->state; + } + + public function setState(string $state): self + { + $this->initialized['state'] = true; + $this->state = $state; + + return $this; + } + + /** + * Global access to list all buckets. + */ + public function getAllBucketsRead(): bool + { + return $this->allBucketsRead; + } + + /** + * Global access to list all buckets. + */ + public function setAllBucketsRead(bool $allBucketsRead): self + { + $this->initialized['allBucketsRead'] = true; + $this->allBucketsRead = $allBucketsRead; + + return $this; + } + + /** + * Global read access for objects in all buckets. + */ + public function getAllObjectsRead(): bool + { + return $this->allObjectsRead; + } + + /** + * Global read access for objects in all buckets. + */ + public function setAllObjectsRead(bool $allObjectsRead): self + { + $this->initialized['allObjectsRead'] = true; + $this->allObjectsRead = $allObjectsRead; + + return $this; + } + + /** + * Global write access to create and delete objects in all buckets. + */ + public function getAllObjectsWrite(): bool + { + return $this->allObjectsWrite; + } + + /** + * Global write access to create and delete objects in all buckets. + */ + public function setAllObjectsWrite(bool $allObjectsWrite): self + { + $this->initialized['allObjectsWrite'] = true; + $this->allObjectsWrite = $allObjectsWrite; + + return $this; + } + + /** + * @return list + */ + public function getReadBuckets(): array + { + return $this->readBuckets; + } + + /** + * @param list $readBuckets + */ + public function setReadBuckets(array $readBuckets): self + { + $this->initialized['readBuckets'] = true; + $this->readBuckets = $readBuckets; + + return $this; + } + + /** + * @return list + */ + public function getWriteBuckets(): array + { + return $this->writeBuckets; + } + + /** + * @param list $writeBuckets + */ + public function setWriteBuckets(array $writeBuckets): self + { + $this->initialized['writeBuckets'] = true; + $this->writeBuckets = $writeBuckets; + + return $this; + } + + /** + * The server URL for the S3 credentials. + */ + public function getServerUrl(): ?string + { + return $this->serverUrl; + } + + /** + * The server URL for the S3 credentials. + */ + public function setServerUrl(?string $serverUrl): self + { + $this->initialized['serverUrl'] = true; + $this->serverUrl = $serverUrl; + + return $this; + } + + /** + * The S3 access key ID. + */ + public function getS3AccessKeyId(): ?string + { + return $this->s3AccessKeyId; + } + + /** + * The S3 access key ID. + */ + public function setS3AccessKeyId(?string $s3AccessKeyId): self + { + $this->initialized['s3AccessKeyId'] = true; + $this->s3AccessKeyId = $s3AccessKeyId; + + return $this; + } + + /** + * Only available when using the generate credentials endpoint. + */ + public function getS3SecretAccessKey(): ?string + { + return $this->s3SecretAccessKey; + } + + /** + * Only available when using the generate credentials endpoint. + */ + public function setS3SecretAccessKey(?string $s3SecretAccessKey): self + { + $this->initialized['s3SecretAccessKey'] = true; + $this->s3SecretAccessKey = $s3SecretAccessKey; + + return $this; + } +} diff --git a/src/Core/Model/ObjectStorageAccessKeysAccessKeyGetResponse200.php b/src/Core/Model/ObjectStorageAccessKeysAccessKeyGetResponse200.php new file mode 100644 index 00000000..8746c49f --- /dev/null +++ b/src/Core/Model/ObjectStorageAccessKeysAccessKeyGetResponse200.php @@ -0,0 +1,41 @@ +initialized); + } + /** + * @var ObjectStorageAccessKey + */ + protected $objectStorageAccessKey; + + public function getObjectStorageAccessKey(): ObjectStorageAccessKey + { + return $this->objectStorageAccessKey; + } + + public function setObjectStorageAccessKey(ObjectStorageAccessKey $objectStorageAccessKey): self + { + $this->initialized['objectStorageAccessKey'] = true; + $this->objectStorageAccessKey = $objectStorageAccessKey; + + return $this; + } +} diff --git a/src/Core/Model/ObjectStorageAccessKeysAccessKeyPatchBody.php b/src/Core/Model/ObjectStorageAccessKeysAccessKeyPatchBody.php new file mode 100644 index 00000000..c8ba7cd9 --- /dev/null +++ b/src/Core/Model/ObjectStorageAccessKeysAccessKeyPatchBody.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var ObjectStorageAccessKeyLookup + */ + protected $accessKey; + /** + * @var ObjectStorageAccessKeyArguments + */ + protected $properties; + + public function getAccessKey(): ObjectStorageAccessKeyLookup + { + return $this->accessKey; + } + + public function setAccessKey(ObjectStorageAccessKeyLookup $accessKey): self + { + $this->initialized['accessKey'] = true; + $this->accessKey = $accessKey; + + return $this; + } + + public function getProperties(): ObjectStorageAccessKeyArguments + { + return $this->properties; + } + + public function setProperties(ObjectStorageAccessKeyArguments $properties): self + { + $this->initialized['properties'] = true; + $this->properties = $properties; + + return $this; + } +} diff --git a/src/Core/Model/ObjectStorageAccessKeysAccessKeyPatchResponse200.php b/src/Core/Model/ObjectStorageAccessKeysAccessKeyPatchResponse200.php new file mode 100644 index 00000000..c46c395a --- /dev/null +++ b/src/Core/Model/ObjectStorageAccessKeysAccessKeyPatchResponse200.php @@ -0,0 +1,49 @@ +initialized); + } + /** + * The new properties for the object storage access key. + * + * @var ObjectStorageAccessKeysAccessKeyPatchResponse200ObjectStorageAccessKey + */ + protected $objectStorageAccessKey; + + /** + * The new properties for the object storage access key. + */ + public function getObjectStorageAccessKey(): ObjectStorageAccessKeysAccessKeyPatchResponse200ObjectStorageAccessKey + { + return $this->objectStorageAccessKey; + } + + /** + * The new properties for the object storage access key. + */ + public function setObjectStorageAccessKey(ObjectStorageAccessKeysAccessKeyPatchResponse200ObjectStorageAccessKey $objectStorageAccessKey): self + { + $this->initialized['objectStorageAccessKey'] = true; + $this->objectStorageAccessKey = $objectStorageAccessKey; + + return $this; + } +} diff --git a/src/Core/Model/ObjectStorageAccessKeysAccessKeyPatchResponse200ObjectStorageAccessKey.php b/src/Core/Model/ObjectStorageAccessKeysAccessKeyPatchResponse200ObjectStorageAccessKey.php new file mode 100644 index 00000000..e9b5c25f --- /dev/null +++ b/src/Core/Model/ObjectStorageAccessKeysAccessKeyPatchResponse200ObjectStorageAccessKey.php @@ -0,0 +1,305 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + /** + * @var int + */ + protected $createdAt; + /** + * @var string + */ + protected $region; + /** + * @var string + */ + protected $state; + /** + * Global access to list all buckets. + * + * @var bool + */ + protected $allBucketsRead; + /** + * Global read access for objects in all buckets. + * + * @var bool + */ + protected $allObjectsRead; + /** + * Global write access to create and delete objects in all buckets. + * + * @var bool + */ + protected $allObjectsWrite; + /** + * @var list + */ + protected $readBuckets; + /** + * @var list + */ + protected $writeBuckets; + /** + * The server URL for the S3 credentials. + * + * @var string|null + */ + protected $serverUrl; + /** + * The S3 access key ID. + * + * @var string|null + */ + protected $s3AccessKeyId; + /** + * Only available when using the generate credentials endpoint. + * + * @var string|null + */ + protected $s3SecretAccessKey; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } + + public function getCreatedAt(): int + { + return $this->createdAt; + } + + public function setCreatedAt(int $createdAt): self + { + $this->initialized['createdAt'] = true; + $this->createdAt = $createdAt; + + return $this; + } + + public function getRegion(): string + { + return $this->region; + } + + public function setRegion(string $region): self + { + $this->initialized['region'] = true; + $this->region = $region; + + return $this; + } + + public function getState(): string + { + return $this->state; + } + + public function setState(string $state): self + { + $this->initialized['state'] = true; + $this->state = $state; + + return $this; + } + + /** + * Global access to list all buckets. + */ + public function getAllBucketsRead(): bool + { + return $this->allBucketsRead; + } + + /** + * Global access to list all buckets. + */ + public function setAllBucketsRead(bool $allBucketsRead): self + { + $this->initialized['allBucketsRead'] = true; + $this->allBucketsRead = $allBucketsRead; + + return $this; + } + + /** + * Global read access for objects in all buckets. + */ + public function getAllObjectsRead(): bool + { + return $this->allObjectsRead; + } + + /** + * Global read access for objects in all buckets. + */ + public function setAllObjectsRead(bool $allObjectsRead): self + { + $this->initialized['allObjectsRead'] = true; + $this->allObjectsRead = $allObjectsRead; + + return $this; + } + + /** + * Global write access to create and delete objects in all buckets. + */ + public function getAllObjectsWrite(): bool + { + return $this->allObjectsWrite; + } + + /** + * Global write access to create and delete objects in all buckets. + */ + public function setAllObjectsWrite(bool $allObjectsWrite): self + { + $this->initialized['allObjectsWrite'] = true; + $this->allObjectsWrite = $allObjectsWrite; + + return $this; + } + + /** + * @return list + */ + public function getReadBuckets(): array + { + return $this->readBuckets; + } + + /** + * @param list $readBuckets + */ + public function setReadBuckets(array $readBuckets): self + { + $this->initialized['readBuckets'] = true; + $this->readBuckets = $readBuckets; + + return $this; + } + + /** + * @return list + */ + public function getWriteBuckets(): array + { + return $this->writeBuckets; + } + + /** + * @param list $writeBuckets + */ + public function setWriteBuckets(array $writeBuckets): self + { + $this->initialized['writeBuckets'] = true; + $this->writeBuckets = $writeBuckets; + + return $this; + } + + /** + * The server URL for the S3 credentials. + */ + public function getServerUrl(): ?string + { + return $this->serverUrl; + } + + /** + * The server URL for the S3 credentials. + */ + public function setServerUrl(?string $serverUrl): self + { + $this->initialized['serverUrl'] = true; + $this->serverUrl = $serverUrl; + + return $this; + } + + /** + * The S3 access key ID. + */ + public function getS3AccessKeyId(): ?string + { + return $this->s3AccessKeyId; + } + + /** + * The S3 access key ID. + */ + public function setS3AccessKeyId(?string $s3AccessKeyId): self + { + $this->initialized['s3AccessKeyId'] = true; + $this->s3AccessKeyId = $s3AccessKeyId; + + return $this; + } + + /** + * Only available when using the generate credentials endpoint. + */ + public function getS3SecretAccessKey(): ?string + { + return $this->s3SecretAccessKey; + } + + /** + * Only available when using the generate credentials endpoint. + */ + public function setS3SecretAccessKey(?string $s3SecretAccessKey): self + { + $this->initialized['s3SecretAccessKey'] = true; + $this->s3SecretAccessKey = $s3SecretAccessKey; + + return $this; + } +} diff --git a/src/Core/Model/ObjectStorageAccount.php b/src/Core/Model/ObjectStorageAccount.php new file mode 100644 index 00000000..274f8daa --- /dev/null +++ b/src/Core/Model/ObjectStorageAccount.php @@ -0,0 +1,134 @@ +initialized); + } + /** + * @var string + */ + protected $region; + /** + * @var int + */ + protected $createdAt; + /** + * @var string + */ + protected $provisioningState; + /** + * The total storage used in bytes (updated periodically). + * + * @var int + */ + protected $size; + /** + * @var int + */ + protected $bucketCount; + /** + * @var DataCenter + */ + protected $dataCenter; + + public function getRegion(): string + { + return $this->region; + } + + public function setRegion(string $region): self + { + $this->initialized['region'] = true; + $this->region = $region; + + return $this; + } + + public function getCreatedAt(): int + { + return $this->createdAt; + } + + public function setCreatedAt(int $createdAt): self + { + $this->initialized['createdAt'] = true; + $this->createdAt = $createdAt; + + return $this; + } + + public function getProvisioningState(): string + { + return $this->provisioningState; + } + + public function setProvisioningState(string $provisioningState): self + { + $this->initialized['provisioningState'] = true; + $this->provisioningState = $provisioningState; + + return $this; + } + + /** + * The total storage used in bytes (updated periodically). + */ + public function getSize(): int + { + return $this->size; + } + + /** + * The total storage used in bytes (updated periodically). + */ + public function setSize(int $size): self + { + $this->initialized['size'] = true; + $this->size = $size; + + return $this; + } + + public function getBucketCount(): int + { + return $this->bucketCount; + } + + public function setBucketCount(int $bucketCount): self + { + $this->initialized['bucketCount'] = true; + $this->bucketCount = $bucketCount; + + return $this; + } + + public function getDataCenter(): DataCenter + { + return $this->dataCenter; + } + + public function setDataCenter(DataCenter $dataCenter): self + { + $this->initialized['dataCenter'] = true; + $this->dataCenter = $dataCenter; + + return $this; + } +} diff --git a/src/Core/Model/ObjectStorageBucketArguments.php b/src/Core/Model/ObjectStorageBucketArguments.php index 064fef26..8b64c43c 100644 --- a/src/Core/Model/ObjectStorageBucketArguments.php +++ b/src/Core/Model/ObjectStorageBucketArguments.php @@ -52,8 +52,6 @@ public function isInitialized($property): bool */ protected $staticSiteError; /** - * All 'access_control_list[]' params are mutually exclusive, only one can be provided. - * * @var ObjectStorageBucketACLArguments */ protected $accessControlList; @@ -153,17 +151,11 @@ public function setStaticSiteError(string $staticSiteError): self return $this; } - /** - * All 'access_control_list[]' params are mutually exclusive, only one can be provided. - */ public function getAccessControlList(): ObjectStorageBucketACLArguments { return $this->accessControlList; } - /** - * All 'access_control_list[]' params are mutually exclusive, only one can be provided. - */ public function setAccessControlList(ObjectStorageBucketACLArguments $accessControlList): self { $this->initialized['accessControlList'] = true; diff --git a/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketDeleteBody.php b/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketDeleteBody.php index 10a525fb..8acc3a73 100644 --- a/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketDeleteBody.php +++ b/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketDeleteBody.php @@ -22,29 +22,19 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'object_storage_cluster[]' params are mutually exclusive, only one can be provided. - * * @var ObjectStorageClusterLookup */ protected $objectStorageCluster; /** - * All 'bucket[]' params are mutually exclusive, only one can be provided. - * * @var ObjectStorageBucketLookup */ protected $bucket; - /** - * All 'object_storage_cluster[]' params are mutually exclusive, only one can be provided. - */ public function getObjectStorageCluster(): ObjectStorageClusterLookup { return $this->objectStorageCluster; } - /** - * All 'object_storage_cluster[]' params are mutually exclusive, only one can be provided. - */ public function setObjectStorageCluster(ObjectStorageClusterLookup $objectStorageCluster): self { $this->initialized['objectStorageCluster'] = true; @@ -53,17 +43,11 @@ public function setObjectStorageCluster(ObjectStorageClusterLookup $objectStorag return $this; } - /** - * All 'bucket[]' params are mutually exclusive, only one can be provided. - */ public function getBucket(): ObjectStorageBucketLookup { return $this->bucket; } - /** - * All 'bucket[]' params are mutually exclusive, only one can be provided. - */ public function setBucket(ObjectStorageBucketLookup $bucket): self { $this->initialized['bucket'] = true; diff --git a/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketPatchBody.php b/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketPatchBody.php index 305e33a1..8d2851ef 100644 --- a/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketPatchBody.php +++ b/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketPatchBody.php @@ -22,35 +22,23 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'object_storage_cluster[]' params are mutually exclusive, only one can be provided. - * * @var ObjectStorageClusterLookup */ protected $objectStorageCluster; /** - * All 'bucket[]' params are mutually exclusive, only one can be provided. - * * @var ObjectStorageBucketLookup */ protected $bucket; /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - * * @var ObjectStorageBucketArguments */ protected $properties; - /** - * All 'object_storage_cluster[]' params are mutually exclusive, only one can be provided. - */ public function getObjectStorageCluster(): ObjectStorageClusterLookup { return $this->objectStorageCluster; } - /** - * All 'object_storage_cluster[]' params are mutually exclusive, only one can be provided. - */ public function setObjectStorageCluster(ObjectStorageClusterLookup $objectStorageCluster): self { $this->initialized['objectStorageCluster'] = true; @@ -59,17 +47,11 @@ public function setObjectStorageCluster(ObjectStorageClusterLookup $objectStorag return $this; } - /** - * All 'bucket[]' params are mutually exclusive, only one can be provided. - */ public function getBucket(): ObjectStorageBucketLookup { return $this->bucket; } - /** - * All 'bucket[]' params are mutually exclusive, only one can be provided. - */ public function setBucket(ObjectStorageBucketLookup $bucket): self { $this->initialized['bucket'] = true; @@ -78,17 +60,11 @@ public function setBucket(ObjectStorageBucketLookup $bucket): self return $this; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function getProperties(): ObjectStorageBucketArguments { return $this->properties; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function setProperties(ObjectStorageBucketArguments $properties): self { $this->initialized['properties'] = true; diff --git a/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostBody.php b/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostBody.php index b8777f70..e9f8b176 100644 --- a/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostBody.php +++ b/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostBody.php @@ -22,14 +22,10 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'object_storage_cluster[]' params are mutually exclusive, only one can be provided. - * * @var ObjectStorageClusterLookup */ protected $objectStorageCluster; /** - * All 'bucket[]' params are mutually exclusive, only one can be provided. - * * @var ObjectStorageBucketLookup */ protected $bucket; @@ -40,23 +36,15 @@ public function isInitialized($property): bool */ protected $path; /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - * * @var ObjectStorageObjectPresignedURLArguments */ protected $properties; - /** - * All 'object_storage_cluster[]' params are mutually exclusive, only one can be provided. - */ public function getObjectStorageCluster(): ObjectStorageClusterLookup { return $this->objectStorageCluster; } - /** - * All 'object_storage_cluster[]' params are mutually exclusive, only one can be provided. - */ public function setObjectStorageCluster(ObjectStorageClusterLookup $objectStorageCluster): self { $this->initialized['objectStorageCluster'] = true; @@ -65,17 +53,11 @@ public function setObjectStorageCluster(ObjectStorageClusterLookup $objectStorag return $this; } - /** - * All 'bucket[]' params are mutually exclusive, only one can be provided. - */ public function getBucket(): ObjectStorageBucketLookup { return $this->bucket; } - /** - * All 'bucket[]' params are mutually exclusive, only one can be provided. - */ public function setBucket(ObjectStorageBucketLookup $bucket): self { $this->initialized['bucket'] = true; @@ -103,17 +85,11 @@ public function setPath(string $path): self return $this; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function getProperties(): ObjectStorageObjectPresignedURLArguments { return $this->properties; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function setProperties(ObjectStorageObjectPresignedURLArguments $properties): self { $this->initialized['properties'] = true; diff --git a/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostBody.php b/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostBody.php index 5e10e3a6..087b2ad7 100644 --- a/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostBody.php +++ b/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostBody.php @@ -22,29 +22,19 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'object_storage_cluster[]' params are mutually exclusive, only one can be provided. - * * @var ObjectStorageClusterLookup */ protected $objectStorageCluster; /** - * All 'bucket[]' params are mutually exclusive, only one can be provided. - * * @var ObjectStorageBucketLookup */ protected $bucket; - /** - * All 'object_storage_cluster[]' params are mutually exclusive, only one can be provided. - */ public function getObjectStorageCluster(): ObjectStorageClusterLookup { return $this->objectStorageCluster; } - /** - * All 'object_storage_cluster[]' params are mutually exclusive, only one can be provided. - */ public function setObjectStorageCluster(ObjectStorageClusterLookup $objectStorageCluster): self { $this->initialized['objectStorageCluster'] = true; @@ -53,17 +43,11 @@ public function setObjectStorageCluster(ObjectStorageClusterLookup $objectStorag return $this; } - /** - * All 'bucket[]' params are mutually exclusive, only one can be provided. - */ public function getBucket(): ObjectStorageBucketLookup { return $this->bucket; } - /** - * All 'bucket[]' params are mutually exclusive, only one can be provided. - */ public function setBucket(ObjectStorageBucketLookup $bucket): self { $this->initialized['bucket'] = true; diff --git a/src/Core/Model/ObjectStorageProvisioningErrorSchema.php b/src/Core/Model/ObjectStorageProvisioningErrorSchema.php new file mode 100644 index 00000000..9c42dccb --- /dev/null +++ b/src/Core/Model/ObjectStorageProvisioningErrorSchema.php @@ -0,0 +1,81 @@ +initialized); + } + /** + * @var string + */ + protected $code; + /** + * @var string + */ + protected $description; + /** + * @var array + */ + protected $detail; + + public function getCode(): string + { + return $this->code; + } + + public function setCode(string $code): self + { + $this->initialized['code'] = true; + $this->code = $code; + + return $this; + } + + public function getDescription(): string + { + return $this->description; + } + + public function setDescription(string $description): self + { + $this->initialized['description'] = true; + $this->description = $description; + + return $this; + } + + /** + * @return array + */ + public function getDetail(): iterable + { + return $this->detail; + } + + /** + * @param array $detail + */ + public function setDetail(iterable $detail): self + { + $this->initialized['detail'] = true; + $this->detail = $detail; + + return $this; + } +} diff --git a/src/Core/Model/OrganizationsOrganizationAddressListsPostBody.php b/src/Core/Model/OrganizationsOrganizationAddressListsPostBody.php index 1ce0d69f..276c7c90 100644 --- a/src/Core/Model/OrganizationsOrganizationAddressListsPostBody.php +++ b/src/Core/Model/OrganizationsOrganizationAddressListsPostBody.php @@ -28,8 +28,6 @@ public function isInitialized($property): bool */ protected $organization; /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - * * @var AddressListArguments */ protected $properties; @@ -57,17 +55,11 @@ public function setOrganization(OrganizationLookup $organization): self return $this; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function getProperties(): AddressListArguments { return $this->properties; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function setProperties(AddressListArguments $properties): self { $this->initialized['properties'] = true; diff --git a/src/Core/Model/OrganizationsOrganizationApiTokensPostBody.php b/src/Core/Model/OrganizationsOrganizationApiTokensPostBody.php index 961268e9..3071d244 100644 --- a/src/Core/Model/OrganizationsOrganizationApiTokensPostBody.php +++ b/src/Core/Model/OrganizationsOrganizationApiTokensPostBody.php @@ -28,8 +28,6 @@ public function isInitialized($property): bool */ protected $organization; /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - * * @var APITokenArguments */ protected $properties; @@ -57,17 +55,11 @@ public function setOrganization(OrganizationLookup $organization): self return $this; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function getProperties(): APITokenArguments { return $this->properties; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function setProperties(APITokenArguments $properties): self { $this->initialized['properties'] = true; diff --git a/src/Core/Model/OrganizationsOrganizationDisksPostBody.php b/src/Core/Model/OrganizationsOrganizationDisksPostBody.php index 13b6b694..2caa65af 100644 --- a/src/Core/Model/OrganizationsOrganizationDisksPostBody.php +++ b/src/Core/Model/OrganizationsOrganizationDisksPostBody.php @@ -28,8 +28,6 @@ public function isInitialized($property): bool */ protected $organization; /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - * * @var DiskArguments */ protected $properties; @@ -57,17 +55,11 @@ public function setOrganization(OrganizationLookup $organization): self return $this; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function getProperties(): DiskArguments { return $this->properties; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function setProperties(DiskArguments $properties): self { $this->initialized['properties'] = true; diff --git a/src/Core/Model/OrganizationsOrganizationDnsZonesPostBody.php b/src/Core/Model/OrganizationsOrganizationDnsZonesPostBody.php index d1a864a1..403305e5 100644 --- a/src/Core/Model/OrganizationsOrganizationDnsZonesPostBody.php +++ b/src/Core/Model/OrganizationsOrganizationDnsZonesPostBody.php @@ -28,8 +28,6 @@ public function isInitialized($property): bool */ protected $organization; /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - * * @var DNSZoneArguments */ protected $properties; @@ -60,17 +58,11 @@ public function setOrganization(OrganizationLookup $organization): self return $this; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function getProperties(): DNSZoneArguments { return $this->properties; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function setProperties(DNSZoneArguments $properties): self { $this->initialized['properties'] = true; diff --git a/src/Core/Model/OrganizationsOrganizationFileStorageVolumesPostBody.php b/src/Core/Model/OrganizationsOrganizationFileStorageVolumesPostBody.php index 8db27470..e916e2a7 100644 --- a/src/Core/Model/OrganizationsOrganizationFileStorageVolumesPostBody.php +++ b/src/Core/Model/OrganizationsOrganizationFileStorageVolumesPostBody.php @@ -28,8 +28,6 @@ public function isInitialized($property): bool */ protected $organization; /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - * * @var FileStorageVolumeArguments */ protected $properties; @@ -57,17 +55,11 @@ public function setOrganization(OrganizationLookup $organization): self return $this; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function getProperties(): FileStorageVolumeArguments { return $this->properties; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function setProperties(FileStorageVolumeArguments $properties): self { $this->initialized['properties'] = true; diff --git a/src/Core/Model/OrganizationsOrganizationLoadBalancersPostBody.php b/src/Core/Model/OrganizationsOrganizationLoadBalancersPostBody.php index 2ed1cd11..09052e4b 100644 --- a/src/Core/Model/OrganizationsOrganizationLoadBalancersPostBody.php +++ b/src/Core/Model/OrganizationsOrganizationLoadBalancersPostBody.php @@ -28,8 +28,6 @@ public function isInitialized($property): bool */ protected $organization; /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - * * @var LoadBalancerArguments */ protected $properties; @@ -57,17 +55,11 @@ public function setOrganization(OrganizationLookup $organization): self return $this; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function getProperties(): LoadBalancerArguments { return $this->properties; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function setProperties(LoadBalancerArguments $properties): self { $this->initialized['properties'] = true; diff --git a/src/Core/Model/OrganizationsOrganizationObjectStorageAccessKeysGetResponse200.php b/src/Core/Model/OrganizationsOrganizationObjectStorageAccessKeysGetResponse200.php new file mode 100644 index 00000000..6bfcba54 --- /dev/null +++ b/src/Core/Model/OrganizationsOrganizationObjectStorageAccessKeysGetResponse200.php @@ -0,0 +1,70 @@ +initialized); + } + /** + * @var PaginationObject + */ + protected $pagination; + /** + * The object storage access keys for the organization. + * + * @var list + */ + protected $objectStorageAccessKeys; + + public function getPagination(): PaginationObject + { + return $this->pagination; + } + + public function setPagination(PaginationObject $pagination): self + { + $this->initialized['pagination'] = true; + $this->pagination = $pagination; + + return $this; + } + + /** + * The object storage access keys for the organization. + * + * @return list + */ + public function getObjectStorageAccessKeys(): array + { + return $this->objectStorageAccessKeys; + } + + /** + * The object storage access keys for the organization. + * + * @param list $objectStorageAccessKeys + */ + public function setObjectStorageAccessKeys(array $objectStorageAccessKeys): self + { + $this->initialized['objectStorageAccessKeys'] = true; + $this->objectStorageAccessKeys = $objectStorageAccessKeys; + + return $this; + } +} diff --git a/src/Core/Model/OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostBody.php b/src/Core/Model/OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostBody.php new file mode 100644 index 00000000..d15cb020 --- /dev/null +++ b/src/Core/Model/OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostBody.php @@ -0,0 +1,83 @@ +initialized); + } + /** + * All 'organization[]' params are mutually exclusive, only one can be provided. + * + * @var OrganizationLookup + */ + protected $organization; + /** + * @var ObjectStorageClusterLookup + */ + protected $objectStorageCluster; + /** + * @var ObjectStorageAccessKeyArguments + */ + protected $properties; + + /** + * All 'organization[]' params are mutually exclusive, only one can be provided. + */ + public function getOrganization(): OrganizationLookup + { + return $this->organization; + } + + /** + * All 'organization[]' params are mutually exclusive, only one can be provided. + */ + public function setOrganization(OrganizationLookup $organization): self + { + $this->initialized['organization'] = true; + $this->organization = $organization; + + return $this; + } + + public function getObjectStorageCluster(): ObjectStorageClusterLookup + { + return $this->objectStorageCluster; + } + + public function setObjectStorageCluster(ObjectStorageClusterLookup $objectStorageCluster): self + { + $this->initialized['objectStorageCluster'] = true; + $this->objectStorageCluster = $objectStorageCluster; + + return $this; + } + + public function getProperties(): ObjectStorageAccessKeyArguments + { + return $this->properties; + } + + public function setProperties(ObjectStorageAccessKeyArguments $properties): self + { + $this->initialized['properties'] = true; + $this->properties = $properties; + + return $this; + } +} diff --git a/src/Core/Model/OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostResponse201.php b/src/Core/Model/OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostResponse201.php new file mode 100644 index 00000000..6bec3b61 --- /dev/null +++ b/src/Core/Model/OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostResponse201.php @@ -0,0 +1,41 @@ +initialized); + } + /** + * @var ObjectStorageAccessKey + */ + protected $objectStorageAccessKey; + + public function getObjectStorageAccessKey(): ObjectStorageAccessKey + { + return $this->objectStorageAccessKey; + } + + public function setObjectStorageAccessKey(ObjectStorageAccessKey $objectStorageAccessKey): self + { + $this->initialized['objectStorageAccessKey'] = true; + $this->objectStorageAccessKey = $objectStorageAccessKey; + + return $this; + } +} diff --git a/src/Core/Model/OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostBody.php b/src/Core/Model/OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostBody.php index 123ccb7f..02907d60 100644 --- a/src/Core/Model/OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostBody.php +++ b/src/Core/Model/OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostBody.php @@ -28,14 +28,10 @@ public function isInitialized($property): bool */ protected $organization; /** - * All 'object_storage_cluster[]' params are mutually exclusive, only one can be provided. - * * @var ObjectStorageClusterLookup */ protected $objectStorageCluster; /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - * * @var ObjectStorageBucketArguments */ protected $properties; @@ -59,17 +55,11 @@ public function setOrganization(OrganizationLookup $organization): self return $this; } - /** - * All 'object_storage_cluster[]' params are mutually exclusive, only one can be provided. - */ public function getObjectStorageCluster(): ObjectStorageClusterLookup { return $this->objectStorageCluster; } - /** - * All 'object_storage_cluster[]' params are mutually exclusive, only one can be provided. - */ public function setObjectStorageCluster(ObjectStorageClusterLookup $objectStorageCluster): self { $this->initialized['objectStorageCluster'] = true; @@ -78,17 +68,11 @@ public function setObjectStorageCluster(ObjectStorageClusterLookup $objectStorag return $this; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function getProperties(): ObjectStorageBucketArguments { return $this->properties; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function setProperties(ObjectStorageBucketArguments $properties): self { $this->initialized['properties'] = true; diff --git a/src/Core/Model/OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteBody.php b/src/Core/Model/OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteBody.php new file mode 100644 index 00000000..929bdb1b --- /dev/null +++ b/src/Core/Model/OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteBody.php @@ -0,0 +1,66 @@ +initialized); + } + /** + * All 'organization[]' params are mutually exclusive, only one can be provided. + * + * @var OrganizationLookup + */ + protected $organization; + /** + * @var ObjectStorageClusterLookup + */ + protected $objectStorageCluster; + + /** + * All 'organization[]' params are mutually exclusive, only one can be provided. + */ + public function getOrganization(): OrganizationLookup + { + return $this->organization; + } + + /** + * All 'organization[]' params are mutually exclusive, only one can be provided. + */ + public function setOrganization(OrganizationLookup $organization): self + { + $this->initialized['organization'] = true; + $this->organization = $organization; + + return $this; + } + + public function getObjectStorageCluster(): ObjectStorageClusterLookup + { + return $this->objectStorageCluster; + } + + public function setObjectStorageCluster(ObjectStorageClusterLookup $objectStorageCluster): self + { + $this->initialized['objectStorageCluster'] = true; + $this->objectStorageCluster = $objectStorageCluster; + + return $this; + } +} diff --git a/src/Core/Model/OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteResponse200.php b/src/Core/Model/OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteResponse200.php new file mode 100644 index 00000000..f32470da --- /dev/null +++ b/src/Core/Model/OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteResponse200.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var DeleteOrganizationObjectStorageObjectStorageCluster200ResponseTrashObject + */ + protected $trashObject; + /** + * @var ObjectStorageAccount + */ + protected $objectStorageAccount; + + public function getTrashObject(): DeleteOrganizationObjectStorageObjectStorageCluster200ResponseTrashObject + { + return $this->trashObject; + } + + public function setTrashObject(DeleteOrganizationObjectStorageObjectStorageCluster200ResponseTrashObject $trashObject): self + { + $this->initialized['trashObject'] = true; + $this->trashObject = $trashObject; + + return $this; + } + + public function getObjectStorageAccount(): ObjectStorageAccount + { + return $this->objectStorageAccount; + } + + public function setObjectStorageAccount(ObjectStorageAccount $objectStorageAccount): self + { + $this->initialized['objectStorageAccount'] = true; + $this->objectStorageAccount = $objectStorageAccount; + + return $this; + } +} diff --git a/src/Core/Model/OrganizationsOrganizationObjectStorageObjectStorageClusterGetResponse200.php b/src/Core/Model/OrganizationsOrganizationObjectStorageObjectStorageClusterGetResponse200.php new file mode 100644 index 00000000..f7a7928e --- /dev/null +++ b/src/Core/Model/OrganizationsOrganizationObjectStorageObjectStorageClusterGetResponse200.php @@ -0,0 +1,41 @@ +initialized); + } + /** + * @var ObjectStorageAccount + */ + protected $objectStorageAccount; + + public function getObjectStorageAccount(): ObjectStorageAccount + { + return $this->objectStorageAccount; + } + + public function setObjectStorageAccount(ObjectStorageAccount $objectStorageAccount): self + { + $this->initialized['objectStorageAccount'] = true; + $this->objectStorageAccount = $objectStorageAccount; + + return $this; + } +} diff --git a/src/Core/Model/OrganizationsOrganizationObjectStorageObjectStorageClusterPostBody.php b/src/Core/Model/OrganizationsOrganizationObjectStorageObjectStorageClusterPostBody.php new file mode 100644 index 00000000..17f31265 --- /dev/null +++ b/src/Core/Model/OrganizationsOrganizationObjectStorageObjectStorageClusterPostBody.php @@ -0,0 +1,66 @@ +initialized); + } + /** + * All 'organization[]' params are mutually exclusive, only one can be provided. + * + * @var OrganizationLookup + */ + protected $organization; + /** + * @var ObjectStorageClusterLookup + */ + protected $objectStorageCluster; + + /** + * All 'organization[]' params are mutually exclusive, only one can be provided. + */ + public function getOrganization(): OrganizationLookup + { + return $this->organization; + } + + /** + * All 'organization[]' params are mutually exclusive, only one can be provided. + */ + public function setOrganization(OrganizationLookup $organization): self + { + $this->initialized['organization'] = true; + $this->organization = $organization; + + return $this; + } + + public function getObjectStorageCluster(): ObjectStorageClusterLookup + { + return $this->objectStorageCluster; + } + + public function setObjectStorageCluster(ObjectStorageClusterLookup $objectStorageCluster): self + { + $this->initialized['objectStorageCluster'] = true; + $this->objectStorageCluster = $objectStorageCluster; + + return $this; + } +} diff --git a/src/Core/Model/OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201.php b/src/Core/Model/OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201.php new file mode 100644 index 00000000..73a7c178 --- /dev/null +++ b/src/Core/Model/OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201.php @@ -0,0 +1,49 @@ +initialized); + } + /** + * The object storage account that was created. + * + * @var OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201ObjectStorageAccount + */ + protected $objectStorageAccount; + + /** + * The object storage account that was created. + */ + public function getObjectStorageAccount(): OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201ObjectStorageAccount + { + return $this->objectStorageAccount; + } + + /** + * The object storage account that was created. + */ + public function setObjectStorageAccount(OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201ObjectStorageAccount $objectStorageAccount): self + { + $this->initialized['objectStorageAccount'] = true; + $this->objectStorageAccount = $objectStorageAccount; + + return $this; + } +} diff --git a/src/Core/Model/OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201ObjectStorageAccount.php b/src/Core/Model/OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201ObjectStorageAccount.php new file mode 100644 index 00000000..f70ca561 --- /dev/null +++ b/src/Core/Model/OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201ObjectStorageAccount.php @@ -0,0 +1,134 @@ +initialized); + } + /** + * @var string + */ + protected $region; + /** + * @var int + */ + protected $createdAt; + /** + * @var string + */ + protected $provisioningState; + /** + * The total storage used in bytes (updated periodically). + * + * @var int + */ + protected $size; + /** + * @var int + */ + protected $bucketCount; + /** + * @var DataCenter + */ + protected $dataCenter; + + public function getRegion(): string + { + return $this->region; + } + + public function setRegion(string $region): self + { + $this->initialized['region'] = true; + $this->region = $region; + + return $this; + } + + public function getCreatedAt(): int + { + return $this->createdAt; + } + + public function setCreatedAt(int $createdAt): self + { + $this->initialized['createdAt'] = true; + $this->createdAt = $createdAt; + + return $this; + } + + public function getProvisioningState(): string + { + return $this->provisioningState; + } + + public function setProvisioningState(string $provisioningState): self + { + $this->initialized['provisioningState'] = true; + $this->provisioningState = $provisioningState; + + return $this; + } + + /** + * The total storage used in bytes (updated periodically). + */ + public function getSize(): int + { + return $this->size; + } + + /** + * The total storage used in bytes (updated periodically). + */ + public function setSize(int $size): self + { + $this->initialized['size'] = true; + $this->size = $size; + + return $this; + } + + public function getBucketCount(): int + { + return $this->bucketCount; + } + + public function setBucketCount(int $bucketCount): self + { + $this->initialized['bucketCount'] = true; + $this->bucketCount = $bucketCount; + + return $this; + } + + public function getDataCenter(): DataCenter + { + return $this->dataCenter; + } + + public function setDataCenter(DataCenter $dataCenter): self + { + $this->initialized['dataCenter'] = true; + $this->dataCenter = $dataCenter; + + return $this; + } +} diff --git a/src/Core/Model/OrganizationsOrganizationSecurityGroupsPostBody.php b/src/Core/Model/OrganizationsOrganizationSecurityGroupsPostBody.php index 1fc9ff31..d6614901 100644 --- a/src/Core/Model/OrganizationsOrganizationSecurityGroupsPostBody.php +++ b/src/Core/Model/OrganizationsOrganizationSecurityGroupsPostBody.php @@ -28,8 +28,6 @@ public function isInitialized($property): bool */ protected $organization; /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - * * @var SecurityGroupArguments */ protected $properties; @@ -57,17 +55,11 @@ public function setOrganization(OrganizationLookup $organization): self return $this; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function getProperties(): SecurityGroupArguments { return $this->properties; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function setProperties(SecurityGroupArguments $properties): self { $this->initialized['properties'] = true; diff --git a/src/Core/Model/OrganizationsOrganizationSshKeysPostBody.php b/src/Core/Model/OrganizationsOrganizationSshKeysPostBody.php index b3bb79ff..17396fd3 100644 --- a/src/Core/Model/OrganizationsOrganizationSshKeysPostBody.php +++ b/src/Core/Model/OrganizationsOrganizationSshKeysPostBody.php @@ -28,8 +28,6 @@ public function isInitialized($property): bool */ protected $organization; /** - * All 'ssh_key[]' params are mutually exclusive, only one can be provided. - * * @var AuthSSHKeyProperties */ protected $sshKey; @@ -53,17 +51,11 @@ public function setOrganization(OrganizationLookup $organization): self return $this; } - /** - * All 'ssh_key[]' params are mutually exclusive, only one can be provided. - */ public function getSshKey(): AuthSSHKeyProperties { return $this->sshKey; } - /** - * All 'ssh_key[]' params are mutually exclusive, only one can be provided. - */ public function setSshKey(AuthSSHKeyProperties $sshKey): self { $this->initialized['sshKey'] = true; diff --git a/src/Core/Model/OrganizationsOrganizationTagsPostBody.php b/src/Core/Model/OrganizationsOrganizationTagsPostBody.php index 63976889..3856b634 100644 --- a/src/Core/Model/OrganizationsOrganizationTagsPostBody.php +++ b/src/Core/Model/OrganizationsOrganizationTagsPostBody.php @@ -28,8 +28,6 @@ public function isInitialized($property): bool */ protected $organization; /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - * * @var TagArguments */ protected $properties; @@ -53,17 +51,11 @@ public function setOrganization(OrganizationLookup $organization): self return $this; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function getProperties(): TagArguments { return $this->properties; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function setProperties(TagArguments $properties): self { $this->initialized['properties'] = true; diff --git a/src/Core/Model/OrganizationsOrganizationVirtualMachineGroupsPostBody.php b/src/Core/Model/OrganizationsOrganizationVirtualMachineGroupsPostBody.php index a4b42c84..e59f3c97 100644 --- a/src/Core/Model/OrganizationsOrganizationVirtualMachineGroupsPostBody.php +++ b/src/Core/Model/OrganizationsOrganizationVirtualMachineGroupsPostBody.php @@ -28,8 +28,6 @@ public function isInitialized($property): bool */ protected $organization; /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - * * @var VirtualMachineGroupArguments */ protected $properties; @@ -53,17 +51,11 @@ public function setOrganization(OrganizationLookup $organization): self return $this; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function getProperties(): VirtualMachineGroupArguments { return $this->properties; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function setProperties(VirtualMachineGroupArguments $properties): self { $this->initialized['properties'] = true; diff --git a/src/Core/Model/OrganizationsOrganizationVirtualNetworksPostBody.php b/src/Core/Model/OrganizationsOrganizationVirtualNetworksPostBody.php index 33336a7e..34442c2f 100644 --- a/src/Core/Model/OrganizationsOrganizationVirtualNetworksPostBody.php +++ b/src/Core/Model/OrganizationsOrganizationVirtualNetworksPostBody.php @@ -34,8 +34,6 @@ public function isInitialized($property): bool */ protected $dataCenter; /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - * * @var VirtualNetworkArguments */ protected $properties; @@ -78,17 +76,11 @@ public function setDataCenter(DataCenterLookup $dataCenter): self return $this; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function getProperties(): VirtualNetworkArguments { return $this->properties; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function setProperties(VirtualNetworkArguments $properties): self { $this->initialized['properties'] = true; diff --git a/src/Core/Model/PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterface.php b/src/Core/Model/PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterface.php index dfd4d422..c5bd430a 100644 --- a/src/Core/Model/PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterface.php +++ b/src/Core/Model/PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterface.php @@ -34,9 +34,13 @@ public function isInitialized($property): bool */ protected $name; /** - * @var PostVirtualMachineNetworkInterfaceAllocateIPPartNetwork + * @var PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNetwork|null */ protected $network; + /** + * @var PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceVirtualNetwork|null + */ + protected $virtualNetwork; /** * @var string */ @@ -89,12 +93,12 @@ public function setName(string $name): self return $this; } - public function getNetwork(): PostVirtualMachineNetworkInterfaceAllocateIPPartNetwork + public function getNetwork(): ?PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNetwork { return $this->network; } - public function setNetwork(PostVirtualMachineNetworkInterfaceAllocateIPPartNetwork $network): self + public function setNetwork(?PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNetwork $network): self { $this->initialized['network'] = true; $this->network = $network; @@ -102,6 +106,19 @@ public function setNetwork(PostVirtualMachineNetworkInterfaceAllocateIPPartNetwo return $this; } + public function getVirtualNetwork(): ?PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceVirtualNetwork + { + return $this->virtualNetwork; + } + + public function setVirtualNetwork(?PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceVirtualNetwork $virtualNetwork): self + { + $this->initialized['virtualNetwork'] = true; + $this->virtualNetwork = $virtualNetwork; + + return $this; + } + public function getMacAddress(): string { return $this->macAddress; diff --git a/src/Core/Model/PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNetwork.php b/src/Core/Model/PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNetwork.php new file mode 100644 index 00000000..23d34304 --- /dev/null +++ b/src/Core/Model/PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNetwork.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } +} diff --git a/src/Core/Model/PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceVirtualNetwork.php b/src/Core/Model/PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceVirtualNetwork.php new file mode 100644 index 00000000..c4524acd --- /dev/null +++ b/src/Core/Model/PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceVirtualNetwork.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } +} diff --git a/src/Core/Model/PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualNetwork.php b/src/Core/Model/PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualNetwork.php new file mode 100644 index 00000000..ebf88bff --- /dev/null +++ b/src/Core/Model/PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualNetwork.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } +} diff --git a/src/Core/Model/PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterface.php b/src/Core/Model/PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterface.php new file mode 100644 index 00000000..86b8753e --- /dev/null +++ b/src/Core/Model/PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterface.php @@ -0,0 +1,183 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var PostVirtualMachineNetworkInterfaceAttachPartVirtualMachine + */ + protected $virtualMachine; + /** + * @var string + */ + protected $name; + /** + * @var PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNetwork|null + */ + protected $network; + /** + * @var PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork|null + */ + protected $virtualNetwork; + /** + * @var string + */ + protected $macAddress; + /** + * @var string + */ + protected $state; + /** + * @var list + */ + protected $ipAddresses; + /** + * @var PostVirtualMachineNetworkInterfaceAttachPartSpeedProfile + */ + protected $speedProfile; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getVirtualMachine(): PostVirtualMachineNetworkInterfaceAttachPartVirtualMachine + { + return $this->virtualMachine; + } + + public function setVirtualMachine(PostVirtualMachineNetworkInterfaceAttachPartVirtualMachine $virtualMachine): self + { + $this->initialized['virtualMachine'] = true; + $this->virtualMachine = $virtualMachine; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } + + public function getNetwork(): ?PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNetwork + { + return $this->network; + } + + public function setNetwork(?PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNetwork $network): self + { + $this->initialized['network'] = true; + $this->network = $network; + + return $this; + } + + public function getVirtualNetwork(): ?PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork + { + return $this->virtualNetwork; + } + + public function setVirtualNetwork(?PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork $virtualNetwork): self + { + $this->initialized['virtualNetwork'] = true; + $this->virtualNetwork = $virtualNetwork; + + return $this; + } + + public function getMacAddress(): string + { + return $this->macAddress; + } + + public function setMacAddress(string $macAddress): self + { + $this->initialized['macAddress'] = true; + $this->macAddress = $macAddress; + + return $this; + } + + public function getState(): string + { + return $this->state; + } + + public function setState(string $state): self + { + $this->initialized['state'] = true; + $this->state = $state; + + return $this; + } + + /** + * @return list + */ + public function getIpAddresses(): array + { + return $this->ipAddresses; + } + + /** + * @param list $ipAddresses + */ + public function setIpAddresses(array $ipAddresses): self + { + $this->initialized['ipAddresses'] = true; + $this->ipAddresses = $ipAddresses; + + return $this; + } + + public function getSpeedProfile(): PostVirtualMachineNetworkInterfaceAttachPartSpeedProfile + { + return $this->speedProfile; + } + + public function setSpeedProfile(PostVirtualMachineNetworkInterfaceAttachPartSpeedProfile $speedProfile): self + { + $this->initialized['speedProfile'] = true; + $this->speedProfile = $speedProfile; + + return $this; + } +} diff --git a/src/Core/Model/PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNetwork.php b/src/Core/Model/PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNetwork.php new file mode 100644 index 00000000..44ee0aa2 --- /dev/null +++ b/src/Core/Model/PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNetwork.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } +} diff --git a/src/Core/Model/PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork.php b/src/Core/Model/PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork.php new file mode 100644 index 00000000..0c25474b --- /dev/null +++ b/src/Core/Model/PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } +} diff --git a/src/Core/Model/PostVirtualMachineNetworkInterfaceAttachPartIPAddresses.php b/src/Core/Model/PostVirtualMachineNetworkInterfaceAttachPartIPAddresses.php new file mode 100644 index 00000000..97aa5d46 --- /dev/null +++ b/src/Core/Model/PostVirtualMachineNetworkInterfaceAttachPartIPAddresses.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $address; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getAddress(): string + { + return $this->address; + } + + public function setAddress(string $address): self + { + $this->initialized['address'] = true; + $this->address = $address; + + return $this; + } +} diff --git a/src/Core/Model/PostVirtualMachineNetworkInterfaceAttachPartNetwork.php b/src/Core/Model/PostVirtualMachineNetworkInterfaceAttachPartNetwork.php new file mode 100644 index 00000000..5eab72b4 --- /dev/null +++ b/src/Core/Model/PostVirtualMachineNetworkInterfaceAttachPartNetwork.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } +} diff --git a/src/Core/Model/PostVirtualMachineNetworkInterfaceAttachPartSpeedProfile.php b/src/Core/Model/PostVirtualMachineNetworkInterfaceAttachPartSpeedProfile.php new file mode 100644 index 00000000..926ae925 --- /dev/null +++ b/src/Core/Model/PostVirtualMachineNetworkInterfaceAttachPartSpeedProfile.php @@ -0,0 +1,75 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + /** + * @var string + */ + protected $permalink; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } + + public function getPermalink(): string + { + return $this->permalink; + } + + public function setPermalink(string $permalink): self + { + $this->initialized['permalink'] = true; + $this->permalink = $permalink; + + return $this; + } +} diff --git a/src/Core/Model/PostVirtualMachineNetworkInterfaceAttachPartVirtualMachine.php b/src/Core/Model/PostVirtualMachineNetworkInterfaceAttachPartVirtualMachine.php new file mode 100644 index 00000000..4589c166 --- /dev/null +++ b/src/Core/Model/PostVirtualMachineNetworkInterfaceAttachPartVirtualMachine.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } +} diff --git a/src/Core/Model/PostVirtualMachineNetworkInterfaceAttachPartVirtualNetwork.php b/src/Core/Model/PostVirtualMachineNetworkInterfaceAttachPartVirtualNetwork.php new file mode 100644 index 00000000..713807c2 --- /dev/null +++ b/src/Core/Model/PostVirtualMachineNetworkInterfaceAttachPartVirtualNetwork.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } +} diff --git a/src/Core/Model/PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterface.php b/src/Core/Model/PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterface.php new file mode 100644 index 00000000..d151c6ae --- /dev/null +++ b/src/Core/Model/PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterface.php @@ -0,0 +1,183 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var PostVirtualMachineNetworkInterfaceDetachPartVirtualMachine + */ + protected $virtualMachine; + /** + * @var string + */ + protected $name; + /** + * @var PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNetwork|null + */ + protected $network; + /** + * @var PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork|null + */ + protected $virtualNetwork; + /** + * @var string + */ + protected $macAddress; + /** + * @var string + */ + protected $state; + /** + * @var list + */ + protected $ipAddresses; + /** + * @var PostVirtualMachineNetworkInterfaceDetachPartSpeedProfile + */ + protected $speedProfile; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getVirtualMachine(): PostVirtualMachineNetworkInterfaceDetachPartVirtualMachine + { + return $this->virtualMachine; + } + + public function setVirtualMachine(PostVirtualMachineNetworkInterfaceDetachPartVirtualMachine $virtualMachine): self + { + $this->initialized['virtualMachine'] = true; + $this->virtualMachine = $virtualMachine; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } + + public function getNetwork(): ?PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNetwork + { + return $this->network; + } + + public function setNetwork(?PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNetwork $network): self + { + $this->initialized['network'] = true; + $this->network = $network; + + return $this; + } + + public function getVirtualNetwork(): ?PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork + { + return $this->virtualNetwork; + } + + public function setVirtualNetwork(?PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork $virtualNetwork): self + { + $this->initialized['virtualNetwork'] = true; + $this->virtualNetwork = $virtualNetwork; + + return $this; + } + + public function getMacAddress(): string + { + return $this->macAddress; + } + + public function setMacAddress(string $macAddress): self + { + $this->initialized['macAddress'] = true; + $this->macAddress = $macAddress; + + return $this; + } + + public function getState(): string + { + return $this->state; + } + + public function setState(string $state): self + { + $this->initialized['state'] = true; + $this->state = $state; + + return $this; + } + + /** + * @return list + */ + public function getIpAddresses(): array + { + return $this->ipAddresses; + } + + /** + * @param list $ipAddresses + */ + public function setIpAddresses(array $ipAddresses): self + { + $this->initialized['ipAddresses'] = true; + $this->ipAddresses = $ipAddresses; + + return $this; + } + + public function getSpeedProfile(): PostVirtualMachineNetworkInterfaceDetachPartSpeedProfile + { + return $this->speedProfile; + } + + public function setSpeedProfile(PostVirtualMachineNetworkInterfaceDetachPartSpeedProfile $speedProfile): self + { + $this->initialized['speedProfile'] = true; + $this->speedProfile = $speedProfile; + + return $this; + } +} diff --git a/src/Core/Model/PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNetwork.php b/src/Core/Model/PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNetwork.php new file mode 100644 index 00000000..9d69ec70 --- /dev/null +++ b/src/Core/Model/PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNetwork.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } +} diff --git a/src/Core/Model/PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork.php b/src/Core/Model/PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork.php new file mode 100644 index 00000000..6250a452 --- /dev/null +++ b/src/Core/Model/PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } +} diff --git a/src/Core/Model/PostVirtualMachineNetworkInterfaceDetachPartIPAddresses.php b/src/Core/Model/PostVirtualMachineNetworkInterfaceDetachPartIPAddresses.php new file mode 100644 index 00000000..fa88c0fd --- /dev/null +++ b/src/Core/Model/PostVirtualMachineNetworkInterfaceDetachPartIPAddresses.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $address; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getAddress(): string + { + return $this->address; + } + + public function setAddress(string $address): self + { + $this->initialized['address'] = true; + $this->address = $address; + + return $this; + } +} diff --git a/src/Core/Model/PostVirtualMachineNetworkInterfaceDetachPartNetwork.php b/src/Core/Model/PostVirtualMachineNetworkInterfaceDetachPartNetwork.php new file mode 100644 index 00000000..b5fa34ff --- /dev/null +++ b/src/Core/Model/PostVirtualMachineNetworkInterfaceDetachPartNetwork.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } +} diff --git a/src/Core/Model/PostVirtualMachineNetworkInterfaceDetachPartSpeedProfile.php b/src/Core/Model/PostVirtualMachineNetworkInterfaceDetachPartSpeedProfile.php new file mode 100644 index 00000000..73663723 --- /dev/null +++ b/src/Core/Model/PostVirtualMachineNetworkInterfaceDetachPartSpeedProfile.php @@ -0,0 +1,75 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + /** + * @var string + */ + protected $permalink; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } + + public function getPermalink(): string + { + return $this->permalink; + } + + public function setPermalink(string $permalink): self + { + $this->initialized['permalink'] = true; + $this->permalink = $permalink; + + return $this; + } +} diff --git a/src/Core/Model/PostVirtualMachineNetworkInterfaceDetachPartVirtualMachine.php b/src/Core/Model/PostVirtualMachineNetworkInterfaceDetachPartVirtualMachine.php new file mode 100644 index 00000000..03090b8d --- /dev/null +++ b/src/Core/Model/PostVirtualMachineNetworkInterfaceDetachPartVirtualMachine.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } +} diff --git a/src/Core/Model/PostVirtualMachineNetworkInterfaceDetachPartVirtualNetwork.php b/src/Core/Model/PostVirtualMachineNetworkInterfaceDetachPartVirtualNetwork.php new file mode 100644 index 00000000..18f984fa --- /dev/null +++ b/src/Core/Model/PostVirtualMachineNetworkInterfaceDetachPartVirtualNetwork.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } +} diff --git a/src/Core/Model/PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterface.php b/src/Core/Model/PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterface.php new file mode 100644 index 00000000..c082a3a7 --- /dev/null +++ b/src/Core/Model/PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterface.php @@ -0,0 +1,183 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var PostVirtualMachineNetworkInterfacesPartVirtualMachine + */ + protected $virtualMachine; + /** + * @var string + */ + protected $name; + /** + * @var PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNetwork|null + */ + protected $network; + /** + * @var PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceVirtualNetwork|null + */ + protected $virtualNetwork; + /** + * @var string + */ + protected $macAddress; + /** + * @var string + */ + protected $state; + /** + * @var list + */ + protected $ipAddresses; + /** + * @var PostVirtualMachineNetworkInterfacesPartSpeedProfile + */ + protected $speedProfile; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getVirtualMachine(): PostVirtualMachineNetworkInterfacesPartVirtualMachine + { + return $this->virtualMachine; + } + + public function setVirtualMachine(PostVirtualMachineNetworkInterfacesPartVirtualMachine $virtualMachine): self + { + $this->initialized['virtualMachine'] = true; + $this->virtualMachine = $virtualMachine; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } + + public function getNetwork(): ?PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNetwork + { + return $this->network; + } + + public function setNetwork(?PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNetwork $network): self + { + $this->initialized['network'] = true; + $this->network = $network; + + return $this; + } + + public function getVirtualNetwork(): ?PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceVirtualNetwork + { + return $this->virtualNetwork; + } + + public function setVirtualNetwork(?PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceVirtualNetwork $virtualNetwork): self + { + $this->initialized['virtualNetwork'] = true; + $this->virtualNetwork = $virtualNetwork; + + return $this; + } + + public function getMacAddress(): string + { + return $this->macAddress; + } + + public function setMacAddress(string $macAddress): self + { + $this->initialized['macAddress'] = true; + $this->macAddress = $macAddress; + + return $this; + } + + public function getState(): string + { + return $this->state; + } + + public function setState(string $state): self + { + $this->initialized['state'] = true; + $this->state = $state; + + return $this; + } + + /** + * @return list + */ + public function getIpAddresses(): array + { + return $this->ipAddresses; + } + + /** + * @param list $ipAddresses + */ + public function setIpAddresses(array $ipAddresses): self + { + $this->initialized['ipAddresses'] = true; + $this->ipAddresses = $ipAddresses; + + return $this; + } + + public function getSpeedProfile(): PostVirtualMachineNetworkInterfacesPartSpeedProfile + { + return $this->speedProfile; + } + + public function setSpeedProfile(PostVirtualMachineNetworkInterfacesPartSpeedProfile $speedProfile): self + { + $this->initialized['speedProfile'] = true; + $this->speedProfile = $speedProfile; + + return $this; + } +} diff --git a/src/Core/Model/PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNetwork.php b/src/Core/Model/PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNetwork.php new file mode 100644 index 00000000..3c77d3a3 --- /dev/null +++ b/src/Core/Model/PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNetwork.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } +} diff --git a/src/Core/Model/PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceVirtualNetwork.php b/src/Core/Model/PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceVirtualNetwork.php new file mode 100644 index 00000000..dce799a2 --- /dev/null +++ b/src/Core/Model/PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceVirtualNetwork.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } +} diff --git a/src/Core/Model/PostVirtualMachineNetworkInterfacesPartIPAddresses.php b/src/Core/Model/PostVirtualMachineNetworkInterfacesPartIPAddresses.php new file mode 100644 index 00000000..0ec1b663 --- /dev/null +++ b/src/Core/Model/PostVirtualMachineNetworkInterfacesPartIPAddresses.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $address; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getAddress(): string + { + return $this->address; + } + + public function setAddress(string $address): self + { + $this->initialized['address'] = true; + $this->address = $address; + + return $this; + } +} diff --git a/src/Core/Model/PostVirtualMachineNetworkInterfacesPartNetwork.php b/src/Core/Model/PostVirtualMachineNetworkInterfacesPartNetwork.php new file mode 100644 index 00000000..124996ce --- /dev/null +++ b/src/Core/Model/PostVirtualMachineNetworkInterfacesPartNetwork.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } +} diff --git a/src/Core/Model/PostVirtualMachineNetworkInterfacesPartSpeedProfile.php b/src/Core/Model/PostVirtualMachineNetworkInterfacesPartSpeedProfile.php new file mode 100644 index 00000000..dcd5071a --- /dev/null +++ b/src/Core/Model/PostVirtualMachineNetworkInterfacesPartSpeedProfile.php @@ -0,0 +1,75 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + /** + * @var string + */ + protected $permalink; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } + + public function getPermalink(): string + { + return $this->permalink; + } + + public function setPermalink(string $permalink): self + { + $this->initialized['permalink'] = true; + $this->permalink = $permalink; + + return $this; + } +} diff --git a/src/Core/Model/PostVirtualMachineNetworkInterfacesPartVirtualMachine.php b/src/Core/Model/PostVirtualMachineNetworkInterfacesPartVirtualMachine.php new file mode 100644 index 00000000..594a94f1 --- /dev/null +++ b/src/Core/Model/PostVirtualMachineNetworkInterfacesPartVirtualMachine.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } +} diff --git a/src/Core/Model/PostVirtualMachineNetworkInterfacesPartVirtualNetwork.php b/src/Core/Model/PostVirtualMachineNetworkInterfacesPartVirtualNetwork.php new file mode 100644 index 00000000..67abede5 --- /dev/null +++ b/src/Core/Model/PostVirtualMachineNetworkInterfacesPartVirtualNetwork.php @@ -0,0 +1,58 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } +} diff --git a/src/Core/Model/ResponseObjectStorageAccessKeyNotFoundResponse.php b/src/Core/Model/ResponseObjectStorageAccessKeyNotFoundResponse.php new file mode 100644 index 00000000..c5e18ec1 --- /dev/null +++ b/src/Core/Model/ResponseObjectStorageAccessKeyNotFoundResponse.php @@ -0,0 +1,81 @@ +initialized); + } + /** + * @var string + */ + protected $code; + /** + * @var string + */ + protected $description; + /** + * @var array + */ + protected $detail; + + public function getCode(): string + { + return $this->code; + } + + public function setCode(string $code): self + { + $this->initialized['code'] = true; + $this->code = $code; + + return $this; + } + + public function getDescription(): string + { + return $this->description; + } + + public function setDescription(string $description): self + { + $this->initialized['description'] = true; + $this->description = $description; + + return $this; + } + + /** + * @return array + */ + public function getDetail(): iterable + { + return $this->detail; + } + + /** + * @param array $detail + */ + public function setDetail(iterable $detail): self + { + $this->initialized['detail'] = true; + $this->detail = $detail; + + return $this; + } +} diff --git a/src/Core/Model/ResponseObjectStorageProvisioningErrorResponse.php b/src/Core/Model/ResponseObjectStorageProvisioningErrorResponse.php new file mode 100644 index 00000000..cf7ca302 --- /dev/null +++ b/src/Core/Model/ResponseObjectStorageProvisioningErrorResponse.php @@ -0,0 +1,81 @@ +initialized); + } + /** + * @var string + */ + protected $code; + /** + * @var string + */ + protected $description; + /** + * @var array + */ + protected $detail; + + public function getCode(): string + { + return $this->code; + } + + public function setCode(string $code): self + { + $this->initialized['code'] = true; + $this->code = $code; + + return $this; + } + + public function getDescription(): string + { + return $this->description; + } + + public function setDescription(string $description): self + { + $this->initialized['description'] = true; + $this->description = $description; + + return $this; + } + + /** + * @return array + */ + public function getDetail(): iterable + { + return $this->detail; + } + + /** + * @param array $detail + */ + public function setDetail(iterable $detail): self + { + $this->initialized['detail'] = true; + $this->detail = $detail; + + return $this; + } +} diff --git a/src/Core/Model/ResponseVirtualMachineNetworkInterfaceAlreadyAttachedResponse.php b/src/Core/Model/ResponseVirtualMachineNetworkInterfaceAlreadyAttachedResponse.php new file mode 100644 index 00000000..ee5be9e3 --- /dev/null +++ b/src/Core/Model/ResponseVirtualMachineNetworkInterfaceAlreadyAttachedResponse.php @@ -0,0 +1,81 @@ +initialized); + } + /** + * @var string + */ + protected $code; + /** + * @var string + */ + protected $description; + /** + * @var array + */ + protected $detail; + + public function getCode(): string + { + return $this->code; + } + + public function setCode(string $code): self + { + $this->initialized['code'] = true; + $this->code = $code; + + return $this; + } + + public function getDescription(): string + { + return $this->description; + } + + public function setDescription(string $description): self + { + $this->initialized['description'] = true; + $this->description = $description; + + return $this; + } + + /** + * @return array + */ + public function getDetail(): iterable + { + return $this->detail; + } + + /** + * @param array $detail + */ + public function setDetail(iterable $detail): self + { + $this->initialized['detail'] = true; + $this->detail = $detail; + + return $this; + } +} diff --git a/src/Core/Model/ResponseVirtualMachineNetworkInterfaceAlreadyDetachedResponse.php b/src/Core/Model/ResponseVirtualMachineNetworkInterfaceAlreadyDetachedResponse.php new file mode 100644 index 00000000..2760da7a --- /dev/null +++ b/src/Core/Model/ResponseVirtualMachineNetworkInterfaceAlreadyDetachedResponse.php @@ -0,0 +1,81 @@ +initialized); + } + /** + * @var string + */ + protected $code; + /** + * @var string + */ + protected $description; + /** + * @var array + */ + protected $detail; + + public function getCode(): string + { + return $this->code; + } + + public function setCode(string $code): self + { + $this->initialized['code'] = true; + $this->code = $code; + + return $this; + } + + public function getDescription(): string + { + return $this->description; + } + + public function setDescription(string $description): self + { + $this->initialized['description'] = true; + $this->description = $description; + + return $this; + } + + /** + * @return array + */ + public function getDetail(): iterable + { + return $this->detail; + } + + /** + * @param array $detail + */ + public function setDetail(iterable $detail): self + { + $this->initialized['detail'] = true; + $this->detail = $detail; + + return $this; + } +} diff --git a/src/Core/Model/SecurityGroupsRulesSecurityGroupRuleDeleteBody.php b/src/Core/Model/SecurityGroupsRulesSecurityGroupRuleDeleteBody.php index 57ed64b6..1d6d8978 100644 --- a/src/Core/Model/SecurityGroupsRulesSecurityGroupRuleDeleteBody.php +++ b/src/Core/Model/SecurityGroupsRulesSecurityGroupRuleDeleteBody.php @@ -22,23 +22,15 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'security_group_rule[]' params are mutually exclusive, only one can be provided. - * * @var SecurityGroupRuleLookup */ protected $securityGroupRule; - /** - * All 'security_group_rule[]' params are mutually exclusive, only one can be provided. - */ public function getSecurityGroupRule(): SecurityGroupRuleLookup { return $this->securityGroupRule; } - /** - * All 'security_group_rule[]' params are mutually exclusive, only one can be provided. - */ public function setSecurityGroupRule(SecurityGroupRuleLookup $securityGroupRule): self { $this->initialized['securityGroupRule'] = true; diff --git a/src/Core/Model/SecurityGroupsRulesSecurityGroupRulePatchBody.php b/src/Core/Model/SecurityGroupsRulesSecurityGroupRulePatchBody.php index 5138bcb9..484afa40 100644 --- a/src/Core/Model/SecurityGroupsRulesSecurityGroupRulePatchBody.php +++ b/src/Core/Model/SecurityGroupsRulesSecurityGroupRulePatchBody.php @@ -22,29 +22,19 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'security_group_rule[]' params are mutually exclusive, only one can be provided. - * * @var SecurityGroupRuleLookup */ protected $securityGroupRule; /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - * * @var SecurityGroupRuleArguments */ protected $properties; - /** - * All 'security_group_rule[]' params are mutually exclusive, only one can be provided. - */ public function getSecurityGroupRule(): SecurityGroupRuleLookup { return $this->securityGroupRule; } - /** - * All 'security_group_rule[]' params are mutually exclusive, only one can be provided. - */ public function setSecurityGroupRule(SecurityGroupRuleLookup $securityGroupRule): self { $this->initialized['securityGroupRule'] = true; @@ -53,17 +43,11 @@ public function setSecurityGroupRule(SecurityGroupRuleLookup $securityGroupRule) return $this; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function getProperties(): SecurityGroupRuleArguments { return $this->properties; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function setProperties(SecurityGroupRuleArguments $properties): self { $this->initialized['properties'] = true; diff --git a/src/Core/Model/SecurityGroupsSecurityGroupDeleteBody.php b/src/Core/Model/SecurityGroupsSecurityGroupDeleteBody.php index aa0e15b6..ac9c0a08 100644 --- a/src/Core/Model/SecurityGroupsSecurityGroupDeleteBody.php +++ b/src/Core/Model/SecurityGroupsSecurityGroupDeleteBody.php @@ -22,23 +22,15 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'security_group[]' params are mutually exclusive, only one can be provided. - * * @var SecurityGroupLookup */ protected $securityGroup; - /** - * All 'security_group[]' params are mutually exclusive, only one can be provided. - */ public function getSecurityGroup(): SecurityGroupLookup { return $this->securityGroup; } - /** - * All 'security_group[]' params are mutually exclusive, only one can be provided. - */ public function setSecurityGroup(SecurityGroupLookup $securityGroup): self { $this->initialized['securityGroup'] = true; diff --git a/src/Core/Model/SecurityGroupsSecurityGroupPatchBody.php b/src/Core/Model/SecurityGroupsSecurityGroupPatchBody.php index 45857389..6f25431f 100644 --- a/src/Core/Model/SecurityGroupsSecurityGroupPatchBody.php +++ b/src/Core/Model/SecurityGroupsSecurityGroupPatchBody.php @@ -22,14 +22,10 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'security_group[]' params are mutually exclusive, only one can be provided. - * * @var SecurityGroupLookup */ protected $securityGroup; /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - * * @var SecurityGroupArguments */ protected $properties; @@ -38,17 +34,11 @@ public function isInitialized($property): bool */ protected $annotations; - /** - * All 'security_group[]' params are mutually exclusive, only one can be provided. - */ public function getSecurityGroup(): SecurityGroupLookup { return $this->securityGroup; } - /** - * All 'security_group[]' params are mutually exclusive, only one can be provided. - */ public function setSecurityGroup(SecurityGroupLookup $securityGroup): self { $this->initialized['securityGroup'] = true; @@ -57,17 +47,11 @@ public function setSecurityGroup(SecurityGroupLookup $securityGroup): self return $this; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function getProperties(): SecurityGroupArguments { return $this->properties; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function setProperties(SecurityGroupArguments $properties): self { $this->initialized['properties'] = true; diff --git a/src/Core/Model/SecurityGroupsSecurityGroupRulesPostBody.php b/src/Core/Model/SecurityGroupsSecurityGroupRulesPostBody.php index 7f65b195..aeeb6b00 100644 --- a/src/Core/Model/SecurityGroupsSecurityGroupRulesPostBody.php +++ b/src/Core/Model/SecurityGroupsSecurityGroupRulesPostBody.php @@ -22,29 +22,19 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'security_group[]' params are mutually exclusive, only one can be provided. - * * @var SecurityGroupLookup */ protected $securityGroup; /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - * * @var SecurityGroupRuleArguments */ protected $properties; - /** - * All 'security_group[]' params are mutually exclusive, only one can be provided. - */ public function getSecurityGroup(): SecurityGroupLookup { return $this->securityGroup; } - /** - * All 'security_group[]' params are mutually exclusive, only one can be provided. - */ public function setSecurityGroup(SecurityGroupLookup $securityGroup): self { $this->initialized['securityGroup'] = true; @@ -53,17 +43,11 @@ public function setSecurityGroup(SecurityGroupLookup $securityGroup): self return $this; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function getProperties(): SecurityGroupRuleArguments { return $this->properties; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function setProperties(SecurityGroupRuleArguments $properties): self { $this->initialized['properties'] = true; diff --git a/src/Core/Model/SshKeysSshKeyDeleteBody.php b/src/Core/Model/SshKeysSshKeyDeleteBody.php index 1162b56f..e57f61f6 100644 --- a/src/Core/Model/SshKeysSshKeyDeleteBody.php +++ b/src/Core/Model/SshKeysSshKeyDeleteBody.php @@ -22,23 +22,15 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'ssh_key[]' params are mutually exclusive, only one can be provided. - * * @var AuthSSHKeyLookup */ protected $sshKey; - /** - * All 'ssh_key[]' params are mutually exclusive, only one can be provided. - */ public function getSshKey(): AuthSSHKeyLookup { return $this->sshKey; } - /** - * All 'ssh_key[]' params are mutually exclusive, only one can be provided. - */ public function setSshKey(AuthSSHKeyLookup $sshKey): self { $this->initialized['sshKey'] = true; diff --git a/src/Core/Model/TagsTagDeleteBody.php b/src/Core/Model/TagsTagDeleteBody.php index 36111fe6..24be0eb3 100644 --- a/src/Core/Model/TagsTagDeleteBody.php +++ b/src/Core/Model/TagsTagDeleteBody.php @@ -22,23 +22,15 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'tag[]' params are mutually exclusive, only one can be provided. - * * @var TagLookup */ protected $tag; - /** - * All 'tag[]' params are mutually exclusive, only one can be provided. - */ public function getTag(): TagLookup { return $this->tag; } - /** - * All 'tag[]' params are mutually exclusive, only one can be provided. - */ public function setTag(TagLookup $tag): self { $this->initialized['tag'] = true; diff --git a/src/Core/Model/TagsTagPatchBody.php b/src/Core/Model/TagsTagPatchBody.php index 1052a51d..c36797d7 100644 --- a/src/Core/Model/TagsTagPatchBody.php +++ b/src/Core/Model/TagsTagPatchBody.php @@ -22,29 +22,19 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'tag[]' params are mutually exclusive, only one can be provided. - * * @var TagLookup */ protected $tag; /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - * * @var TagArguments */ protected $properties; - /** - * All 'tag[]' params are mutually exclusive, only one can be provided. - */ public function getTag(): TagLookup { return $this->tag; } - /** - * All 'tag[]' params are mutually exclusive, only one can be provided. - */ public function setTag(TagLookup $tag): self { $this->initialized['tag'] = true; @@ -53,17 +43,11 @@ public function setTag(TagLookup $tag): self return $this; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function getProperties(): TagArguments { return $this->properties; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function setProperties(TagArguments $properties): self { $this->initialized['properties'] = true; diff --git a/src/Core/Model/VirtualMachineArguments.php b/src/Core/Model/VirtualMachineArguments.php index f58b54d0..3602b46a 100644 --- a/src/Core/Model/VirtualMachineArguments.php +++ b/src/Core/Model/VirtualMachineArguments.php @@ -44,8 +44,6 @@ public function isInitialized($property): bool */ protected $gpuType; /** - * All 'group[]' params are mutually exclusive, only one can be provided. - * * @var VirtualMachineGroupLookup */ protected $group; @@ -127,17 +125,11 @@ public function setGpuType(GPUTypeLookup $gpuType): self return $this; } - /** - * All 'group[]' params are mutually exclusive, only one can be provided. - */ public function getGroup(): VirtualMachineGroupLookup { return $this->group; } - /** - * All 'group[]' params are mutually exclusive, only one can be provided. - */ public function setGroup(VirtualMachineGroupLookup $group): self { $this->initialized['group'] = true; diff --git a/src/Core/Model/VirtualMachineGroupsVirtualMachineGroupDeleteBody.php b/src/Core/Model/VirtualMachineGroupsVirtualMachineGroupDeleteBody.php index 811d0c70..0ff9d6fe 100644 --- a/src/Core/Model/VirtualMachineGroupsVirtualMachineGroupDeleteBody.php +++ b/src/Core/Model/VirtualMachineGroupsVirtualMachineGroupDeleteBody.php @@ -22,23 +22,15 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'group[]' params are mutually exclusive, only one can be provided. - * * @var VirtualMachineGroupLookup */ protected $virtualMachineGroup; - /** - * All 'group[]' params are mutually exclusive, only one can be provided. - */ public function getVirtualMachineGroup(): VirtualMachineGroupLookup { return $this->virtualMachineGroup; } - /** - * All 'group[]' params are mutually exclusive, only one can be provided. - */ public function setVirtualMachineGroup(VirtualMachineGroupLookup $virtualMachineGroup): self { $this->initialized['virtualMachineGroup'] = true; diff --git a/src/Core/Model/VirtualMachineGroupsVirtualMachineGroupPatchBody.php b/src/Core/Model/VirtualMachineGroupsVirtualMachineGroupPatchBody.php index 97dc779e..239dbf4b 100644 --- a/src/Core/Model/VirtualMachineGroupsVirtualMachineGroupPatchBody.php +++ b/src/Core/Model/VirtualMachineGroupsVirtualMachineGroupPatchBody.php @@ -22,29 +22,19 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'group[]' params are mutually exclusive, only one can be provided. - * * @var VirtualMachineGroupLookup */ protected $virtualMachineGroup; /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - * * @var VirtualMachineGroupArguments */ protected $properties; - /** - * All 'group[]' params are mutually exclusive, only one can be provided. - */ public function getVirtualMachineGroup(): VirtualMachineGroupLookup { return $this->virtualMachineGroup; } - /** - * All 'group[]' params are mutually exclusive, only one can be provided. - */ public function setVirtualMachineGroup(VirtualMachineGroupLookup $virtualMachineGroup): self { $this->initialized['virtualMachineGroup'] = true; @@ -53,17 +43,11 @@ public function setVirtualMachineGroup(VirtualMachineGroupLookup $virtualMachine return $this; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function getProperties(): VirtualMachineGroupArguments { return $this->properties; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function setProperties(VirtualMachineGroupArguments $properties): self { $this->initialized['properties'] = true; diff --git a/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAllocateIpPostBody.php b/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAllocateIpPostBody.php index 97b06987..b288d418 100644 --- a/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAllocateIpPostBody.php +++ b/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAllocateIpPostBody.php @@ -22,8 +22,6 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'virtual_machine_network_interface[]' params are mutually exclusive, only one can be provided. - * * @var VirtualMachineNetworkInterfaceLookup */ protected $virtualMachineNetworkInterface; @@ -34,17 +32,11 @@ public function isInitialized($property): bool */ protected $ipAddress; - /** - * All 'virtual_machine_network_interface[]' params are mutually exclusive, only one can be provided. - */ public function getVirtualMachineNetworkInterface(): VirtualMachineNetworkInterfaceLookup { return $this->virtualMachineNetworkInterface; } - /** - * All 'virtual_machine_network_interface[]' params are mutually exclusive, only one can be provided. - */ public function setVirtualMachineNetworkInterface(VirtualMachineNetworkInterfaceLookup $virtualMachineNetworkInterface): self { $this->initialized['virtualMachineNetworkInterface'] = true; diff --git a/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAllocateIpPostResponse200VirtualMachineNetworkInterface.php b/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAllocateIpPostResponse200VirtualMachineNetworkInterface.php index bf783b7d..30263621 100644 --- a/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAllocateIpPostResponse200VirtualMachineNetworkInterface.php +++ b/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAllocateIpPostResponse200VirtualMachineNetworkInterface.php @@ -34,9 +34,13 @@ public function isInitialized($property): bool */ protected $name; /** - * @var PostVirtualMachineNetworkInterfaceAllocateIPPartNetwork + * @var PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNetwork|null */ protected $network; + /** + * @var PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceVirtualNetwork|null + */ + protected $virtualNetwork; /** * @var string */ @@ -89,12 +93,12 @@ public function setName(string $name): self return $this; } - public function getNetwork(): PostVirtualMachineNetworkInterfaceAllocateIPPartNetwork + public function getNetwork(): ?PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNetwork { return $this->network; } - public function setNetwork(PostVirtualMachineNetworkInterfaceAllocateIPPartNetwork $network): self + public function setNetwork(?PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNetwork $network): self { $this->initialized['network'] = true; $this->network = $network; @@ -102,6 +106,19 @@ public function setNetwork(PostVirtualMachineNetworkInterfaceAllocateIPPartNetwo return $this; } + public function getVirtualNetwork(): ?PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceVirtualNetwork + { + return $this->virtualNetwork; + } + + public function setVirtualNetwork(?PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceVirtualNetwork $virtualNetwork): self + { + $this->initialized['virtualNetwork'] = true; + $this->virtualNetwork = $virtualNetwork; + + return $this; + } + public function getMacAddress(): string { return $this->macAddress; diff --git a/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAllocateNewIpPostBody.php b/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAllocateNewIpPostBody.php index 8f9d0350..c5096e06 100644 --- a/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAllocateNewIpPostBody.php +++ b/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAllocateNewIpPostBody.php @@ -22,8 +22,6 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'virtual_machine_network_interface[]' params are mutually exclusive, only one can be provided. - * * @var VirtualMachineNetworkInterfaceLookup */ protected $virtualMachineNetworkInterface; @@ -32,17 +30,11 @@ public function isInitialized($property): bool */ protected $addressVersion; - /** - * All 'virtual_machine_network_interface[]' params are mutually exclusive, only one can be provided. - */ public function getVirtualMachineNetworkInterface(): VirtualMachineNetworkInterfaceLookup { return $this->virtualMachineNetworkInterface; } - /** - * All 'virtual_machine_network_interface[]' params are mutually exclusive, only one can be provided. - */ public function setVirtualMachineNetworkInterface(VirtualMachineNetworkInterfaceLookup $virtualMachineNetworkInterface): self { $this->initialized['virtualMachineNetworkInterface'] = true; diff --git a/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostBody.php b/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostBody.php new file mode 100644 index 00000000..0b4b42db --- /dev/null +++ b/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostBody.php @@ -0,0 +1,41 @@ +initialized); + } + /** + * @var VirtualMachineNetworkInterfaceLookup + */ + protected $virtualMachineNetworkInterface; + + public function getVirtualMachineNetworkInterface(): VirtualMachineNetworkInterfaceLookup + { + return $this->virtualMachineNetworkInterface; + } + + public function setVirtualMachineNetworkInterface(VirtualMachineNetworkInterfaceLookup $virtualMachineNetworkInterface): self + { + $this->initialized['virtualMachineNetworkInterface'] = true; + $this->virtualMachineNetworkInterface = $virtualMachineNetworkInterface; + + return $this; + } +} diff --git a/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200.php b/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200.php new file mode 100644 index 00000000..484b49f4 --- /dev/null +++ b/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200.php @@ -0,0 +1,66 @@ +initialized); + } + /** + * The network interface details. + * + * @var VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200VirtualMachineNetworkInterface + */ + protected $virtualMachineNetworkInterface; + /** + * @var Task + */ + protected $task; + + /** + * The network interface details. + */ + public function getVirtualMachineNetworkInterface(): VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200VirtualMachineNetworkInterface + { + return $this->virtualMachineNetworkInterface; + } + + /** + * The network interface details. + */ + public function setVirtualMachineNetworkInterface(VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200VirtualMachineNetworkInterface $virtualMachineNetworkInterface): self + { + $this->initialized['virtualMachineNetworkInterface'] = true; + $this->virtualMachineNetworkInterface = $virtualMachineNetworkInterface; + + return $this; + } + + public function getTask(): Task + { + return $this->task; + } + + public function setTask(Task $task): self + { + $this->initialized['task'] = true; + $this->task = $task; + + return $this; + } +} diff --git a/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200VirtualMachineNetworkInterface.php b/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200VirtualMachineNetworkInterface.php new file mode 100644 index 00000000..5c13fb63 --- /dev/null +++ b/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200VirtualMachineNetworkInterface.php @@ -0,0 +1,183 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var PostVirtualMachineNetworkInterfaceAttachPartVirtualMachine + */ + protected $virtualMachine; + /** + * @var string + */ + protected $name; + /** + * @var PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNetwork|null + */ + protected $network; + /** + * @var PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork|null + */ + protected $virtualNetwork; + /** + * @var string + */ + protected $macAddress; + /** + * @var string + */ + protected $state; + /** + * @var list + */ + protected $ipAddresses; + /** + * @var PostVirtualMachineNetworkInterfaceAttachPartSpeedProfile + */ + protected $speedProfile; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getVirtualMachine(): PostVirtualMachineNetworkInterfaceAttachPartVirtualMachine + { + return $this->virtualMachine; + } + + public function setVirtualMachine(PostVirtualMachineNetworkInterfaceAttachPartVirtualMachine $virtualMachine): self + { + $this->initialized['virtualMachine'] = true; + $this->virtualMachine = $virtualMachine; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } + + public function getNetwork(): ?PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNetwork + { + return $this->network; + } + + public function setNetwork(?PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNetwork $network): self + { + $this->initialized['network'] = true; + $this->network = $network; + + return $this; + } + + public function getVirtualNetwork(): ?PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork + { + return $this->virtualNetwork; + } + + public function setVirtualNetwork(?PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork $virtualNetwork): self + { + $this->initialized['virtualNetwork'] = true; + $this->virtualNetwork = $virtualNetwork; + + return $this; + } + + public function getMacAddress(): string + { + return $this->macAddress; + } + + public function setMacAddress(string $macAddress): self + { + $this->initialized['macAddress'] = true; + $this->macAddress = $macAddress; + + return $this; + } + + public function getState(): string + { + return $this->state; + } + + public function setState(string $state): self + { + $this->initialized['state'] = true; + $this->state = $state; + + return $this; + } + + /** + * @return list + */ + public function getIpAddresses(): array + { + return $this->ipAddresses; + } + + /** + * @param list $ipAddresses + */ + public function setIpAddresses(array $ipAddresses): self + { + $this->initialized['ipAddresses'] = true; + $this->ipAddresses = $ipAddresses; + + return $this; + } + + public function getSpeedProfile(): PostVirtualMachineNetworkInterfaceAttachPartSpeedProfile + { + return $this->speedProfile; + } + + public function setSpeedProfile(PostVirtualMachineNetworkInterfaceAttachPartSpeedProfile $speedProfile): self + { + $this->initialized['speedProfile'] = true; + $this->speedProfile = $speedProfile; + + return $this; + } +} diff --git a/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteBody.php b/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteBody.php new file mode 100644 index 00000000..329d4255 --- /dev/null +++ b/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteBody.php @@ -0,0 +1,41 @@ +initialized); + } + /** + * @var VirtualMachineNetworkInterfaceLookup + */ + protected $virtualMachineNetworkInterface; + + public function getVirtualMachineNetworkInterface(): VirtualMachineNetworkInterfaceLookup + { + return $this->virtualMachineNetworkInterface; + } + + public function setVirtualMachineNetworkInterface(VirtualMachineNetworkInterfaceLookup $virtualMachineNetworkInterface): self + { + $this->initialized['virtualMachineNetworkInterface'] = true; + $this->virtualMachineNetworkInterface = $virtualMachineNetworkInterface; + + return $this; + } +} diff --git a/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200.php b/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200.php new file mode 100644 index 00000000..48d3e372 --- /dev/null +++ b/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200.php @@ -0,0 +1,49 @@ +initialized); + } + /** + * The deleted network interface details. + * + * @var VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200VirtualMachineNetworkInterface + */ + protected $virtualMachineNetworkInterface; + + /** + * The deleted network interface details. + */ + public function getVirtualMachineNetworkInterface(): VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200VirtualMachineNetworkInterface + { + return $this->virtualMachineNetworkInterface; + } + + /** + * The deleted network interface details. + */ + public function setVirtualMachineNetworkInterface(VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200VirtualMachineNetworkInterface $virtualMachineNetworkInterface): self + { + $this->initialized['virtualMachineNetworkInterface'] = true; + $this->virtualMachineNetworkInterface = $virtualMachineNetworkInterface; + + return $this; + } +} diff --git a/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200VirtualMachineNetworkInterface.php b/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200VirtualMachineNetworkInterface.php new file mode 100644 index 00000000..adf5d8c9 --- /dev/null +++ b/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200VirtualMachineNetworkInterface.php @@ -0,0 +1,183 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var DeleteVirtualMachineNetworkInterfacePartVirtualMachine + */ + protected $virtualMachine; + /** + * @var string + */ + protected $name; + /** + * @var DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork|null + */ + protected $network; + /** + * @var DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork|null + */ + protected $virtualNetwork; + /** + * @var string + */ + protected $macAddress; + /** + * @var string + */ + protected $state; + /** + * @var list + */ + protected $ipAddresses; + /** + * @var DeleteVirtualMachineNetworkInterfacePartSpeedProfile + */ + protected $speedProfile; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getVirtualMachine(): DeleteVirtualMachineNetworkInterfacePartVirtualMachine + { + return $this->virtualMachine; + } + + public function setVirtualMachine(DeleteVirtualMachineNetworkInterfacePartVirtualMachine $virtualMachine): self + { + $this->initialized['virtualMachine'] = true; + $this->virtualMachine = $virtualMachine; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } + + public function getNetwork(): ?DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork + { + return $this->network; + } + + public function setNetwork(?DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork $network): self + { + $this->initialized['network'] = true; + $this->network = $network; + + return $this; + } + + public function getVirtualNetwork(): ?DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork + { + return $this->virtualNetwork; + } + + public function setVirtualNetwork(?DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork $virtualNetwork): self + { + $this->initialized['virtualNetwork'] = true; + $this->virtualNetwork = $virtualNetwork; + + return $this; + } + + public function getMacAddress(): string + { + return $this->macAddress; + } + + public function setMacAddress(string $macAddress): self + { + $this->initialized['macAddress'] = true; + $this->macAddress = $macAddress; + + return $this; + } + + public function getState(): string + { + return $this->state; + } + + public function setState(string $state): self + { + $this->initialized['state'] = true; + $this->state = $state; + + return $this; + } + + /** + * @return list + */ + public function getIpAddresses(): array + { + return $this->ipAddresses; + } + + /** + * @param list $ipAddresses + */ + public function setIpAddresses(array $ipAddresses): self + { + $this->initialized['ipAddresses'] = true; + $this->ipAddresses = $ipAddresses; + + return $this; + } + + public function getSpeedProfile(): DeleteVirtualMachineNetworkInterfacePartSpeedProfile + { + return $this->speedProfile; + } + + public function setSpeedProfile(DeleteVirtualMachineNetworkInterfacePartSpeedProfile $speedProfile): self + { + $this->initialized['speedProfile'] = true; + $this->speedProfile = $speedProfile; + + return $this; + } +} diff --git a/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostBody.php b/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostBody.php new file mode 100644 index 00000000..5785ae0d --- /dev/null +++ b/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostBody.php @@ -0,0 +1,41 @@ +initialized); + } + /** + * @var VirtualMachineNetworkInterfaceLookup + */ + protected $virtualMachineNetworkInterface; + + public function getVirtualMachineNetworkInterface(): VirtualMachineNetworkInterfaceLookup + { + return $this->virtualMachineNetworkInterface; + } + + public function setVirtualMachineNetworkInterface(VirtualMachineNetworkInterfaceLookup $virtualMachineNetworkInterface): self + { + $this->initialized['virtualMachineNetworkInterface'] = true; + $this->virtualMachineNetworkInterface = $virtualMachineNetworkInterface; + + return $this; + } +} diff --git a/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200.php b/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200.php new file mode 100644 index 00000000..c26dbc7e --- /dev/null +++ b/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200.php @@ -0,0 +1,66 @@ +initialized); + } + /** + * The network interface details. + * + * @var VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200VirtualMachineNetworkInterface + */ + protected $virtualMachineNetworkInterface; + /** + * @var Task + */ + protected $task; + + /** + * The network interface details. + */ + public function getVirtualMachineNetworkInterface(): VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200VirtualMachineNetworkInterface + { + return $this->virtualMachineNetworkInterface; + } + + /** + * The network interface details. + */ + public function setVirtualMachineNetworkInterface(VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200VirtualMachineNetworkInterface $virtualMachineNetworkInterface): self + { + $this->initialized['virtualMachineNetworkInterface'] = true; + $this->virtualMachineNetworkInterface = $virtualMachineNetworkInterface; + + return $this; + } + + public function getTask(): Task + { + return $this->task; + } + + public function setTask(Task $task): self + { + $this->initialized['task'] = true; + $this->task = $task; + + return $this; + } +} diff --git a/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200VirtualMachineNetworkInterface.php b/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200VirtualMachineNetworkInterface.php new file mode 100644 index 00000000..7fa9999c --- /dev/null +++ b/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200VirtualMachineNetworkInterface.php @@ -0,0 +1,183 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var PostVirtualMachineNetworkInterfaceDetachPartVirtualMachine + */ + protected $virtualMachine; + /** + * @var string + */ + protected $name; + /** + * @var PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNetwork|null + */ + protected $network; + /** + * @var PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork|null + */ + protected $virtualNetwork; + /** + * @var string + */ + protected $macAddress; + /** + * @var string + */ + protected $state; + /** + * @var list + */ + protected $ipAddresses; + /** + * @var PostVirtualMachineNetworkInterfaceDetachPartSpeedProfile + */ + protected $speedProfile; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getVirtualMachine(): PostVirtualMachineNetworkInterfaceDetachPartVirtualMachine + { + return $this->virtualMachine; + } + + public function setVirtualMachine(PostVirtualMachineNetworkInterfaceDetachPartVirtualMachine $virtualMachine): self + { + $this->initialized['virtualMachine'] = true; + $this->virtualMachine = $virtualMachine; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } + + public function getNetwork(): ?PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNetwork + { + return $this->network; + } + + public function setNetwork(?PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNetwork $network): self + { + $this->initialized['network'] = true; + $this->network = $network; + + return $this; + } + + public function getVirtualNetwork(): ?PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork + { + return $this->virtualNetwork; + } + + public function setVirtualNetwork(?PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork $virtualNetwork): self + { + $this->initialized['virtualNetwork'] = true; + $this->virtualNetwork = $virtualNetwork; + + return $this; + } + + public function getMacAddress(): string + { + return $this->macAddress; + } + + public function setMacAddress(string $macAddress): self + { + $this->initialized['macAddress'] = true; + $this->macAddress = $macAddress; + + return $this; + } + + public function getState(): string + { + return $this->state; + } + + public function setState(string $state): self + { + $this->initialized['state'] = true; + $this->state = $state; + + return $this; + } + + /** + * @return list + */ + public function getIpAddresses(): array + { + return $this->ipAddresses; + } + + /** + * @param list $ipAddresses + */ + public function setIpAddresses(array $ipAddresses): self + { + $this->initialized['ipAddresses'] = true; + $this->ipAddresses = $ipAddresses; + + return $this; + } + + public function getSpeedProfile(): PostVirtualMachineNetworkInterfaceDetachPartSpeedProfile + { + return $this->speedProfile; + } + + public function setSpeedProfile(PostVirtualMachineNetworkInterfaceDetachPartSpeedProfile $speedProfile): self + { + $this->initialized['speedProfile'] = true; + $this->speedProfile = $speedProfile; + + return $this; + } +} diff --git a/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceGetResponse200VirtualMachineNetworkInterface.php b/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceGetResponse200VirtualMachineNetworkInterface.php index 7127376e..f18a7ec4 100644 --- a/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceGetResponse200VirtualMachineNetworkInterface.php +++ b/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceGetResponse200VirtualMachineNetworkInterface.php @@ -34,9 +34,13 @@ public function isInitialized($property): bool */ protected $name; /** - * @var GetVMNIVMNIPartNetwork + * @var GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNetwork|null */ protected $network; + /** + * @var GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceVirtualNetwork|null + */ + protected $virtualNetwork; /** * @var string */ @@ -93,12 +97,12 @@ public function setName(string $name): self return $this; } - public function getNetwork(): GetVMNIVMNIPartNetwork + public function getNetwork(): ?GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNetwork { return $this->network; } - public function setNetwork(GetVMNIVMNIPartNetwork $network): self + public function setNetwork(?GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNetwork $network): self { $this->initialized['network'] = true; $this->network = $network; @@ -106,6 +110,19 @@ public function setNetwork(GetVMNIVMNIPartNetwork $network): self return $this; } + public function getVirtualNetwork(): ?GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceVirtualNetwork + { + return $this->virtualNetwork; + } + + public function setVirtualNetwork(?GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceVirtualNetwork $virtualNetwork): self + { + $this->initialized['virtualNetwork'] = true; + $this->virtualNetwork = $virtualNetwork; + + return $this; + } + public function getMacAddress(): string { return $this->macAddress; diff --git a/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceUpdateSpeedProfilePatchBody.php b/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceUpdateSpeedProfilePatchBody.php index adf74d60..d91dc8b3 100644 --- a/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceUpdateSpeedProfilePatchBody.php +++ b/src/Core/Model/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceUpdateSpeedProfilePatchBody.php @@ -22,8 +22,6 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'virtual_machine_network_interface[]' params are mutually exclusive, only one can be provided. - * * @var VirtualMachineNetworkInterfaceLookup */ protected $virtualMachineNetworkInterface; @@ -34,17 +32,11 @@ public function isInitialized($property): bool */ protected $speedProfile; - /** - * All 'virtual_machine_network_interface[]' params are mutually exclusive, only one can be provided. - */ public function getVirtualMachineNetworkInterface(): VirtualMachineNetworkInterfaceLookup { return $this->virtualMachineNetworkInterface; } - /** - * All 'virtual_machine_network_interface[]' params are mutually exclusive, only one can be provided. - */ public function setVirtualMachineNetworkInterface(VirtualMachineNetworkInterfaceLookup $virtualMachineNetworkInterface): self { $this->initialized['virtualMachineNetworkInterface'] = true; diff --git a/src/Core/Model/VirtualMachinesVirtualMachineDiskBackupPoliciesPostBody.php b/src/Core/Model/VirtualMachinesVirtualMachineDiskBackupPoliciesPostBody.php index da82c2a0..ef1f7380 100644 --- a/src/Core/Model/VirtualMachinesVirtualMachineDiskBackupPoliciesPostBody.php +++ b/src/Core/Model/VirtualMachinesVirtualMachineDiskBackupPoliciesPostBody.php @@ -28,8 +28,6 @@ public function isInitialized($property): bool */ protected $virtualMachine; /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - * * @var DiskBackupPolicyArguments */ protected $properties; @@ -53,17 +51,11 @@ public function setVirtualMachine(VirtualMachineLookup $virtualMachine): self return $this; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function getProperties(): DiskBackupPolicyArguments { return $this->properties; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function setProperties(DiskBackupPolicyArguments $properties): self { $this->initialized['properties'] = true; diff --git a/src/Core/Model/VirtualMachinesVirtualMachineFlexibleResourcesPutBody.php b/src/Core/Model/VirtualMachinesVirtualMachineFlexibleResourcesPutBody.php index c406a6be..6eb6830d 100644 --- a/src/Core/Model/VirtualMachinesVirtualMachineFlexibleResourcesPutBody.php +++ b/src/Core/Model/VirtualMachinesVirtualMachineFlexibleResourcesPutBody.php @@ -28,8 +28,6 @@ public function isInitialized($property): bool */ protected $virtualMachine; /** - * All 'resources[]' params are mutually exclusive, only one can be provided. - * * @var VirtualMachineFlexibleResources */ protected $resources; @@ -53,17 +51,11 @@ public function setVirtualMachine(VirtualMachineLookup $virtualMachine): self return $this; } - /** - * All 'resources[]' params are mutually exclusive, only one can be provided. - */ public function getResources(): VirtualMachineFlexibleResources { return $this->resources; } - /** - * All 'resources[]' params are mutually exclusive, only one can be provided. - */ public function setResources(VirtualMachineFlexibleResources $resources): self { $this->initialized['resources'] = true; diff --git a/src/Core/Model/VirtualMachinesVirtualMachineNetworkInterfacesPostBody.php b/src/Core/Model/VirtualMachinesVirtualMachineNetworkInterfacesPostBody.php new file mode 100644 index 00000000..2948ad2c --- /dev/null +++ b/src/Core/Model/VirtualMachinesVirtualMachineNetworkInterfacesPostBody.php @@ -0,0 +1,116 @@ +initialized); + } + /** + * All 'virtual_machine[]' params are mutually exclusive, only one can be provided. + * + * @var VirtualMachineLookup + */ + protected $virtualMachine; + /** + * All 'network[]' params are mutually exclusive, only one can be provided. + * + * @var NetworkLookup + */ + protected $network; + /** + * @var VirtualNetworkLookup + */ + protected $virtualNetwork; + /** + * All 'speed_profile[]' params are mutually exclusive, only one can be provided. + * + * @var NetworkSpeedProfileLookup + */ + protected $speedProfile; + + /** + * All 'virtual_machine[]' params are mutually exclusive, only one can be provided. + */ + public function getVirtualMachine(): VirtualMachineLookup + { + return $this->virtualMachine; + } + + /** + * All 'virtual_machine[]' params are mutually exclusive, only one can be provided. + */ + public function setVirtualMachine(VirtualMachineLookup $virtualMachine): self + { + $this->initialized['virtualMachine'] = true; + $this->virtualMachine = $virtualMachine; + + return $this; + } + + /** + * All 'network[]' params are mutually exclusive, only one can be provided. + */ + public function getNetwork(): NetworkLookup + { + return $this->network; + } + + /** + * All 'network[]' params are mutually exclusive, only one can be provided. + */ + public function setNetwork(NetworkLookup $network): self + { + $this->initialized['network'] = true; + $this->network = $network; + + return $this; + } + + public function getVirtualNetwork(): VirtualNetworkLookup + { + return $this->virtualNetwork; + } + + public function setVirtualNetwork(VirtualNetworkLookup $virtualNetwork): self + { + $this->initialized['virtualNetwork'] = true; + $this->virtualNetwork = $virtualNetwork; + + return $this; + } + + /** + * All 'speed_profile[]' params are mutually exclusive, only one can be provided. + */ + public function getSpeedProfile(): NetworkSpeedProfileLookup + { + return $this->speedProfile; + } + + /** + * All 'speed_profile[]' params are mutually exclusive, only one can be provided. + */ + public function setSpeedProfile(NetworkSpeedProfileLookup $speedProfile): self + { + $this->initialized['speedProfile'] = true; + $this->speedProfile = $speedProfile; + + return $this; + } +} diff --git a/src/Core/Model/VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200.php b/src/Core/Model/VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200.php new file mode 100644 index 00000000..58f5a802 --- /dev/null +++ b/src/Core/Model/VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200.php @@ -0,0 +1,49 @@ +initialized); + } + /** + * The network interface details. + * + * @var VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200VirtualMachineNetworkInterface + */ + protected $virtualMachineNetworkInterface; + + /** + * The network interface details. + */ + public function getVirtualMachineNetworkInterface(): VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200VirtualMachineNetworkInterface + { + return $this->virtualMachineNetworkInterface; + } + + /** + * The network interface details. + */ + public function setVirtualMachineNetworkInterface(VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200VirtualMachineNetworkInterface $virtualMachineNetworkInterface): self + { + $this->initialized['virtualMachineNetworkInterface'] = true; + $this->virtualMachineNetworkInterface = $virtualMachineNetworkInterface; + + return $this; + } +} diff --git a/src/Core/Model/VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200VirtualMachineNetworkInterface.php b/src/Core/Model/VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200VirtualMachineNetworkInterface.php new file mode 100644 index 00000000..2e501af2 --- /dev/null +++ b/src/Core/Model/VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200VirtualMachineNetworkInterface.php @@ -0,0 +1,183 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var PostVirtualMachineNetworkInterfacesPartVirtualMachine + */ + protected $virtualMachine; + /** + * @var string + */ + protected $name; + /** + * @var PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNetwork|null + */ + protected $network; + /** + * @var PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceVirtualNetwork|null + */ + protected $virtualNetwork; + /** + * @var string + */ + protected $macAddress; + /** + * @var string + */ + protected $state; + /** + * @var list + */ + protected $ipAddresses; + /** + * @var PostVirtualMachineNetworkInterfacesPartSpeedProfile + */ + protected $speedProfile; + + public function getId(): string + { + return $this->id; + } + + public function setId(string $id): self + { + $this->initialized['id'] = true; + $this->id = $id; + + return $this; + } + + public function getVirtualMachine(): PostVirtualMachineNetworkInterfacesPartVirtualMachine + { + return $this->virtualMachine; + } + + public function setVirtualMachine(PostVirtualMachineNetworkInterfacesPartVirtualMachine $virtualMachine): self + { + $this->initialized['virtualMachine'] = true; + $this->virtualMachine = $virtualMachine; + + return $this; + } + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } + + public function getNetwork(): ?PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNetwork + { + return $this->network; + } + + public function setNetwork(?PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNetwork $network): self + { + $this->initialized['network'] = true; + $this->network = $network; + + return $this; + } + + public function getVirtualNetwork(): ?PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceVirtualNetwork + { + return $this->virtualNetwork; + } + + public function setVirtualNetwork(?PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceVirtualNetwork $virtualNetwork): self + { + $this->initialized['virtualNetwork'] = true; + $this->virtualNetwork = $virtualNetwork; + + return $this; + } + + public function getMacAddress(): string + { + return $this->macAddress; + } + + public function setMacAddress(string $macAddress): self + { + $this->initialized['macAddress'] = true; + $this->macAddress = $macAddress; + + return $this; + } + + public function getState(): string + { + return $this->state; + } + + public function setState(string $state): self + { + $this->initialized['state'] = true; + $this->state = $state; + + return $this; + } + + /** + * @return list + */ + public function getIpAddresses(): array + { + return $this->ipAddresses; + } + + /** + * @param list $ipAddresses + */ + public function setIpAddresses(array $ipAddresses): self + { + $this->initialized['ipAddresses'] = true; + $this->ipAddresses = $ipAddresses; + + return $this; + } + + public function getSpeedProfile(): PostVirtualMachineNetworkInterfacesPartSpeedProfile + { + return $this->speedProfile; + } + + public function setSpeedProfile(PostVirtualMachineNetworkInterfacesPartSpeedProfile $speedProfile): self + { + $this->initialized['speedProfile'] = true; + $this->speedProfile = $speedProfile; + + return $this; + } +} diff --git a/src/Core/Model/VirtualMachinesVirtualMachineNetworksNetworkInterfaceGetResponse200VirtualMachineNetworkInterface.php b/src/Core/Model/VirtualMachinesVirtualMachineNetworksNetworkInterfaceGetResponse200VirtualMachineNetworkInterface.php index 13606b7c..7bf23918 100644 --- a/src/Core/Model/VirtualMachinesVirtualMachineNetworksNetworkInterfaceGetResponse200VirtualMachineNetworkInterface.php +++ b/src/Core/Model/VirtualMachinesVirtualMachineNetworksNetworkInterfaceGetResponse200VirtualMachineNetworkInterface.php @@ -34,9 +34,13 @@ public function isInitialized($property): bool */ protected $name; /** - * @var GetVirtualMachineNetworkInterfacePartNetwork + * @var GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork|null */ protected $network; + /** + * @var GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork|null + */ + protected $virtualNetwork; /** * @var string */ @@ -89,12 +93,12 @@ public function setName(string $name): self return $this; } - public function getNetwork(): GetVirtualMachineNetworkInterfacePartNetwork + public function getNetwork(): ?GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork { return $this->network; } - public function setNetwork(GetVirtualMachineNetworkInterfacePartNetwork $network): self + public function setNetwork(?GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork $network): self { $this->initialized['network'] = true; $this->network = $network; @@ -102,6 +106,19 @@ public function setNetwork(GetVirtualMachineNetworkInterfacePartNetwork $network return $this; } + public function getVirtualNetwork(): ?GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork + { + return $this->virtualNetwork; + } + + public function setVirtualNetwork(?GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork $virtualNetwork): self + { + $this->initialized['virtualNetwork'] = true; + $this->virtualNetwork = $virtualNetwork; + + return $this; + } + public function getMacAddress(): string { return $this->macAddress; diff --git a/src/Core/Model/VirtualMachinesVirtualMachinePatchBody.php b/src/Core/Model/VirtualMachinesVirtualMachinePatchBody.php index 1d2a6dd6..bfeff82a 100644 --- a/src/Core/Model/VirtualMachinesVirtualMachinePatchBody.php +++ b/src/Core/Model/VirtualMachinesVirtualMachinePatchBody.php @@ -28,8 +28,6 @@ public function isInitialized($property): bool */ protected $virtualMachine; /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - * * @var VirtualMachineArguments */ protected $properties; @@ -57,17 +55,11 @@ public function setVirtualMachine(VirtualMachineLookup $virtualMachine): self return $this; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function getProperties(): VirtualMachineArguments { return $this->properties; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function setProperties(VirtualMachineArguments $properties): self { $this->initialized['properties'] = true; diff --git a/src/Core/Model/VirtualNetworkNotFoundSchema.php b/src/Core/Model/VirtualNetworkNotFoundSchema.php new file mode 100644 index 00000000..a6e637bf --- /dev/null +++ b/src/Core/Model/VirtualNetworkNotFoundSchema.php @@ -0,0 +1,81 @@ +initialized); + } + /** + * @var string + */ + protected $code; + /** + * @var string + */ + protected $description; + /** + * @var array + */ + protected $detail; + + public function getCode(): string + { + return $this->code; + } + + public function setCode(string $code): self + { + $this->initialized['code'] = true; + $this->code = $code; + + return $this; + } + + public function getDescription(): string + { + return $this->description; + } + + public function setDescription(string $description): self + { + $this->initialized['description'] = true; + $this->description = $description; + + return $this; + } + + /** + * @return array + */ + public function getDetail(): iterable + { + return $this->detail; + } + + /** + * @param array $detail + */ + public function setDetail(iterable $detail): self + { + $this->initialized['detail'] = true; + $this->detail = $detail; + + return $this; + } +} diff --git a/src/Core/Model/VirtualNetworksVirtualNetworkDeleteBody.php b/src/Core/Model/VirtualNetworksVirtualNetworkDeleteBody.php index 94771a07..05c56a5b 100644 --- a/src/Core/Model/VirtualNetworksVirtualNetworkDeleteBody.php +++ b/src/Core/Model/VirtualNetworksVirtualNetworkDeleteBody.php @@ -22,23 +22,15 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'virtual_network[]' params are mutually exclusive, only one can be provided. - * * @var VirtualNetworkLookup */ protected $virtualNetwork; - /** - * All 'virtual_network[]' params are mutually exclusive, only one can be provided. - */ public function getVirtualNetwork(): VirtualNetworkLookup { return $this->virtualNetwork; } - /** - * All 'virtual_network[]' params are mutually exclusive, only one can be provided. - */ public function setVirtualNetwork(VirtualNetworkLookup $virtualNetwork): self { $this->initialized['virtualNetwork'] = true; diff --git a/src/Core/Model/VirtualNetworksVirtualNetworkPatchBody.php b/src/Core/Model/VirtualNetworksVirtualNetworkPatchBody.php index 22b5a339..28b2cf4f 100644 --- a/src/Core/Model/VirtualNetworksVirtualNetworkPatchBody.php +++ b/src/Core/Model/VirtualNetworksVirtualNetworkPatchBody.php @@ -22,29 +22,19 @@ public function isInitialized($property): bool return array_key_exists($property, $this->initialized); } /** - * All 'virtual_network[]' params are mutually exclusive, only one can be provided. - * * @var VirtualNetworkLookup */ protected $virtualNetwork; /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - * * @var VirtualNetworkArguments */ protected $properties; - /** - * All 'virtual_network[]' params are mutually exclusive, only one can be provided. - */ public function getVirtualNetwork(): VirtualNetworkLookup { return $this->virtualNetwork; } - /** - * All 'virtual_network[]' params are mutually exclusive, only one can be provided. - */ public function setVirtualNetwork(VirtualNetworkLookup $virtualNetwork): self { $this->initialized['virtualNetwork'] = true; @@ -53,17 +43,11 @@ public function setVirtualNetwork(VirtualNetworkLookup $virtualNetwork): self return $this; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function getProperties(): VirtualNetworkArguments { return $this->properties; } - /** - * All 'properties[]' params are mutually exclusive, only one can be provided. - */ public function setProperties(VirtualNetworkArguments $properties): self { $this->initialized['properties'] = true; diff --git a/src/Core/Normalizer/DNSRecordContentArgumentsNormalizer.php b/src/Core/Normalizer/DNSRecordContentArgumentsNormalizer.php index c4e92c25..a977ff98 100644 --- a/src/Core/Normalizer/DNSRecordContentArgumentsNormalizer.php +++ b/src/Core/Normalizer/DNSRecordContentArgumentsNormalizer.php @@ -88,7 +88,11 @@ public function denormalize(mixed $data, string $type, ?string $format = null, a unset($data['PTR']); } if (\array_key_exists('SOA', $data)) { - $object->setSOA($data['SOA']); + $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); + foreach ($data['SOA'] as $key => $value) { + $values[$key] = $value; + } + $object->setSOA($values); unset($data['SOA']); } if (\array_key_exists('SRV', $data)) { @@ -107,9 +111,9 @@ public function denormalize(mixed $data, string $type, ?string $format = null, a $object->setVirtualMachine($this->denormalizer->denormalize($data['VirtualMachine'], \KatapultAPI\Core\Model\DNSRecordContentArgumentsForVirtualMachine::class, 'json', $context)); unset($data['VirtualMachine']); } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; + foreach ($data as $key_1 => $value_1) { + if (preg_match('/.*/', (string) $key_1)) { + $object[$key_1] = $value_1; } } @@ -147,7 +151,11 @@ public function normalize(mixed $object, ?string $format = null, array $context $data['PTR'] = $this->normalizer->normalize($object->getPTR(), 'json', $context); } if ($object->isInitialized('sOA') && null !== $object->getSOA()) { - $data['SOA'] = $object->getSOA(); + $values = []; + foreach ($object->getSOA() as $key => $value) { + $values[$key] = $value; + } + $data['SOA'] = $values; } if ($object->isInitialized('sRV') && null !== $object->getSRV()) { $data['SRV'] = $this->normalizer->normalize($object->getSRV(), 'json', $context); @@ -161,9 +169,9 @@ public function normalize(mixed $object, ?string $format = null, array $context if ($object->isInitialized('virtualMachine') && null !== $object->getVirtualMachine()) { $data['VirtualMachine'] = $this->normalizer->normalize($object->getVirtualMachine(), 'json', $context); } - foreach ($object as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $data[$key] = $value; + foreach ($object as $key_1 => $value_1) { + if (preg_match('/.*/', (string) $key_1)) { + $data[$key_1] = $value_1; } } @@ -242,7 +250,11 @@ public function denormalize($data, $type, $format = null, array $context = []) unset($data['PTR']); } if (\array_key_exists('SOA', $data)) { - $object->setSOA($data['SOA']); + $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); + foreach ($data['SOA'] as $key => $value) { + $values[$key] = $value; + } + $object->setSOA($values); unset($data['SOA']); } if (\array_key_exists('SRV', $data)) { @@ -261,9 +273,9 @@ public function denormalize($data, $type, $format = null, array $context = []) $object->setVirtualMachine($this->denormalizer->denormalize($data['VirtualMachine'], \KatapultAPI\Core\Model\DNSRecordContentArgumentsForVirtualMachine::class, 'json', $context)); unset($data['VirtualMachine']); } - foreach ($data as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $object[$key] = $value; + foreach ($data as $key_1 => $value_1) { + if (preg_match('/.*/', (string) $key_1)) { + $object[$key_1] = $value_1; } } @@ -304,7 +316,11 @@ public function normalize($object, $format = null, array $context = []) $data['PTR'] = $this->normalizer->normalize($object->getPTR(), 'json', $context); } if ($object->isInitialized('sOA') && null !== $object->getSOA()) { - $data['SOA'] = $object->getSOA(); + $values = []; + foreach ($object->getSOA() as $key => $value) { + $values[$key] = $value; + } + $data['SOA'] = $values; } if ($object->isInitialized('sRV') && null !== $object->getSRV()) { $data['SRV'] = $this->normalizer->normalize($object->getSRV(), 'json', $context); @@ -318,9 +334,9 @@ public function normalize($object, $format = null, array $context = []) if ($object->isInitialized('virtualMachine') && null !== $object->getVirtualMachine()) { $data['VirtualMachine'] = $this->normalizer->normalize($object->getVirtualMachine(), 'json', $context); } - foreach ($object as $key => $value) { - if (preg_match('/.*/', (string) $key)) { - $data[$key] = $value; + foreach ($object as $key_1 => $value_1) { + if (preg_match('/.*/', (string) $key_1)) { + $data[$key_1] = $value_1; } } diff --git a/src/Core/Normalizer/DeleteOrganizationObjectStorageObjectStorageCluster200ResponseTrashObjectNormalizer.php b/src/Core/Normalizer/DeleteOrganizationObjectStorageObjectStorageCluster200ResponseTrashObjectNormalizer.php new file mode 100644 index 00000000..110c34af --- /dev/null +++ b/src/Core/Normalizer/DeleteOrganizationObjectStorageObjectStorageCluster200ResponseTrashObjectNormalizer.php @@ -0,0 +1,181 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class DeleteOrganizationObjectStorageObjectStorageCluster200ResponseTrashObjectNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\DeleteOrganizationObjectStorageObjectStorageCluster200ResponseTrashObject::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\DeleteOrganizationObjectStorageObjectStorageCluster200ResponseTrashObject::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\DeleteOrganizationObjectStorageObjectStorageCluster200ResponseTrashObject(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('keep_until', $data)) { + $object->setKeepUntil($data['keep_until']); + unset($data['keep_until']); + } + if (\array_key_exists('object_type', $data)) { + $object->setObjectType($data['object_type']); + unset($data['object_type']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('keepUntil') && null !== $object->getKeepUntil()) { + $data['keep_until'] = $object->getKeepUntil(); + } + if ($object->isInitialized('objectType') && null !== $object->getObjectType()) { + $data['object_type'] = $object->getObjectType(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\DeleteOrganizationObjectStorageObjectStorageCluster200ResponseTrashObject::class => false]; + } + } +} else { + class DeleteOrganizationObjectStorageObjectStorageCluster200ResponseTrashObjectNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\DeleteOrganizationObjectStorageObjectStorageCluster200ResponseTrashObject::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\DeleteOrganizationObjectStorageObjectStorageCluster200ResponseTrashObject::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\DeleteOrganizationObjectStorageObjectStorageCluster200ResponseTrashObject(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('keep_until', $data)) { + $object->setKeepUntil($data['keep_until']); + unset($data['keep_until']); + } + if (\array_key_exists('object_type', $data)) { + $object->setObjectType($data['object_type']); + unset($data['object_type']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('keepUntil') && null !== $object->getKeepUntil()) { + $data['keep_until'] = $object->getKeepUntil(); + } + if ($object->isInitialized('objectType') && null !== $object->getObjectType()) { + $data['object_type'] = $object->getObjectType(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\DeleteOrganizationObjectStorageObjectStorageCluster200ResponseTrashObject::class => false]; + } + } +} diff --git a/src/Core/Normalizer/DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer.php b/src/Core/Normalizer/DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer.php new file mode 100644 index 00000000..9e3a1bba --- /dev/null +++ b/src/Core/Normalizer/DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer.php @@ -0,0 +1,167 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork::class => false]; + } + } +} else { + class DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork::class => false]; + } + } +} diff --git a/src/Core/Normalizer/DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNormalizer.php b/src/Core/Normalizer/DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNormalizer.php new file mode 100644 index 00000000..ce0c48ce --- /dev/null +++ b/src/Core/Normalizer/DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNormalizer.php @@ -0,0 +1,289 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterface::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterface::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterface(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('virtual_machine', $data)) { + $object->setVirtualMachine($this->denormalizer->denormalize($data['virtual_machine'], \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartVirtualMachine::class, 'json', $context)); + unset($data['virtual_machine']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + if (\array_key_exists('network', $data) && $data['network'] !== null) { + $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork::class, 'json', $context)); + unset($data['network']); + } elseif (\array_key_exists('network', $data) && $data['network'] === null) { + $object->setNetwork(null); + } + if (\array_key_exists('virtual_network', $data) && $data['virtual_network'] !== null) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } elseif (\array_key_exists('virtual_network', $data) && $data['virtual_network'] === null) { + $object->setVirtualNetwork(null); + } + if (\array_key_exists('mac_address', $data)) { + $object->setMacAddress($data['mac_address']); + unset($data['mac_address']); + } + if (\array_key_exists('state', $data)) { + $object->setState($data['state']); + unset($data['state']); + } + if (\array_key_exists('ip_addresses', $data)) { + $values = []; + foreach ($data['ip_addresses'] as $value) { + $values[] = $this->denormalizer->denormalize($value, \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartIPAddresses::class, 'json', $context); + } + $object->setIpAddresses($values); + unset($data['ip_addresses']); + } + if (\array_key_exists('speed_profile', $data)) { + $object->setSpeedProfile($this->denormalizer->denormalize($data['speed_profile'], \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartSpeedProfile::class, 'json', $context)); + unset($data['speed_profile']); + } + foreach ($data as $key => $value_1) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value_1; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('virtualMachine') && null !== $object->getVirtualMachine()) { + $data['virtual_machine'] = $this->normalizer->normalize($object->getVirtualMachine(), 'json', $context); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + if ($object->isInitialized('network') && null !== $object->getNetwork()) { + $data['network'] = $this->normalizer->normalize($object->getNetwork(), 'json', $context); + } + if ($object->isInitialized('virtualNetwork') && null !== $object->getVirtualNetwork()) { + $data['virtual_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), 'json', $context); + } + if ($object->isInitialized('macAddress') && null !== $object->getMacAddress()) { + $data['mac_address'] = $object->getMacAddress(); + } + if ($object->isInitialized('state') && null !== $object->getState()) { + $data['state'] = $object->getState(); + } + if ($object->isInitialized('ipAddresses') && null !== $object->getIpAddresses()) { + $values = []; + foreach ($object->getIpAddresses() as $value) { + $values[] = $this->normalizer->normalize($value, 'json', $context); + } + $data['ip_addresses'] = $values; + } + if ($object->isInitialized('speedProfile') && null !== $object->getSpeedProfile()) { + $data['speed_profile'] = $this->normalizer->normalize($object->getSpeedProfile(), 'json', $context); + } + foreach ($object as $key => $value_1) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value_1; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterface::class => false]; + } + } +} else { + class DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterface::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterface::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterface(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('virtual_machine', $data)) { + $object->setVirtualMachine($this->denormalizer->denormalize($data['virtual_machine'], \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartVirtualMachine::class, 'json', $context)); + unset($data['virtual_machine']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + if (\array_key_exists('network', $data) && $data['network'] !== null) { + $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork::class, 'json', $context)); + unset($data['network']); + } elseif (\array_key_exists('network', $data) && $data['network'] === null) { + $object->setNetwork(null); + } + if (\array_key_exists('virtual_network', $data) && $data['virtual_network'] !== null) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } elseif (\array_key_exists('virtual_network', $data) && $data['virtual_network'] === null) { + $object->setVirtualNetwork(null); + } + if (\array_key_exists('mac_address', $data)) { + $object->setMacAddress($data['mac_address']); + unset($data['mac_address']); + } + if (\array_key_exists('state', $data)) { + $object->setState($data['state']); + unset($data['state']); + } + if (\array_key_exists('ip_addresses', $data)) { + $values = []; + foreach ($data['ip_addresses'] as $value) { + $values[] = $this->denormalizer->denormalize($value, \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartIPAddresses::class, 'json', $context); + } + $object->setIpAddresses($values); + unset($data['ip_addresses']); + } + if (\array_key_exists('speed_profile', $data)) { + $object->setSpeedProfile($this->denormalizer->denormalize($data['speed_profile'], \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartSpeedProfile::class, 'json', $context)); + unset($data['speed_profile']); + } + foreach ($data as $key => $value_1) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value_1; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('virtualMachine') && null !== $object->getVirtualMachine()) { + $data['virtual_machine'] = $this->normalizer->normalize($object->getVirtualMachine(), 'json', $context); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + if ($object->isInitialized('network') && null !== $object->getNetwork()) { + $data['network'] = $this->normalizer->normalize($object->getNetwork(), 'json', $context); + } + if ($object->isInitialized('virtualNetwork') && null !== $object->getVirtualNetwork()) { + $data['virtual_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), 'json', $context); + } + if ($object->isInitialized('macAddress') && null !== $object->getMacAddress()) { + $data['mac_address'] = $object->getMacAddress(); + } + if ($object->isInitialized('state') && null !== $object->getState()) { + $data['state'] = $object->getState(); + } + if ($object->isInitialized('ipAddresses') && null !== $object->getIpAddresses()) { + $values = []; + foreach ($object->getIpAddresses() as $value) { + $values[] = $this->normalizer->normalize($value, 'json', $context); + } + $data['ip_addresses'] = $values; + } + if ($object->isInitialized('speedProfile') && null !== $object->getSpeedProfile()) { + $data['speed_profile'] = $this->normalizer->normalize($object->getSpeedProfile(), 'json', $context); + } + foreach ($object as $key => $value_1) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value_1; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterface::class => false]; + } + } +} diff --git a/src/Core/Normalizer/DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer.php b/src/Core/Normalizer/DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer.php new file mode 100644 index 00000000..d68c7b27 --- /dev/null +++ b/src/Core/Normalizer/DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer.php @@ -0,0 +1,167 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => false]; + } + } +} else { + class DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => false]; + } + } +} diff --git a/src/Core/Normalizer/DeleteVirtualMachineNetworkInterfacePartIPAddressesNormalizer.php b/src/Core/Normalizer/DeleteVirtualMachineNetworkInterfacePartIPAddressesNormalizer.php new file mode 100644 index 00000000..25cdcf69 --- /dev/null +++ b/src/Core/Normalizer/DeleteVirtualMachineNetworkInterfacePartIPAddressesNormalizer.php @@ -0,0 +1,167 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class DeleteVirtualMachineNetworkInterfacePartIPAddressesNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartIPAddresses::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartIPAddresses::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartIPAddresses(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('address', $data)) { + $object->setAddress($data['address']); + unset($data['address']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('address') && null !== $object->getAddress()) { + $data['address'] = $object->getAddress(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartIPAddresses::class => false]; + } + } +} else { + class DeleteVirtualMachineNetworkInterfacePartIPAddressesNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartIPAddresses::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartIPAddresses::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartIPAddresses(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('address', $data)) { + $object->setAddress($data['address']); + unset($data['address']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('address') && null !== $object->getAddress()) { + $data['address'] = $object->getAddress(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartIPAddresses::class => false]; + } + } +} diff --git a/src/Core/Normalizer/DeleteVirtualMachineNetworkInterfacePartNetworkNormalizer.php b/src/Core/Normalizer/DeleteVirtualMachineNetworkInterfacePartNetworkNormalizer.php new file mode 100644 index 00000000..d275293e --- /dev/null +++ b/src/Core/Normalizer/DeleteVirtualMachineNetworkInterfacePartNetworkNormalizer.php @@ -0,0 +1,167 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class DeleteVirtualMachineNetworkInterfacePartNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartNetwork::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartNetwork::class => false]; + } + } +} else { + class DeleteVirtualMachineNetworkInterfacePartNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartNetwork::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartNetwork::class => false]; + } + } +} diff --git a/src/Core/Normalizer/DeleteVirtualMachineNetworkInterfacePartSpeedProfileNormalizer.php b/src/Core/Normalizer/DeleteVirtualMachineNetworkInterfacePartSpeedProfileNormalizer.php new file mode 100644 index 00000000..d55326ab --- /dev/null +++ b/src/Core/Normalizer/DeleteVirtualMachineNetworkInterfacePartSpeedProfileNormalizer.php @@ -0,0 +1,181 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class DeleteVirtualMachineNetworkInterfacePartSpeedProfileNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartSpeedProfile::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartSpeedProfile::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartSpeedProfile(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + if (\array_key_exists('permalink', $data)) { + $object->setPermalink($data['permalink']); + unset($data['permalink']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + if ($object->isInitialized('permalink') && null !== $object->getPermalink()) { + $data['permalink'] = $object->getPermalink(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartSpeedProfile::class => false]; + } + } +} else { + class DeleteVirtualMachineNetworkInterfacePartSpeedProfileNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartSpeedProfile::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartSpeedProfile::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartSpeedProfile(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + if (\array_key_exists('permalink', $data)) { + $object->setPermalink($data['permalink']); + unset($data['permalink']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + if ($object->isInitialized('permalink') && null !== $object->getPermalink()) { + $data['permalink'] = $object->getPermalink(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartSpeedProfile::class => false]; + } + } +} diff --git a/src/Core/Normalizer/DeleteVirtualMachineNetworkInterfacePartVirtualMachineNormalizer.php b/src/Core/Normalizer/DeleteVirtualMachineNetworkInterfacePartVirtualMachineNormalizer.php new file mode 100644 index 00000000..6dfb0b5f --- /dev/null +++ b/src/Core/Normalizer/DeleteVirtualMachineNetworkInterfacePartVirtualMachineNormalizer.php @@ -0,0 +1,167 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class DeleteVirtualMachineNetworkInterfacePartVirtualMachineNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartVirtualMachine::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartVirtualMachine::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartVirtualMachine(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartVirtualMachine::class => false]; + } + } +} else { + class DeleteVirtualMachineNetworkInterfacePartVirtualMachineNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartVirtualMachine::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartVirtualMachine::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartVirtualMachine(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartVirtualMachine::class => false]; + } + } +} diff --git a/src/Core/Normalizer/DeleteVirtualMachineNetworkInterfacePartVirtualNetworkNormalizer.php b/src/Core/Normalizer/DeleteVirtualMachineNetworkInterfacePartVirtualNetworkNormalizer.php new file mode 100644 index 00000000..ea7132da --- /dev/null +++ b/src/Core/Normalizer/DeleteVirtualMachineNetworkInterfacePartVirtualNetworkNormalizer.php @@ -0,0 +1,167 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class DeleteVirtualMachineNetworkInterfacePartVirtualNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartVirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartVirtualNetwork::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartVirtualNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartVirtualNetwork::class => false]; + } + } +} else { + class DeleteVirtualMachineNetworkInterfacePartVirtualNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartVirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartVirtualNetwork::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartVirtualNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartVirtualNetwork::class => false]; + } + } +} diff --git a/src/Core/Normalizer/GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer.php b/src/Core/Normalizer/GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer.php new file mode 100644 index 00000000..1961473e --- /dev/null +++ b/src/Core/Normalizer/GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer.php @@ -0,0 +1,167 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNetwork::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNetwork::class => false]; + } + } +} else { + class GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNetwork::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNetwork::class => false]; + } + } +} diff --git a/src/Core/Normalizer/GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNormalizer.php b/src/Core/Normalizer/GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNormalizer.php index 6e66caf6..728a5dfe 100644 --- a/src/Core/Normalizer/GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNormalizer.php +++ b/src/Core/Normalizer/GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNormalizer.php @@ -63,9 +63,17 @@ public function denormalize(mixed $data, string $type, ?string $format = null, a $object->setName($data['name']); unset($data['name']); } - if (\array_key_exists('network', $data)) { - $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\GetVMNIVMNIPartNetwork::class, 'json', $context)); + if (\array_key_exists('network', $data) && $data['network'] !== null) { + $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNetwork::class, 'json', $context)); unset($data['network']); + } elseif (\array_key_exists('network', $data) && $data['network'] === null) { + $object->setNetwork(null); + } + if (\array_key_exists('virtual_network', $data) && $data['virtual_network'] !== null) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } elseif (\array_key_exists('virtual_network', $data) && $data['virtual_network'] === null) { + $object->setVirtualNetwork(null); } if (\array_key_exists('mac_address', $data)) { $object->setMacAddress($data['mac_address']); @@ -111,6 +119,9 @@ public function normalize(mixed $object, ?string $format = null, array $context if ($object->isInitialized('network') && null !== $object->getNetwork()) { $data['network'] = $this->normalizer->normalize($object->getNetwork(), 'json', $context); } + if ($object->isInitialized('virtualNetwork') && null !== $object->getVirtualNetwork()) { + $data['virtual_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), 'json', $context); + } if ($object->isInitialized('macAddress') && null !== $object->getMacAddress()) { $data['mac_address'] = $object->getMacAddress(); } @@ -183,9 +194,17 @@ public function denormalize($data, $type, $format = null, array $context = []) $object->setName($data['name']); unset($data['name']); } - if (\array_key_exists('network', $data)) { - $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\GetVMNIVMNIPartNetwork::class, 'json', $context)); + if (\array_key_exists('network', $data) && $data['network'] !== null) { + $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNetwork::class, 'json', $context)); unset($data['network']); + } elseif (\array_key_exists('network', $data) && $data['network'] === null) { + $object->setNetwork(null); + } + if (\array_key_exists('virtual_network', $data) && $data['virtual_network'] !== null) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } elseif (\array_key_exists('virtual_network', $data) && $data['virtual_network'] === null) { + $object->setVirtualNetwork(null); } if (\array_key_exists('mac_address', $data)) { $object->setMacAddress($data['mac_address']); @@ -234,6 +253,9 @@ public function normalize($object, $format = null, array $context = []) if ($object->isInitialized('network') && null !== $object->getNetwork()) { $data['network'] = $this->normalizer->normalize($object->getNetwork(), 'json', $context); } + if ($object->isInitialized('virtualNetwork') && null !== $object->getVirtualNetwork()) { + $data['virtual_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), 'json', $context); + } if ($object->isInitialized('macAddress') && null !== $object->getMacAddress()) { $data['mac_address'] = $object->getMacAddress(); } diff --git a/src/Core/Normalizer/GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer.php b/src/Core/Normalizer/GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer.php new file mode 100644 index 00000000..46b6799a --- /dev/null +++ b/src/Core/Normalizer/GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer.php @@ -0,0 +1,167 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceVirtualNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => false]; + } + } +} else { + class GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceVirtualNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => false]; + } + } +} diff --git a/src/Core/Normalizer/GetVMNIVMNIPartVirtualNetworkNormalizer.php b/src/Core/Normalizer/GetVMNIVMNIPartVirtualNetworkNormalizer.php new file mode 100644 index 00000000..5d794535 --- /dev/null +++ b/src/Core/Normalizer/GetVMNIVMNIPartVirtualNetworkNormalizer.php @@ -0,0 +1,167 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class GetVMNIVMNIPartVirtualNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\GetVMNIVMNIPartVirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\GetVMNIVMNIPartVirtualNetwork::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\GetVMNIVMNIPartVirtualNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\GetVMNIVMNIPartVirtualNetwork::class => false]; + } + } +} else { + class GetVMNIVMNIPartVirtualNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\GetVMNIVMNIPartVirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\GetVMNIVMNIPartVirtualNetwork::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\GetVMNIVMNIPartVirtualNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\GetVMNIVMNIPartVirtualNetwork::class => false]; + } + } +} diff --git a/src/Core/Normalizer/GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer.php b/src/Core/Normalizer/GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer.php new file mode 100644 index 00000000..a198bfbe --- /dev/null +++ b/src/Core/Normalizer/GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer.php @@ -0,0 +1,167 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork::class => false]; + } + } +} else { + class GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork::class => false]; + } + } +} diff --git a/src/Core/Normalizer/GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNormalizer.php b/src/Core/Normalizer/GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNormalizer.php index 339e291c..27a625ec 100644 --- a/src/Core/Normalizer/GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNormalizer.php +++ b/src/Core/Normalizer/GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNormalizer.php @@ -63,9 +63,17 @@ public function denormalize(mixed $data, string $type, ?string $format = null, a $object->setName($data['name']); unset($data['name']); } - if (\array_key_exists('network', $data)) { - $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacePartNetwork::class, 'json', $context)); + if (\array_key_exists('network', $data) && $data['network'] !== null) { + $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork::class, 'json', $context)); unset($data['network']); + } elseif (\array_key_exists('network', $data) && $data['network'] === null) { + $object->setNetwork(null); + } + if (\array_key_exists('virtual_network', $data) && $data['virtual_network'] !== null) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } elseif (\array_key_exists('virtual_network', $data) && $data['virtual_network'] === null) { + $object->setVirtualNetwork(null); } if (\array_key_exists('mac_address', $data)) { $object->setMacAddress($data['mac_address']); @@ -107,6 +115,9 @@ public function normalize(mixed $object, ?string $format = null, array $context if ($object->isInitialized('network') && null !== $object->getNetwork()) { $data['network'] = $this->normalizer->normalize($object->getNetwork(), 'json', $context); } + if ($object->isInitialized('virtualNetwork') && null !== $object->getVirtualNetwork()) { + $data['virtual_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), 'json', $context); + } if ($object->isInitialized('macAddress') && null !== $object->getMacAddress()) { $data['mac_address'] = $object->getMacAddress(); } @@ -176,9 +187,17 @@ public function denormalize($data, $type, $format = null, array $context = []) $object->setName($data['name']); unset($data['name']); } - if (\array_key_exists('network', $data)) { - $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacePartNetwork::class, 'json', $context)); + if (\array_key_exists('network', $data) && $data['network'] !== null) { + $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork::class, 'json', $context)); unset($data['network']); + } elseif (\array_key_exists('network', $data) && $data['network'] === null) { + $object->setNetwork(null); + } + if (\array_key_exists('virtual_network', $data) && $data['virtual_network'] !== null) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } elseif (\array_key_exists('virtual_network', $data) && $data['virtual_network'] === null) { + $object->setVirtualNetwork(null); } if (\array_key_exists('mac_address', $data)) { $object->setMacAddress($data['mac_address']); @@ -223,6 +242,9 @@ public function normalize($object, $format = null, array $context = []) if ($object->isInitialized('network') && null !== $object->getNetwork()) { $data['network'] = $this->normalizer->normalize($object->getNetwork(), 'json', $context); } + if ($object->isInitialized('virtualNetwork') && null !== $object->getVirtualNetwork()) { + $data['virtual_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), 'json', $context); + } if ($object->isInitialized('macAddress') && null !== $object->getMacAddress()) { $data['mac_address'] = $object->getMacAddress(); } diff --git a/src/Core/Normalizer/GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer.php b/src/Core/Normalizer/GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer.php new file mode 100644 index 00000000..d8cd09e2 --- /dev/null +++ b/src/Core/Normalizer/GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer.php @@ -0,0 +1,167 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => false]; + } + } +} else { + class GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => false]; + } + } +} diff --git a/src/Core/Normalizer/GetVirtualMachineNetworkInterfacePartVirtualNetworkNormalizer.php b/src/Core/Normalizer/GetVirtualMachineNetworkInterfacePartVirtualNetworkNormalizer.php new file mode 100644 index 00000000..f9bfa9f3 --- /dev/null +++ b/src/Core/Normalizer/GetVirtualMachineNetworkInterfacePartVirtualNetworkNormalizer.php @@ -0,0 +1,167 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class GetVirtualMachineNetworkInterfacePartVirtualNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacePartVirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacePartVirtualNetwork::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacePartVirtualNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacePartVirtualNetwork::class => false]; + } + } +} else { + class GetVirtualMachineNetworkInterfacePartVirtualNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacePartVirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacePartVirtualNetwork::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacePartVirtualNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacePartVirtualNetwork::class => false]; + } + } +} diff --git a/src/Core/Normalizer/GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesNetworkNormalizer.php b/src/Core/Normalizer/GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesNetworkNormalizer.php new file mode 100644 index 00000000..02ba89d2 --- /dev/null +++ b/src/Core/Normalizer/GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesNetworkNormalizer.php @@ -0,0 +1,167 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesNetwork::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesNetwork::class => false]; + } + } +} else { + class GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesNetwork::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesNetwork::class => false]; + } + } +} diff --git a/src/Core/Normalizer/GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesNormalizer.php b/src/Core/Normalizer/GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesNormalizer.php index 9469c914..26a47e2c 100644 --- a/src/Core/Normalizer/GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesNormalizer.php +++ b/src/Core/Normalizer/GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesNormalizer.php @@ -59,9 +59,17 @@ public function denormalize(mixed $data, string $type, ?string $format = null, a $object->setName($data['name']); unset($data['name']); } - if (\array_key_exists('network', $data)) { - $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacesPartNetwork::class, 'json', $context)); + if (\array_key_exists('network', $data) && $data['network'] !== null) { + $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesNetwork::class, 'json', $context)); unset($data['network']); + } elseif (\array_key_exists('network', $data) && $data['network'] === null) { + $object->setNetwork(null); + } + if (\array_key_exists('virtual_network', $data) && $data['virtual_network'] !== null) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesVirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } elseif (\array_key_exists('virtual_network', $data) && $data['virtual_network'] === null) { + $object->setVirtualNetwork(null); } if (\array_key_exists('ip_addresses', $data)) { $values = []; @@ -92,6 +100,9 @@ public function normalize(mixed $object, ?string $format = null, array $context if ($object->isInitialized('network') && null !== $object->getNetwork()) { $data['network'] = $this->normalizer->normalize($object->getNetwork(), 'json', $context); } + if ($object->isInitialized('virtualNetwork') && null !== $object->getVirtualNetwork()) { + $data['virtual_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), 'json', $context); + } if ($object->isInitialized('ipAddresses') && null !== $object->getIpAddresses()) { $values = []; foreach ($object->getIpAddresses() as $value) { @@ -151,9 +162,17 @@ public function denormalize($data, $type, $format = null, array $context = []) $object->setName($data['name']); unset($data['name']); } - if (\array_key_exists('network', $data)) { - $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacesPartNetwork::class, 'json', $context)); + if (\array_key_exists('network', $data) && $data['network'] !== null) { + $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesNetwork::class, 'json', $context)); unset($data['network']); + } elseif (\array_key_exists('network', $data) && $data['network'] === null) { + $object->setNetwork(null); + } + if (\array_key_exists('virtual_network', $data) && $data['virtual_network'] !== null) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesVirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } elseif (\array_key_exists('virtual_network', $data) && $data['virtual_network'] === null) { + $object->setVirtualNetwork(null); } if (\array_key_exists('ip_addresses', $data)) { $values = []; @@ -187,6 +206,9 @@ public function normalize($object, $format = null, array $context = []) if ($object->isInitialized('network') && null !== $object->getNetwork()) { $data['network'] = $this->normalizer->normalize($object->getNetwork(), 'json', $context); } + if ($object->isInitialized('virtualNetwork') && null !== $object->getVirtualNetwork()) { + $data['virtual_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), 'json', $context); + } if ($object->isInitialized('ipAddresses') && null !== $object->getIpAddresses()) { $values = []; foreach ($object->getIpAddresses() as $value) { diff --git a/src/Core/Normalizer/GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesVirtualNetworkNormalizer.php b/src/Core/Normalizer/GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesVirtualNetworkNormalizer.php new file mode 100644 index 00000000..c8b7b122 --- /dev/null +++ b/src/Core/Normalizer/GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesVirtualNetworkNormalizer.php @@ -0,0 +1,167 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesVirtualNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesVirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesVirtualNetwork::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesVirtualNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesVirtualNetwork::class => false]; + } + } +} else { + class GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesVirtualNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesVirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesVirtualNetwork::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesVirtualNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesVirtualNetwork::class => false]; + } + } +} diff --git a/src/Core/Normalizer/GetVirtualMachineNetworkInterfacesPartVirtualNetworkNormalizer.php b/src/Core/Normalizer/GetVirtualMachineNetworkInterfacesPartVirtualNetworkNormalizer.php new file mode 100644 index 00000000..cfa27d1b --- /dev/null +++ b/src/Core/Normalizer/GetVirtualMachineNetworkInterfacesPartVirtualNetworkNormalizer.php @@ -0,0 +1,167 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class GetVirtualMachineNetworkInterfacesPartVirtualNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacesPartVirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacesPartVirtualNetwork::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacesPartVirtualNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacesPartVirtualNetwork::class => false]; + } + } +} else { + class GetVirtualMachineNetworkInterfacesPartVirtualNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacesPartVirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacesPartVirtualNetwork::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacesPartVirtualNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacesPartVirtualNetwork::class => false]; + } + } +} diff --git a/src/Core/Normalizer/JaneObjectNormalizer.php b/src/Core/Normalizer/JaneObjectNormalizer.php index 1a17c97f..30a9304d 100644 --- a/src/Core/Normalizer/JaneObjectNormalizer.php +++ b/src/Core/Normalizer/JaneObjectNormalizer.php @@ -896,47 +896,137 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaces::class => GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesNormalizer::class, + \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesNetwork::class => GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesNetworkNormalizer::class, + + \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesVirtualNetwork::class => GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesVirtualNetworkNormalizer::class, + \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacesPartNetwork::class => GetVirtualMachineNetworkInterfacesPartNetworkNormalizer::class, + \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacesPartVirtualNetwork::class => GetVirtualMachineNetworkInterfacesPartVirtualNetworkNormalizer::class, + \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacesPartIPAddresses::class => GetVirtualMachineNetworkInterfacesPartIPAddressesNormalizer::class, + \KatapultAPI\Core\Model\NetworkSpeedProfileLookup::class => NetworkSpeedProfileLookupNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterface::class => PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNetwork::class => PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartVirtualMachine::class => PostVirtualMachineNetworkInterfacesPartVirtualMachineNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartNetwork::class => PostVirtualMachineNetworkInterfacesPartNetworkNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartVirtualNetwork::class => PostVirtualMachineNetworkInterfacesPartVirtualNetworkNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartIPAddresses::class => PostVirtualMachineNetworkInterfacesPartIPAddressesNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartSpeedProfile::class => PostVirtualMachineNetworkInterfacesPartSpeedProfileNormalizer::class, + + \KatapultAPI\Core\Model\VirtualNetworkNotFoundSchema::class => VirtualNetworkNotFoundSchemaNormalizer::class, + + \KatapultAPI\Core\Model\NetworkSpeedProfileNotFoundSchema::class => NetworkSpeedProfileNotFoundSchemaNormalizer::class, + \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterface::class => GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNormalizer::class, + \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork::class => GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer::class, + + \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer::class, + \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacePartVirtualMachine::class => GetVirtualMachineNetworkInterfacePartVirtualMachineNormalizer::class, \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacePartNetwork::class => GetVirtualMachineNetworkInterfacePartNetworkNormalizer::class, + \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacePartVirtualNetwork::class => GetVirtualMachineNetworkInterfacePartVirtualNetworkNormalizer::class, + \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacePartIPAddresses::class => GetVirtualMachineNetworkInterfacePartIPAddressesNormalizer::class, \KatapultAPI\Core\Model\InterfaceNotFoundSchema::class => InterfaceNotFoundSchemaNormalizer::class, \KatapultAPI\Core\Model\GetVMNIVMNI200ResponseVirtualMachineNetworkInterface::class => GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNormalizer::class, + \KatapultAPI\Core\Model\GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNetwork::class => GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer::class, + + \KatapultAPI\Core\Model\GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer::class, + \KatapultAPI\Core\Model\GetVMNIVMNIPartVirtualMachine::class => GetVMNIVMNIPartVirtualMachineNormalizer::class, \KatapultAPI\Core\Model\GetVMNIVMNIPartNetwork::class => GetVMNIVMNIPartNetworkNormalizer::class, + \KatapultAPI\Core\Model\GetVMNIVMNIPartVirtualNetwork::class => GetVMNIVMNIPartVirtualNetworkNormalizer::class, + \KatapultAPI\Core\Model\GetVMNIVMNIPartIPAddresses::class => GetVMNIVMNIPartIPAddressesNormalizer::class, \KatapultAPI\Core\Model\GetVMNIVMNIPartSpeedProfile::class => GetVMNIVMNIPartSpeedProfileNormalizer::class, \KatapultAPI\Core\Model\VirtualMachineNetworkInterfaceLookup::class => VirtualMachineNetworkInterfaceLookupNormalizer::class, + \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterface::class => DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNormalizer::class, + + \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork::class => DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer::class, + + \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer::class, + + \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartVirtualMachine::class => DeleteVirtualMachineNetworkInterfacePartVirtualMachineNormalizer::class, + + \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartNetwork::class => DeleteVirtualMachineNetworkInterfacePartNetworkNormalizer::class, + + \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartVirtualNetwork::class => DeleteVirtualMachineNetworkInterfacePartVirtualNetworkNormalizer::class, + + \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartIPAddresses::class => DeleteVirtualMachineNetworkInterfacePartIPAddressesNormalizer::class, + + \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartSpeedProfile::class => DeleteVirtualMachineNetworkInterfacePartSpeedProfileNormalizer::class, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterface::class => PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNormalizer::class, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNetwork::class => PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer::class, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualMachine::class => PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualMachineNormalizer::class, \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIPPartNetwork::class => PostVirtualMachineNetworkInterfaceAllocateIPPartNetworkNormalizer::class, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualNetwork::class => PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualNetworkNormalizer::class, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIPPartIPAddresses::class => PostVirtualMachineNetworkInterfaceAllocateIPPartIPAddressesNormalizer::class, \KatapultAPI\Core\Model\VirtualMachineNetworkInterfaceNotFoundSchema::class => VirtualMachineNetworkInterfaceNotFoundSchemaNormalizer::class, \KatapultAPI\Core\Model\InvalidIPSchema::class => InvalidIPSchemaNormalizer::class, - \KatapultAPI\Core\Model\NetworkSpeedProfileLookup::class => NetworkSpeedProfileLookupNormalizer::class, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterface::class => PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNormalizer::class, - \KatapultAPI\Core\Model\NetworkSpeedProfileNotFoundSchema::class => NetworkSpeedProfileNotFoundSchemaNormalizer::class, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNetwork::class => PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartVirtualMachine::class => PostVirtualMachineNetworkInterfaceAttachPartVirtualMachineNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartNetwork::class => PostVirtualMachineNetworkInterfaceAttachPartNetworkNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartVirtualNetwork::class => PostVirtualMachineNetworkInterfaceAttachPartVirtualNetworkNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartIPAddresses::class => PostVirtualMachineNetworkInterfaceAttachPartIPAddressesNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartSpeedProfile::class => PostVirtualMachineNetworkInterfaceAttachPartSpeedProfileNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterface::class => PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNetwork::class => PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartVirtualMachine::class => PostVirtualMachineNetworkInterfaceDetachPartVirtualMachineNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartNetwork::class => PostVirtualMachineNetworkInterfaceDetachPartNetworkNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartVirtualNetwork::class => PostVirtualMachineNetworkInterfaceDetachPartVirtualNetworkNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartIPAddresses::class => PostVirtualMachineNetworkInterfaceDetachPartIPAddressesNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartSpeedProfile::class => PostVirtualMachineNetworkInterfaceDetachPartSpeedProfileNormalizer::class, \KatapultAPI\Core\Model\GetOrganizationTags200ResponseTags::class => GetOrganizationTags200ResponseTagsNormalizer::class, @@ -966,22 +1056,26 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\ObjectStorageClusterLookup::class => ObjectStorageClusterLookupNormalizer::class, - \KatapultAPI\Core\Model\ObjectStorageBucketArguments::class => ObjectStorageBucketArgumentsNormalizer::class, - - \KatapultAPI\Core\Model\ObjectStorageBucketACLArguments::class => ObjectStorageBucketACLArgumentsNormalizer::class, - - \KatapultAPI\Core\Model\ObjectStorageBucket::class => ObjectStorageBucketNormalizer::class, + \KatapultAPI\Core\Model\ObjectStorageAccount::class => ObjectStorageAccountNormalizer::class, - \KatapultAPI\Core\Model\ObjectStorageBucketAccessControlList::class => ObjectStorageBucketAccessControlListNormalizer::class, + \KatapultAPI\Core\Model\ObjectStorageClusterNotFoundSchema::class => ObjectStorageClusterNotFoundSchemaNormalizer::class, \KatapultAPI\Core\Model\ObjectStorageAccountNotProvisionedSchema::class => ObjectStorageAccountNotProvisionedSchemaNormalizer::class, \KatapultAPI\Core\Model\ObjectStorageAccountSuspendedSchema::class => ObjectStorageAccountSuspendedSchemaNormalizer::class, - \KatapultAPI\Core\Model\ObjectStorageClusterNotFoundSchema::class => ObjectStorageClusterNotFoundSchemaNormalizer::class, - \KatapultAPI\Core\Model\ObjectStorageAccountNotFoundSchema::class => ObjectStorageAccountNotFoundSchemaNormalizer::class, + \KatapultAPI\Core\Model\DeleteOrganizationObjectStorageObjectStorageCluster200ResponseTrashObject::class => DeleteOrganizationObjectStorageObjectStorageCluster200ResponseTrashObjectNormalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageBucketArguments::class => ObjectStorageBucketArgumentsNormalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageBucketACLArguments::class => ObjectStorageBucketACLArgumentsNormalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageBucket::class => ObjectStorageBucketNormalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageBucketAccessControlList::class => ObjectStorageBucketAccessControlListNormalizer::class, + \KatapultAPI\Core\Model\ObjectStorageBucketLookup::class => ObjectStorageBucketLookupNormalizer::class, \KatapultAPI\Core\Model\ObjectStorageBucketNotFoundSchema::class => ObjectStorageBucketNotFoundSchemaNormalizer::class, @@ -996,6 +1090,14 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\ObjectStorageObjectPresignedURLArguments::class => ObjectStorageObjectPresignedURLArgumentsNormalizer::class, + \KatapultAPI\Core\Model\ObjectStorageAccessKeyArguments::class => ObjectStorageAccessKeyArgumentsNormalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageAccessKey::class => ObjectStorageAccessKeyNormalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageAccessKeyLookup::class => ObjectStorageAccessKeyLookupNormalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageProvisioningErrorSchema::class => ObjectStorageProvisioningErrorSchemaNormalizer::class, + \KatapultAPI\Core\Model\ResponseAPIAuthenticator400Response::class => ResponseAPIAuthenticator400ResponseNormalizer::class, \KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response::class => ResponseAPIAuthenticator429ResponseNormalizer::class, @@ -1080,6 +1182,10 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\ResponseSpeedProfileAlreadyAssignedResponse::class => ResponseSpeedProfileAlreadyAssignedResponseNormalizer::class, + \KatapultAPI\Core\Model\ResponseVirtualMachineNetworkInterfaceAlreadyAttachedResponse::class => ResponseVirtualMachineNetworkInterfaceAlreadyAttachedResponseNormalizer::class, + + \KatapultAPI\Core\Model\ResponseVirtualMachineNetworkInterfaceAlreadyDetachedResponse::class => ResponseVirtualMachineNetworkInterfaceAlreadyDetachedResponseNormalizer::class, + \KatapultAPI\Core\Model\ResponseTagNotFoundResponse::class => ResponseTagNotFoundResponseNormalizer::class, \KatapultAPI\Core\Model\ResponseVirtualMachineGroupNotFoundResponse::class => ResponseVirtualMachineGroupNotFoundResponseNormalizer::class, @@ -1104,6 +1210,10 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\ResponseNetworkErrorResponse::class => ResponseNetworkErrorResponseNormalizer::class, + \KatapultAPI\Core\Model\ResponseObjectStorageAccessKeyNotFoundResponse::class => ResponseObjectStorageAccessKeyNotFoundResponseNormalizer::class, + + \KatapultAPI\Core\Model\ResponseObjectStorageProvisioningErrorResponse::class => ResponseObjectStorageProvisioningErrorResponseNormalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationApiTokensGetResponse200::class => OrganizationsOrganizationApiTokensGetResponse200Normalizer::class, \KatapultAPI\Core\Model\OrganizationsOrganizationApiTokensPostBody::class => OrganizationsOrganizationApiTokensPostBodyNormalizer::class, @@ -1130,6 +1240,30 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\ApiTokensApiTokenRegenerateSecretPostResponse200ApiToken::class => ApiTokensApiTokenRegenerateSecretPostResponse200ApiTokenNormalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostBody::class => OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostBodyNormalizer::class, + + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostResponse201::class => OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostResponse201Normalizer::class, + + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageAccessKeysGetResponse200::class => OrganizationsOrganizationObjectStorageAccessKeysGetResponse200Normalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostBody::class => ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostBodyNormalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200::class => ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200Normalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200ObjectStorageAccessKey::class => ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200ObjectStorageAccessKeyNormalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyDeleteBody::class => ObjectStorageAccessKeysAccessKeyDeleteBodyNormalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyDeleteResponse200::class => ObjectStorageAccessKeysAccessKeyDeleteResponse200Normalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGetResponse200::class => ObjectStorageAccessKeysAccessKeyGetResponse200Normalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchBody::class => ObjectStorageAccessKeysAccessKeyPatchBodyNormalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchResponse200::class => ObjectStorageAccessKeysAccessKeyPatchResponse200Normalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchResponse200ObjectStorageAccessKey::class => ObjectStorageAccessKeysAccessKeyPatchResponse200ObjectStorageAccessKeyNormalizer::class, + \KatapultAPI\Core\Model\AddressListsAddressListEntriesGetResponse200::class => AddressListsAddressListEntriesGetResponse200Normalizer::class, \KatapultAPI\Core\Model\AddressListsAddressListEntriesPostBody::class => AddressListsAddressListEntriesPostBodyNormalizer::class, @@ -1530,6 +1664,18 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\NetworksNetworkGetResponse200Network::class => NetworksNetworkGetResponse200NetworkNormalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteBody::class => OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteBodyNormalizer::class, + + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteResponse200::class => OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteResponse200Normalizer::class, + + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterGetResponse200::class => OrganizationsOrganizationObjectStorageObjectStorageClusterGetResponse200Normalizer::class, + + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostBody::class => OrganizationsOrganizationObjectStorageObjectStorageClusterPostBodyNormalizer::class, + + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201::class => OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201Normalizer::class, + + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201ObjectStorageAccount::class => OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201ObjectStorageAccountNormalizer::class, + \KatapultAPI\Core\Model\OperatingSystemsGetResponse200::class => OperatingSystemsGetResponse200Normalizer::class, \KatapultAPI\Core\Model\OperatingSystemsOperatingSystemGetResponse200::class => OperatingSystemsOperatingSystemGetResponse200Normalizer::class, @@ -1746,10 +1892,22 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesGetResponse200::class => VirtualMachinesVirtualMachineNetworkInterfacesGetResponse200Normalizer::class, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostBody::class => VirtualMachinesVirtualMachineNetworkInterfacesPostBodyNormalizer::class, + + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200::class => VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200Normalizer::class, + + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200VirtualMachineNetworkInterface::class => VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200VirtualMachineNetworkInterfaceNormalizer::class, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworksNetworkInterfaceGetResponse200::class => VirtualMachinesVirtualMachineNetworksNetworkInterfaceGetResponse200Normalizer::class, \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworksNetworkInterfaceGetResponse200VirtualMachineNetworkInterface::class => VirtualMachinesVirtualMachineNetworksNetworkInterfaceGetResponse200VirtualMachineNetworkInterfaceNormalizer::class, + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteBody::class => VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteBodyNormalizer::class, + + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200::class => VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200Normalizer::class, + + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200VirtualMachineNetworkInterface::class => VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200VirtualMachineNetworkInterfaceNormalizer::class, + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceGetResponse200::class => VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceGetResponse200Normalizer::class, \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceGetResponse200VirtualMachineNetworkInterface::class => VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceGetResponse200VirtualMachineNetworkInterfaceNormalizer::class, @@ -1774,6 +1932,18 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceUpdateSpeedProfilePatchResponse200Task::class => VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceUpdateSpeedProfilePatchResponse200TaskNormalizer::class, + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostBody::class => VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostBodyNormalizer::class, + + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200::class => VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200Normalizer::class, + + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200VirtualMachineNetworkInterface::class => VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200VirtualMachineNetworkInterfaceNormalizer::class, + + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostBody::class => VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostBodyNormalizer::class, + + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200::class => VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200Normalizer::class, + + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200VirtualMachineNetworkInterface::class => VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200VirtualMachineNetworkInterfaceNormalizer::class, + \KatapultAPI\Core\Model\VirtualMachinePackagesGetResponse200::class => VirtualMachinePackagesGetResponse200Normalizer::class, \KatapultAPI\Core\Model\VirtualMachinePackagesVirtualMachinePackageGetResponse200::class => VirtualMachinePackagesVirtualMachinePackageGetResponse200Normalizer::class, @@ -2294,27 +2464,72 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\NoAvailableAddressesSchema::class => false, \KatapultAPI\Core\Model\GetIPAddress200ResponseAllocation::class => false, \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaces::class => false, + \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesNetwork::class => false, + \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesVirtualNetwork::class => false, \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacesPartNetwork::class => false, + \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacesPartVirtualNetwork::class => false, \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacesPartIPAddresses::class => false, + \KatapultAPI\Core\Model\NetworkSpeedProfileLookup::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterface::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNetwork::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartVirtualMachine::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartNetwork::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartVirtualNetwork::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartIPAddresses::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartSpeedProfile::class => false, + \KatapultAPI\Core\Model\VirtualNetworkNotFoundSchema::class => false, + \KatapultAPI\Core\Model\NetworkSpeedProfileNotFoundSchema::class => false, \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterface::class => false, + \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork::class => false, + \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => false, \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacePartVirtualMachine::class => false, \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacePartNetwork::class => false, + \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacePartVirtualNetwork::class => false, \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacePartIPAddresses::class => false, \KatapultAPI\Core\Model\InterfaceNotFoundSchema::class => false, \KatapultAPI\Core\Model\GetVMNIVMNI200ResponseVirtualMachineNetworkInterface::class => false, + \KatapultAPI\Core\Model\GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNetwork::class => false, + \KatapultAPI\Core\Model\GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => false, \KatapultAPI\Core\Model\GetVMNIVMNIPartVirtualMachine::class => false, \KatapultAPI\Core\Model\GetVMNIVMNIPartNetwork::class => false, + \KatapultAPI\Core\Model\GetVMNIVMNIPartVirtualNetwork::class => false, \KatapultAPI\Core\Model\GetVMNIVMNIPartIPAddresses::class => false, \KatapultAPI\Core\Model\GetVMNIVMNIPartSpeedProfile::class => false, \KatapultAPI\Core\Model\VirtualMachineNetworkInterfaceLookup::class => false, + \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterface::class => false, + \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork::class => false, + \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => false, + \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartVirtualMachine::class => false, + \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartNetwork::class => false, + \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartVirtualNetwork::class => false, + \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartIPAddresses::class => false, + \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartSpeedProfile::class => false, \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterface::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNetwork::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => false, \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualMachine::class => false, \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIPPartNetwork::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualNetwork::class => false, \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIPPartIPAddresses::class => false, \KatapultAPI\Core\Model\VirtualMachineNetworkInterfaceNotFoundSchema::class => false, \KatapultAPI\Core\Model\InvalidIPSchema::class => false, - \KatapultAPI\Core\Model\NetworkSpeedProfileLookup::class => false, - \KatapultAPI\Core\Model\NetworkSpeedProfileNotFoundSchema::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterface::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNetwork::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartVirtualMachine::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartNetwork::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartVirtualNetwork::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartIPAddresses::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartSpeedProfile::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterface::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNetwork::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartVirtualMachine::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartNetwork::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartVirtualNetwork::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartIPAddresses::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartSpeedProfile::class => false, \KatapultAPI\Core\Model\GetOrganizationTags200ResponseTags::class => false, \KatapultAPI\Core\Model\TagArguments::class => false, \KatapultAPI\Core\Model\TagLookup::class => false, @@ -2329,14 +2544,16 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\GetUsersCurrent200ResponseOrganizations::class => false, \KatapultAPI\Core\Model\IdentityNotLinkedToWebSessionSchema::class => false, \KatapultAPI\Core\Model\ObjectStorageClusterLookup::class => false, + \KatapultAPI\Core\Model\ObjectStorageAccount::class => false, + \KatapultAPI\Core\Model\ObjectStorageClusterNotFoundSchema::class => false, + \KatapultAPI\Core\Model\ObjectStorageAccountNotProvisionedSchema::class => false, + \KatapultAPI\Core\Model\ObjectStorageAccountSuspendedSchema::class => false, + \KatapultAPI\Core\Model\ObjectStorageAccountNotFoundSchema::class => false, + \KatapultAPI\Core\Model\DeleteOrganizationObjectStorageObjectStorageCluster200ResponseTrashObject::class => false, \KatapultAPI\Core\Model\ObjectStorageBucketArguments::class => false, \KatapultAPI\Core\Model\ObjectStorageBucketACLArguments::class => false, \KatapultAPI\Core\Model\ObjectStorageBucket::class => false, \KatapultAPI\Core\Model\ObjectStorageBucketAccessControlList::class => false, - \KatapultAPI\Core\Model\ObjectStorageAccountNotProvisionedSchema::class => false, - \KatapultAPI\Core\Model\ObjectStorageAccountSuspendedSchema::class => false, - \KatapultAPI\Core\Model\ObjectStorageClusterNotFoundSchema::class => false, - \KatapultAPI\Core\Model\ObjectStorageAccountNotFoundSchema::class => false, \KatapultAPI\Core\Model\ObjectStorageBucketLookup::class => false, \KatapultAPI\Core\Model\ObjectStorageBucketNotFoundSchema::class => false, \KatapultAPI\Core\Model\ObjectStorageBucketDeletionError::class => false, @@ -2344,6 +2561,10 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\ObjectStorageObject::class => false, \KatapultAPI\Core\Model\ObjectNotFoundSchema::class => false, \KatapultAPI\Core\Model\ObjectStorageObjectPresignedURLArguments::class => false, + \KatapultAPI\Core\Model\ObjectStorageAccessKeyArguments::class => false, + \KatapultAPI\Core\Model\ObjectStorageAccessKey::class => false, + \KatapultAPI\Core\Model\ObjectStorageAccessKeyLookup::class => false, + \KatapultAPI\Core\Model\ObjectStorageProvisioningErrorSchema::class => false, \KatapultAPI\Core\Model\ResponseAPIAuthenticator400Response::class => false, \KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response::class => false, \KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response::class => false, @@ -2386,6 +2607,8 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\ResponseNoAllocationResponse::class => false, \KatapultAPI\Core\Model\ResponseVirtualMachineNetworkInterfaceNotFoundResponse::class => false, \KatapultAPI\Core\Model\ResponseSpeedProfileAlreadyAssignedResponse::class => false, + \KatapultAPI\Core\Model\ResponseVirtualMachineNetworkInterfaceAlreadyAttachedResponse::class => false, + \KatapultAPI\Core\Model\ResponseVirtualMachineNetworkInterfaceAlreadyDetachedResponse::class => false, \KatapultAPI\Core\Model\ResponseTagNotFoundResponse::class => false, \KatapultAPI\Core\Model\ResponseVirtualMachineGroupNotFoundResponse::class => false, \KatapultAPI\Core\Model\ResponseOperatingSystemNotFoundResponse::class => false, @@ -2398,6 +2621,8 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\ResponseNoUserAssociatedWithIdentityResponse::class => false, \KatapultAPI\Core\Model\ResponseMultipleObjectStorageBucketsFoundResponse::class => false, \KatapultAPI\Core\Model\ResponseNetworkErrorResponse::class => false, + \KatapultAPI\Core\Model\ResponseObjectStorageAccessKeyNotFoundResponse::class => false, + \KatapultAPI\Core\Model\ResponseObjectStorageProvisioningErrorResponse::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationApiTokensGetResponse200::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationApiTokensPostBody::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationApiTokensPostResponse200::class => false, @@ -2411,6 +2636,18 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\ApiTokensApiTokenRegenerateSecretPostBody::class => false, \KatapultAPI\Core\Model\ApiTokensApiTokenRegenerateSecretPostResponse200::class => false, \KatapultAPI\Core\Model\ApiTokensApiTokenRegenerateSecretPostResponse200ApiToken::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostBody::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostResponse201::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageAccessKeysGetResponse200::class => false, + \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostBody::class => false, + \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200::class => false, + \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200ObjectStorageAccessKey::class => false, + \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyDeleteBody::class => false, + \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyDeleteResponse200::class => false, + \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGetResponse200::class => false, + \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchBody::class => false, + \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchResponse200::class => false, + \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchResponse200ObjectStorageAccessKey::class => false, \KatapultAPI\Core\Model\AddressListsAddressListEntriesGetResponse200::class => false, \KatapultAPI\Core\Model\AddressListsAddressListEntriesPostBody::class => false, \KatapultAPI\Core\Model\AddressListsAddressListEntriesPostResponse201::class => false, @@ -2611,6 +2848,12 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\OrganizationsOrganizationAvailableNetworksGetResponse200::class => false, \KatapultAPI\Core\Model\NetworksNetworkGetResponse200::class => false, \KatapultAPI\Core\Model\NetworksNetworkGetResponse200Network::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteBody::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteResponse200::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterGetResponse200::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostBody::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201ObjectStorageAccount::class => false, \KatapultAPI\Core\Model\OperatingSystemsGetResponse200::class => false, \KatapultAPI\Core\Model\OperatingSystemsOperatingSystemGetResponse200::class => false, \KatapultAPI\Core\Model\OperatingSystemsOperatingSystemGetResponse200OperatingSystem::class => false, @@ -2719,8 +2962,14 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\VirtualMachineGroupsVirtualMachineGroupPatchResponse200::class => false, \KatapultAPI\Core\Model\VirtualMachineGroupsVirtualMachineGroupPatchResponse200VirtualMachineGroup::class => false, \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesGetResponse200::class => false, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostBody::class => false, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200::class => false, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200VirtualMachineNetworkInterface::class => false, \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworksNetworkInterfaceGetResponse200::class => false, \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworksNetworkInterfaceGetResponse200VirtualMachineNetworkInterface::class => false, + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteBody::class => false, + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200::class => false, + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200VirtualMachineNetworkInterface::class => false, \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceGetResponse200::class => false, \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceGetResponse200VirtualMachineNetworkInterface::class => false, \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAvailableIpsAddressVersionGetResponse200::class => false, @@ -2733,6 +2982,12 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceUpdateSpeedProfilePatchBody::class => false, \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceUpdateSpeedProfilePatchResponse200::class => false, \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceUpdateSpeedProfilePatchResponse200Task::class => false, + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostBody::class => false, + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200::class => false, + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200VirtualMachineNetworkInterface::class => false, + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostBody::class => false, + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200::class => false, + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200VirtualMachineNetworkInterface::class => false, \KatapultAPI\Core\Model\VirtualMachinePackagesGetResponse200::class => false, \KatapultAPI\Core\Model\VirtualMachinePackagesVirtualMachinePackageGetResponse200::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesGetResponse200::class => false, @@ -3632,47 +3887,137 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaces::class => GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesNormalizer::class, + \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesNetwork::class => GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesNetworkNormalizer::class, + + \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesVirtualNetwork::class => GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesVirtualNetworkNormalizer::class, + \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacesPartNetwork::class => GetVirtualMachineNetworkInterfacesPartNetworkNormalizer::class, + \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacesPartVirtualNetwork::class => GetVirtualMachineNetworkInterfacesPartVirtualNetworkNormalizer::class, + \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacesPartIPAddresses::class => GetVirtualMachineNetworkInterfacesPartIPAddressesNormalizer::class, + \KatapultAPI\Core\Model\NetworkSpeedProfileLookup::class => NetworkSpeedProfileLookupNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterface::class => PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNetwork::class => PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartVirtualMachine::class => PostVirtualMachineNetworkInterfacesPartVirtualMachineNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartNetwork::class => PostVirtualMachineNetworkInterfacesPartNetworkNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartVirtualNetwork::class => PostVirtualMachineNetworkInterfacesPartVirtualNetworkNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartIPAddresses::class => PostVirtualMachineNetworkInterfacesPartIPAddressesNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartSpeedProfile::class => PostVirtualMachineNetworkInterfacesPartSpeedProfileNormalizer::class, + + \KatapultAPI\Core\Model\VirtualNetworkNotFoundSchema::class => VirtualNetworkNotFoundSchemaNormalizer::class, + + \KatapultAPI\Core\Model\NetworkSpeedProfileNotFoundSchema::class => NetworkSpeedProfileNotFoundSchemaNormalizer::class, + \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterface::class => GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNormalizer::class, + \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork::class => GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer::class, + + \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer::class, + \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacePartVirtualMachine::class => GetVirtualMachineNetworkInterfacePartVirtualMachineNormalizer::class, \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacePartNetwork::class => GetVirtualMachineNetworkInterfacePartNetworkNormalizer::class, + \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacePartVirtualNetwork::class => GetVirtualMachineNetworkInterfacePartVirtualNetworkNormalizer::class, + \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacePartIPAddresses::class => GetVirtualMachineNetworkInterfacePartIPAddressesNormalizer::class, \KatapultAPI\Core\Model\InterfaceNotFoundSchema::class => InterfaceNotFoundSchemaNormalizer::class, \KatapultAPI\Core\Model\GetVMNIVMNI200ResponseVirtualMachineNetworkInterface::class => GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNormalizer::class, + \KatapultAPI\Core\Model\GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNetwork::class => GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer::class, + + \KatapultAPI\Core\Model\GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer::class, + \KatapultAPI\Core\Model\GetVMNIVMNIPartVirtualMachine::class => GetVMNIVMNIPartVirtualMachineNormalizer::class, \KatapultAPI\Core\Model\GetVMNIVMNIPartNetwork::class => GetVMNIVMNIPartNetworkNormalizer::class, + \KatapultAPI\Core\Model\GetVMNIVMNIPartVirtualNetwork::class => GetVMNIVMNIPartVirtualNetworkNormalizer::class, + \KatapultAPI\Core\Model\GetVMNIVMNIPartIPAddresses::class => GetVMNIVMNIPartIPAddressesNormalizer::class, \KatapultAPI\Core\Model\GetVMNIVMNIPartSpeedProfile::class => GetVMNIVMNIPartSpeedProfileNormalizer::class, \KatapultAPI\Core\Model\VirtualMachineNetworkInterfaceLookup::class => VirtualMachineNetworkInterfaceLookupNormalizer::class, + \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterface::class => DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNormalizer::class, + + \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork::class => DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer::class, + + \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer::class, + + \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartVirtualMachine::class => DeleteVirtualMachineNetworkInterfacePartVirtualMachineNormalizer::class, + + \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartNetwork::class => DeleteVirtualMachineNetworkInterfacePartNetworkNormalizer::class, + + \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartVirtualNetwork::class => DeleteVirtualMachineNetworkInterfacePartVirtualNetworkNormalizer::class, + + \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartIPAddresses::class => DeleteVirtualMachineNetworkInterfacePartIPAddressesNormalizer::class, + + \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartSpeedProfile::class => DeleteVirtualMachineNetworkInterfacePartSpeedProfileNormalizer::class, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterface::class => PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNormalizer::class, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNetwork::class => PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer::class, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualMachine::class => PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualMachineNormalizer::class, \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIPPartNetwork::class => PostVirtualMachineNetworkInterfaceAllocateIPPartNetworkNormalizer::class, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualNetwork::class => PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualNetworkNormalizer::class, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIPPartIPAddresses::class => PostVirtualMachineNetworkInterfaceAllocateIPPartIPAddressesNormalizer::class, \KatapultAPI\Core\Model\VirtualMachineNetworkInterfaceNotFoundSchema::class => VirtualMachineNetworkInterfaceNotFoundSchemaNormalizer::class, \KatapultAPI\Core\Model\InvalidIPSchema::class => InvalidIPSchemaNormalizer::class, - \KatapultAPI\Core\Model\NetworkSpeedProfileLookup::class => NetworkSpeedProfileLookupNormalizer::class, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterface::class => PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNormalizer::class, - \KatapultAPI\Core\Model\NetworkSpeedProfileNotFoundSchema::class => NetworkSpeedProfileNotFoundSchemaNormalizer::class, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNetwork::class => PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartVirtualMachine::class => PostVirtualMachineNetworkInterfaceAttachPartVirtualMachineNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartNetwork::class => PostVirtualMachineNetworkInterfaceAttachPartNetworkNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartVirtualNetwork::class => PostVirtualMachineNetworkInterfaceAttachPartVirtualNetworkNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartIPAddresses::class => PostVirtualMachineNetworkInterfaceAttachPartIPAddressesNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartSpeedProfile::class => PostVirtualMachineNetworkInterfaceAttachPartSpeedProfileNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterface::class => PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNetwork::class => PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartVirtualMachine::class => PostVirtualMachineNetworkInterfaceDetachPartVirtualMachineNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartNetwork::class => PostVirtualMachineNetworkInterfaceDetachPartNetworkNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartVirtualNetwork::class => PostVirtualMachineNetworkInterfaceDetachPartVirtualNetworkNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartIPAddresses::class => PostVirtualMachineNetworkInterfaceDetachPartIPAddressesNormalizer::class, + + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartSpeedProfile::class => PostVirtualMachineNetworkInterfaceDetachPartSpeedProfileNormalizer::class, \KatapultAPI\Core\Model\GetOrganizationTags200ResponseTags::class => GetOrganizationTags200ResponseTagsNormalizer::class, @@ -3702,22 +4047,26 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\ObjectStorageClusterLookup::class => ObjectStorageClusterLookupNormalizer::class, - \KatapultAPI\Core\Model\ObjectStorageBucketArguments::class => ObjectStorageBucketArgumentsNormalizer::class, - - \KatapultAPI\Core\Model\ObjectStorageBucketACLArguments::class => ObjectStorageBucketACLArgumentsNormalizer::class, - - \KatapultAPI\Core\Model\ObjectStorageBucket::class => ObjectStorageBucketNormalizer::class, + \KatapultAPI\Core\Model\ObjectStorageAccount::class => ObjectStorageAccountNormalizer::class, - \KatapultAPI\Core\Model\ObjectStorageBucketAccessControlList::class => ObjectStorageBucketAccessControlListNormalizer::class, + \KatapultAPI\Core\Model\ObjectStorageClusterNotFoundSchema::class => ObjectStorageClusterNotFoundSchemaNormalizer::class, \KatapultAPI\Core\Model\ObjectStorageAccountNotProvisionedSchema::class => ObjectStorageAccountNotProvisionedSchemaNormalizer::class, \KatapultAPI\Core\Model\ObjectStorageAccountSuspendedSchema::class => ObjectStorageAccountSuspendedSchemaNormalizer::class, - \KatapultAPI\Core\Model\ObjectStorageClusterNotFoundSchema::class => ObjectStorageClusterNotFoundSchemaNormalizer::class, - \KatapultAPI\Core\Model\ObjectStorageAccountNotFoundSchema::class => ObjectStorageAccountNotFoundSchemaNormalizer::class, + \KatapultAPI\Core\Model\DeleteOrganizationObjectStorageObjectStorageCluster200ResponseTrashObject::class => DeleteOrganizationObjectStorageObjectStorageCluster200ResponseTrashObjectNormalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageBucketArguments::class => ObjectStorageBucketArgumentsNormalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageBucketACLArguments::class => ObjectStorageBucketACLArgumentsNormalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageBucket::class => ObjectStorageBucketNormalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageBucketAccessControlList::class => ObjectStorageBucketAccessControlListNormalizer::class, + \KatapultAPI\Core\Model\ObjectStorageBucketLookup::class => ObjectStorageBucketLookupNormalizer::class, \KatapultAPI\Core\Model\ObjectStorageBucketNotFoundSchema::class => ObjectStorageBucketNotFoundSchemaNormalizer::class, @@ -3732,6 +4081,14 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\ObjectStorageObjectPresignedURLArguments::class => ObjectStorageObjectPresignedURLArgumentsNormalizer::class, + \KatapultAPI\Core\Model\ObjectStorageAccessKeyArguments::class => ObjectStorageAccessKeyArgumentsNormalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageAccessKey::class => ObjectStorageAccessKeyNormalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageAccessKeyLookup::class => ObjectStorageAccessKeyLookupNormalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageProvisioningErrorSchema::class => ObjectStorageProvisioningErrorSchemaNormalizer::class, + \KatapultAPI\Core\Model\ResponseAPIAuthenticator400Response::class => ResponseAPIAuthenticator400ResponseNormalizer::class, \KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response::class => ResponseAPIAuthenticator429ResponseNormalizer::class, @@ -3816,6 +4173,10 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\ResponseSpeedProfileAlreadyAssignedResponse::class => ResponseSpeedProfileAlreadyAssignedResponseNormalizer::class, + \KatapultAPI\Core\Model\ResponseVirtualMachineNetworkInterfaceAlreadyAttachedResponse::class => ResponseVirtualMachineNetworkInterfaceAlreadyAttachedResponseNormalizer::class, + + \KatapultAPI\Core\Model\ResponseVirtualMachineNetworkInterfaceAlreadyDetachedResponse::class => ResponseVirtualMachineNetworkInterfaceAlreadyDetachedResponseNormalizer::class, + \KatapultAPI\Core\Model\ResponseTagNotFoundResponse::class => ResponseTagNotFoundResponseNormalizer::class, \KatapultAPI\Core\Model\ResponseVirtualMachineGroupNotFoundResponse::class => ResponseVirtualMachineGroupNotFoundResponseNormalizer::class, @@ -3840,6 +4201,10 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\ResponseNetworkErrorResponse::class => ResponseNetworkErrorResponseNormalizer::class, + \KatapultAPI\Core\Model\ResponseObjectStorageAccessKeyNotFoundResponse::class => ResponseObjectStorageAccessKeyNotFoundResponseNormalizer::class, + + \KatapultAPI\Core\Model\ResponseObjectStorageProvisioningErrorResponse::class => ResponseObjectStorageProvisioningErrorResponseNormalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationApiTokensGetResponse200::class => OrganizationsOrganizationApiTokensGetResponse200Normalizer::class, \KatapultAPI\Core\Model\OrganizationsOrganizationApiTokensPostBody::class => OrganizationsOrganizationApiTokensPostBodyNormalizer::class, @@ -3866,6 +4231,30 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\ApiTokensApiTokenRegenerateSecretPostResponse200ApiToken::class => ApiTokensApiTokenRegenerateSecretPostResponse200ApiTokenNormalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostBody::class => OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostBodyNormalizer::class, + + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostResponse201::class => OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostResponse201Normalizer::class, + + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageAccessKeysGetResponse200::class => OrganizationsOrganizationObjectStorageAccessKeysGetResponse200Normalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostBody::class => ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostBodyNormalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200::class => ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200Normalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200ObjectStorageAccessKey::class => ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200ObjectStorageAccessKeyNormalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyDeleteBody::class => ObjectStorageAccessKeysAccessKeyDeleteBodyNormalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyDeleteResponse200::class => ObjectStorageAccessKeysAccessKeyDeleteResponse200Normalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGetResponse200::class => ObjectStorageAccessKeysAccessKeyGetResponse200Normalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchBody::class => ObjectStorageAccessKeysAccessKeyPatchBodyNormalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchResponse200::class => ObjectStorageAccessKeysAccessKeyPatchResponse200Normalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchResponse200ObjectStorageAccessKey::class => ObjectStorageAccessKeysAccessKeyPatchResponse200ObjectStorageAccessKeyNormalizer::class, + \KatapultAPI\Core\Model\AddressListsAddressListEntriesGetResponse200::class => AddressListsAddressListEntriesGetResponse200Normalizer::class, \KatapultAPI\Core\Model\AddressListsAddressListEntriesPostBody::class => AddressListsAddressListEntriesPostBodyNormalizer::class, @@ -4266,6 +4655,18 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\NetworksNetworkGetResponse200Network::class => NetworksNetworkGetResponse200NetworkNormalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteBody::class => OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteBodyNormalizer::class, + + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteResponse200::class => OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteResponse200Normalizer::class, + + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterGetResponse200::class => OrganizationsOrganizationObjectStorageObjectStorageClusterGetResponse200Normalizer::class, + + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostBody::class => OrganizationsOrganizationObjectStorageObjectStorageClusterPostBodyNormalizer::class, + + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201::class => OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201Normalizer::class, + + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201ObjectStorageAccount::class => OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201ObjectStorageAccountNormalizer::class, + \KatapultAPI\Core\Model\OperatingSystemsGetResponse200::class => OperatingSystemsGetResponse200Normalizer::class, \KatapultAPI\Core\Model\OperatingSystemsOperatingSystemGetResponse200::class => OperatingSystemsOperatingSystemGetResponse200Normalizer::class, @@ -4482,10 +4883,22 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesGetResponse200::class => VirtualMachinesVirtualMachineNetworkInterfacesGetResponse200Normalizer::class, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostBody::class => VirtualMachinesVirtualMachineNetworkInterfacesPostBodyNormalizer::class, + + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200::class => VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200Normalizer::class, + + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200VirtualMachineNetworkInterface::class => VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200VirtualMachineNetworkInterfaceNormalizer::class, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworksNetworkInterfaceGetResponse200::class => VirtualMachinesVirtualMachineNetworksNetworkInterfaceGetResponse200Normalizer::class, \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworksNetworkInterfaceGetResponse200VirtualMachineNetworkInterface::class => VirtualMachinesVirtualMachineNetworksNetworkInterfaceGetResponse200VirtualMachineNetworkInterfaceNormalizer::class, + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteBody::class => VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteBodyNormalizer::class, + + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200::class => VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200Normalizer::class, + + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200VirtualMachineNetworkInterface::class => VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200VirtualMachineNetworkInterfaceNormalizer::class, + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceGetResponse200::class => VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceGetResponse200Normalizer::class, \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceGetResponse200VirtualMachineNetworkInterface::class => VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceGetResponse200VirtualMachineNetworkInterfaceNormalizer::class, @@ -4510,6 +4923,18 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceUpdateSpeedProfilePatchResponse200Task::class => VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceUpdateSpeedProfilePatchResponse200TaskNormalizer::class, + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostBody::class => VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostBodyNormalizer::class, + + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200::class => VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200Normalizer::class, + + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200VirtualMachineNetworkInterface::class => VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200VirtualMachineNetworkInterfaceNormalizer::class, + + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostBody::class => VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostBodyNormalizer::class, + + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200::class => VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200Normalizer::class, + + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200VirtualMachineNetworkInterface::class => VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200VirtualMachineNetworkInterfaceNormalizer::class, + \KatapultAPI\Core\Model\VirtualMachinePackagesGetResponse200::class => VirtualMachinePackagesGetResponse200Normalizer::class, \KatapultAPI\Core\Model\VirtualMachinePackagesVirtualMachinePackageGetResponse200::class => VirtualMachinePackagesVirtualMachinePackageGetResponse200Normalizer::class, @@ -5033,27 +5458,72 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\NoAvailableAddressesSchema::class => false, \KatapultAPI\Core\Model\GetIPAddress200ResponseAllocation::class => false, \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaces::class => false, + \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesNetwork::class => false, + \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfacesVirtualNetwork::class => false, \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacesPartNetwork::class => false, + \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacesPartVirtualNetwork::class => false, \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacesPartIPAddresses::class => false, + \KatapultAPI\Core\Model\NetworkSpeedProfileLookup::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterface::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNetwork::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartVirtualMachine::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartNetwork::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartVirtualNetwork::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartIPAddresses::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartSpeedProfile::class => false, + \KatapultAPI\Core\Model\VirtualNetworkNotFoundSchema::class => false, + \KatapultAPI\Core\Model\NetworkSpeedProfileNotFoundSchema::class => false, \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterface::class => false, + \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork::class => false, + \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => false, \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacePartVirtualMachine::class => false, \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacePartNetwork::class => false, + \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacePartVirtualNetwork::class => false, \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacePartIPAddresses::class => false, \KatapultAPI\Core\Model\InterfaceNotFoundSchema::class => false, \KatapultAPI\Core\Model\GetVMNIVMNI200ResponseVirtualMachineNetworkInterface::class => false, + \KatapultAPI\Core\Model\GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNetwork::class => false, + \KatapultAPI\Core\Model\GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => false, \KatapultAPI\Core\Model\GetVMNIVMNIPartVirtualMachine::class => false, \KatapultAPI\Core\Model\GetVMNIVMNIPartNetwork::class => false, + \KatapultAPI\Core\Model\GetVMNIVMNIPartVirtualNetwork::class => false, \KatapultAPI\Core\Model\GetVMNIVMNIPartIPAddresses::class => false, \KatapultAPI\Core\Model\GetVMNIVMNIPartSpeedProfile::class => false, \KatapultAPI\Core\Model\VirtualMachineNetworkInterfaceLookup::class => false, + \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterface::class => false, + \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork::class => false, + \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => false, + \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartVirtualMachine::class => false, + \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartNetwork::class => false, + \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartVirtualNetwork::class => false, + \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartIPAddresses::class => false, + \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartSpeedProfile::class => false, \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterface::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNetwork::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => false, \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualMachine::class => false, \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIPPartNetwork::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualNetwork::class => false, \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIPPartIPAddresses::class => false, \KatapultAPI\Core\Model\VirtualMachineNetworkInterfaceNotFoundSchema::class => false, \KatapultAPI\Core\Model\InvalidIPSchema::class => false, - \KatapultAPI\Core\Model\NetworkSpeedProfileLookup::class => false, - \KatapultAPI\Core\Model\NetworkSpeedProfileNotFoundSchema::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterface::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNetwork::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartVirtualMachine::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartNetwork::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartVirtualNetwork::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartIPAddresses::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartSpeedProfile::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterface::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNetwork::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartVirtualMachine::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartNetwork::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartVirtualNetwork::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartIPAddresses::class => false, + \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartSpeedProfile::class => false, \KatapultAPI\Core\Model\GetOrganizationTags200ResponseTags::class => false, \KatapultAPI\Core\Model\TagArguments::class => false, \KatapultAPI\Core\Model\TagLookup::class => false, @@ -5068,14 +5538,16 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\GetUsersCurrent200ResponseOrganizations::class => false, \KatapultAPI\Core\Model\IdentityNotLinkedToWebSessionSchema::class => false, \KatapultAPI\Core\Model\ObjectStorageClusterLookup::class => false, + \KatapultAPI\Core\Model\ObjectStorageAccount::class => false, + \KatapultAPI\Core\Model\ObjectStorageClusterNotFoundSchema::class => false, + \KatapultAPI\Core\Model\ObjectStorageAccountNotProvisionedSchema::class => false, + \KatapultAPI\Core\Model\ObjectStorageAccountSuspendedSchema::class => false, + \KatapultAPI\Core\Model\ObjectStorageAccountNotFoundSchema::class => false, + \KatapultAPI\Core\Model\DeleteOrganizationObjectStorageObjectStorageCluster200ResponseTrashObject::class => false, \KatapultAPI\Core\Model\ObjectStorageBucketArguments::class => false, \KatapultAPI\Core\Model\ObjectStorageBucketACLArguments::class => false, \KatapultAPI\Core\Model\ObjectStorageBucket::class => false, \KatapultAPI\Core\Model\ObjectStorageBucketAccessControlList::class => false, - \KatapultAPI\Core\Model\ObjectStorageAccountNotProvisionedSchema::class => false, - \KatapultAPI\Core\Model\ObjectStorageAccountSuspendedSchema::class => false, - \KatapultAPI\Core\Model\ObjectStorageClusterNotFoundSchema::class => false, - \KatapultAPI\Core\Model\ObjectStorageAccountNotFoundSchema::class => false, \KatapultAPI\Core\Model\ObjectStorageBucketLookup::class => false, \KatapultAPI\Core\Model\ObjectStorageBucketNotFoundSchema::class => false, \KatapultAPI\Core\Model\ObjectStorageBucketDeletionError::class => false, @@ -5083,6 +5555,10 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\ObjectStorageObject::class => false, \KatapultAPI\Core\Model\ObjectNotFoundSchema::class => false, \KatapultAPI\Core\Model\ObjectStorageObjectPresignedURLArguments::class => false, + \KatapultAPI\Core\Model\ObjectStorageAccessKeyArguments::class => false, + \KatapultAPI\Core\Model\ObjectStorageAccessKey::class => false, + \KatapultAPI\Core\Model\ObjectStorageAccessKeyLookup::class => false, + \KatapultAPI\Core\Model\ObjectStorageProvisioningErrorSchema::class => false, \KatapultAPI\Core\Model\ResponseAPIAuthenticator400Response::class => false, \KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response::class => false, \KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response::class => false, @@ -5125,6 +5601,8 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\ResponseNoAllocationResponse::class => false, \KatapultAPI\Core\Model\ResponseVirtualMachineNetworkInterfaceNotFoundResponse::class => false, \KatapultAPI\Core\Model\ResponseSpeedProfileAlreadyAssignedResponse::class => false, + \KatapultAPI\Core\Model\ResponseVirtualMachineNetworkInterfaceAlreadyAttachedResponse::class => false, + \KatapultAPI\Core\Model\ResponseVirtualMachineNetworkInterfaceAlreadyDetachedResponse::class => false, \KatapultAPI\Core\Model\ResponseTagNotFoundResponse::class => false, \KatapultAPI\Core\Model\ResponseVirtualMachineGroupNotFoundResponse::class => false, \KatapultAPI\Core\Model\ResponseOperatingSystemNotFoundResponse::class => false, @@ -5137,6 +5615,8 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\ResponseNoUserAssociatedWithIdentityResponse::class => false, \KatapultAPI\Core\Model\ResponseMultipleObjectStorageBucketsFoundResponse::class => false, \KatapultAPI\Core\Model\ResponseNetworkErrorResponse::class => false, + \KatapultAPI\Core\Model\ResponseObjectStorageAccessKeyNotFoundResponse::class => false, + \KatapultAPI\Core\Model\ResponseObjectStorageProvisioningErrorResponse::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationApiTokensGetResponse200::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationApiTokensPostBody::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationApiTokensPostResponse200::class => false, @@ -5150,6 +5630,18 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\ApiTokensApiTokenRegenerateSecretPostBody::class => false, \KatapultAPI\Core\Model\ApiTokensApiTokenRegenerateSecretPostResponse200::class => false, \KatapultAPI\Core\Model\ApiTokensApiTokenRegenerateSecretPostResponse200ApiToken::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostBody::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostResponse201::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageAccessKeysGetResponse200::class => false, + \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostBody::class => false, + \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200::class => false, + \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200ObjectStorageAccessKey::class => false, + \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyDeleteBody::class => false, + \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyDeleteResponse200::class => false, + \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGetResponse200::class => false, + \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchBody::class => false, + \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchResponse200::class => false, + \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchResponse200ObjectStorageAccessKey::class => false, \KatapultAPI\Core\Model\AddressListsAddressListEntriesGetResponse200::class => false, \KatapultAPI\Core\Model\AddressListsAddressListEntriesPostBody::class => false, \KatapultAPI\Core\Model\AddressListsAddressListEntriesPostResponse201::class => false, @@ -5350,6 +5842,12 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\OrganizationsOrganizationAvailableNetworksGetResponse200::class => false, \KatapultAPI\Core\Model\NetworksNetworkGetResponse200::class => false, \KatapultAPI\Core\Model\NetworksNetworkGetResponse200Network::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteBody::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteResponse200::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterGetResponse200::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostBody::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201ObjectStorageAccount::class => false, \KatapultAPI\Core\Model\OperatingSystemsGetResponse200::class => false, \KatapultAPI\Core\Model\OperatingSystemsOperatingSystemGetResponse200::class => false, \KatapultAPI\Core\Model\OperatingSystemsOperatingSystemGetResponse200OperatingSystem::class => false, @@ -5458,8 +5956,14 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\VirtualMachineGroupsVirtualMachineGroupPatchResponse200::class => false, \KatapultAPI\Core\Model\VirtualMachineGroupsVirtualMachineGroupPatchResponse200VirtualMachineGroup::class => false, \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesGetResponse200::class => false, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostBody::class => false, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200::class => false, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200VirtualMachineNetworkInterface::class => false, \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworksNetworkInterfaceGetResponse200::class => false, \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworksNetworkInterfaceGetResponse200VirtualMachineNetworkInterface::class => false, + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteBody::class => false, + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200::class => false, + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200VirtualMachineNetworkInterface::class => false, \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceGetResponse200::class => false, \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceGetResponse200VirtualMachineNetworkInterface::class => false, \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAvailableIpsAddressVersionGetResponse200::class => false, @@ -5472,6 +5976,12 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceUpdateSpeedProfilePatchBody::class => false, \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceUpdateSpeedProfilePatchResponse200::class => false, \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceUpdateSpeedProfilePatchResponse200Task::class => false, + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostBody::class => false, + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200::class => false, + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200VirtualMachineNetworkInterface::class => false, + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostBody::class => false, + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200::class => false, + \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200VirtualMachineNetworkInterface::class => false, \KatapultAPI\Core\Model\VirtualMachinePackagesGetResponse200::class => false, \KatapultAPI\Core\Model\VirtualMachinePackagesVirtualMachinePackageGetResponse200::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesGetResponse200::class => false, diff --git a/src/Core/Normalizer/ObjectStorageAccessKeyArgumentsNormalizer.php b/src/Core/Normalizer/ObjectStorageAccessKeyArgumentsNormalizer.php new file mode 100644 index 00000000..0fb36388 --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageAccessKeyArgumentsNormalizer.php @@ -0,0 +1,191 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageAccessKeyArgumentsNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\ObjectStorageAccessKeyArguments::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageAccessKeyArguments::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\ObjectStorageAccessKeyArguments(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + if (\array_key_exists('all_buckets_read', $data)) { + $object->setAllBucketsRead($data['all_buckets_read']); + unset($data['all_buckets_read']); + } + if (\array_key_exists('all_objects_read', $data)) { + $object->setAllObjectsRead($data['all_objects_read']); + unset($data['all_objects_read']); + } + if (\array_key_exists('all_objects_write', $data)) { + $object->setAllObjectsWrite($data['all_objects_write']); + unset($data['all_objects_write']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + $data['name'] = $object->getName(); + if ($object->isInitialized('allBucketsRead') && null !== $object->getAllBucketsRead()) { + $data['all_buckets_read'] = $object->getAllBucketsRead(); + } + if ($object->isInitialized('allObjectsRead') && null !== $object->getAllObjectsRead()) { + $data['all_objects_read'] = $object->getAllObjectsRead(); + } + if ($object->isInitialized('allObjectsWrite') && null !== $object->getAllObjectsWrite()) { + $data['all_objects_write'] = $object->getAllObjectsWrite(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\ObjectStorageAccessKeyArguments::class => false]; + } + } +} else { + class ObjectStorageAccessKeyArgumentsNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\ObjectStorageAccessKeyArguments::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageAccessKeyArguments::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\ObjectStorageAccessKeyArguments(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + if (\array_key_exists('all_buckets_read', $data)) { + $object->setAllBucketsRead($data['all_buckets_read']); + unset($data['all_buckets_read']); + } + if (\array_key_exists('all_objects_read', $data)) { + $object->setAllObjectsRead($data['all_objects_read']); + unset($data['all_objects_read']); + } + if (\array_key_exists('all_objects_write', $data)) { + $object->setAllObjectsWrite($data['all_objects_write']); + unset($data['all_objects_write']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + $data['name'] = $object->getName(); + if ($object->isInitialized('allBucketsRead') && null !== $object->getAllBucketsRead()) { + $data['all_buckets_read'] = $object->getAllBucketsRead(); + } + if ($object->isInitialized('allObjectsRead') && null !== $object->getAllObjectsRead()) { + $data['all_objects_read'] = $object->getAllObjectsRead(); + } + if ($object->isInitialized('allObjectsWrite') && null !== $object->getAllObjectsWrite()) { + $data['all_objects_write'] = $object->getAllObjectsWrite(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\ObjectStorageAccessKeyArguments::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageAccessKeyLookupNormalizer.php b/src/Core/Normalizer/ObjectStorageAccessKeyLookupNormalizer.php new file mode 100644 index 00000000..a0ce4b51 --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageAccessKeyLookupNormalizer.php @@ -0,0 +1,153 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageAccessKeyLookupNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\ObjectStorageAccessKeyLookup::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageAccessKeyLookup::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\ObjectStorageAccessKeyLookup(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\ObjectStorageAccessKeyLookup::class => false]; + } + } +} else { + class ObjectStorageAccessKeyLookupNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\ObjectStorageAccessKeyLookup::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageAccessKeyLookup::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\ObjectStorageAccessKeyLookup(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\ObjectStorageAccessKeyLookup::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageAccessKeyNormalizer.php b/src/Core/Normalizer/ObjectStorageAccessKeyNormalizer.php new file mode 100644 index 00000000..0077383c --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageAccessKeyNormalizer.php @@ -0,0 +1,365 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageAccessKeyNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\ObjectStorageAccessKey::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageAccessKey::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\ObjectStorageAccessKey(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + if (\array_key_exists('created_at', $data)) { + $object->setCreatedAt($data['created_at']); + unset($data['created_at']); + } + if (\array_key_exists('region', $data)) { + $object->setRegion($data['region']); + unset($data['region']); + } + if (\array_key_exists('state', $data)) { + $object->setState($data['state']); + unset($data['state']); + } + if (\array_key_exists('all_buckets_read', $data)) { + $object->setAllBucketsRead($data['all_buckets_read']); + unset($data['all_buckets_read']); + } + if (\array_key_exists('all_objects_read', $data)) { + $object->setAllObjectsRead($data['all_objects_read']); + unset($data['all_objects_read']); + } + if (\array_key_exists('all_objects_write', $data)) { + $object->setAllObjectsWrite($data['all_objects_write']); + unset($data['all_objects_write']); + } + if (\array_key_exists('read_buckets', $data)) { + $values = []; + foreach ($data['read_buckets'] as $value) { + $values[] = $value; + } + $object->setReadBuckets($values); + unset($data['read_buckets']); + } + if (\array_key_exists('write_buckets', $data)) { + $values_1 = []; + foreach ($data['write_buckets'] as $value_1) { + $values_1[] = $value_1; + } + $object->setWriteBuckets($values_1); + unset($data['write_buckets']); + } + if (\array_key_exists('server_url', $data) && $data['server_url'] !== null) { + $object->setServerUrl($data['server_url']); + unset($data['server_url']); + } elseif (\array_key_exists('server_url', $data) && $data['server_url'] === null) { + $object->setServerUrl(null); + } + if (\array_key_exists('s3_access_key_id', $data) && $data['s3_access_key_id'] !== null) { + $object->setS3AccessKeyId($data['s3_access_key_id']); + unset($data['s3_access_key_id']); + } elseif (\array_key_exists('s3_access_key_id', $data) && $data['s3_access_key_id'] === null) { + $object->setS3AccessKeyId(null); + } + if (\array_key_exists('s3_secret_access_key', $data) && $data['s3_secret_access_key'] !== null) { + $object->setS3SecretAccessKey($data['s3_secret_access_key']); + unset($data['s3_secret_access_key']); + } elseif (\array_key_exists('s3_secret_access_key', $data) && $data['s3_secret_access_key'] === null) { + $object->setS3SecretAccessKey(null); + } + foreach ($data as $key => $value_2) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value_2; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + if ($object->isInitialized('createdAt') && null !== $object->getCreatedAt()) { + $data['created_at'] = $object->getCreatedAt(); + } + if ($object->isInitialized('region') && null !== $object->getRegion()) { + $data['region'] = $object->getRegion(); + } + if ($object->isInitialized('state') && null !== $object->getState()) { + $data['state'] = $object->getState(); + } + if ($object->isInitialized('allBucketsRead') && null !== $object->getAllBucketsRead()) { + $data['all_buckets_read'] = $object->getAllBucketsRead(); + } + if ($object->isInitialized('allObjectsRead') && null !== $object->getAllObjectsRead()) { + $data['all_objects_read'] = $object->getAllObjectsRead(); + } + if ($object->isInitialized('allObjectsWrite') && null !== $object->getAllObjectsWrite()) { + $data['all_objects_write'] = $object->getAllObjectsWrite(); + } + if ($object->isInitialized('readBuckets') && null !== $object->getReadBuckets()) { + $values = []; + foreach ($object->getReadBuckets() as $value) { + $values[] = $value; + } + $data['read_buckets'] = $values; + } + if ($object->isInitialized('writeBuckets') && null !== $object->getWriteBuckets()) { + $values_1 = []; + foreach ($object->getWriteBuckets() as $value_1) { + $values_1[] = $value_1; + } + $data['write_buckets'] = $values_1; + } + if ($object->isInitialized('serverUrl') && null !== $object->getServerUrl()) { + $data['server_url'] = $object->getServerUrl(); + } + if ($object->isInitialized('s3AccessKeyId') && null !== $object->getS3AccessKeyId()) { + $data['s3_access_key_id'] = $object->getS3AccessKeyId(); + } + if ($object->isInitialized('s3SecretAccessKey') && null !== $object->getS3SecretAccessKey()) { + $data['s3_secret_access_key'] = $object->getS3SecretAccessKey(); + } + foreach ($object as $key => $value_2) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value_2; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\ObjectStorageAccessKey::class => false]; + } + } +} else { + class ObjectStorageAccessKeyNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\ObjectStorageAccessKey::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageAccessKey::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\ObjectStorageAccessKey(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + if (\array_key_exists('created_at', $data)) { + $object->setCreatedAt($data['created_at']); + unset($data['created_at']); + } + if (\array_key_exists('region', $data)) { + $object->setRegion($data['region']); + unset($data['region']); + } + if (\array_key_exists('state', $data)) { + $object->setState($data['state']); + unset($data['state']); + } + if (\array_key_exists('all_buckets_read', $data)) { + $object->setAllBucketsRead($data['all_buckets_read']); + unset($data['all_buckets_read']); + } + if (\array_key_exists('all_objects_read', $data)) { + $object->setAllObjectsRead($data['all_objects_read']); + unset($data['all_objects_read']); + } + if (\array_key_exists('all_objects_write', $data)) { + $object->setAllObjectsWrite($data['all_objects_write']); + unset($data['all_objects_write']); + } + if (\array_key_exists('read_buckets', $data)) { + $values = []; + foreach ($data['read_buckets'] as $value) { + $values[] = $value; + } + $object->setReadBuckets($values); + unset($data['read_buckets']); + } + if (\array_key_exists('write_buckets', $data)) { + $values_1 = []; + foreach ($data['write_buckets'] as $value_1) { + $values_1[] = $value_1; + } + $object->setWriteBuckets($values_1); + unset($data['write_buckets']); + } + if (\array_key_exists('server_url', $data) && $data['server_url'] !== null) { + $object->setServerUrl($data['server_url']); + unset($data['server_url']); + } elseif (\array_key_exists('server_url', $data) && $data['server_url'] === null) { + $object->setServerUrl(null); + } + if (\array_key_exists('s3_access_key_id', $data) && $data['s3_access_key_id'] !== null) { + $object->setS3AccessKeyId($data['s3_access_key_id']); + unset($data['s3_access_key_id']); + } elseif (\array_key_exists('s3_access_key_id', $data) && $data['s3_access_key_id'] === null) { + $object->setS3AccessKeyId(null); + } + if (\array_key_exists('s3_secret_access_key', $data) && $data['s3_secret_access_key'] !== null) { + $object->setS3SecretAccessKey($data['s3_secret_access_key']); + unset($data['s3_secret_access_key']); + } elseif (\array_key_exists('s3_secret_access_key', $data) && $data['s3_secret_access_key'] === null) { + $object->setS3SecretAccessKey(null); + } + foreach ($data as $key => $value_2) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value_2; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + if ($object->isInitialized('createdAt') && null !== $object->getCreatedAt()) { + $data['created_at'] = $object->getCreatedAt(); + } + if ($object->isInitialized('region') && null !== $object->getRegion()) { + $data['region'] = $object->getRegion(); + } + if ($object->isInitialized('state') && null !== $object->getState()) { + $data['state'] = $object->getState(); + } + if ($object->isInitialized('allBucketsRead') && null !== $object->getAllBucketsRead()) { + $data['all_buckets_read'] = $object->getAllBucketsRead(); + } + if ($object->isInitialized('allObjectsRead') && null !== $object->getAllObjectsRead()) { + $data['all_objects_read'] = $object->getAllObjectsRead(); + } + if ($object->isInitialized('allObjectsWrite') && null !== $object->getAllObjectsWrite()) { + $data['all_objects_write'] = $object->getAllObjectsWrite(); + } + if ($object->isInitialized('readBuckets') && null !== $object->getReadBuckets()) { + $values = []; + foreach ($object->getReadBuckets() as $value) { + $values[] = $value; + } + $data['read_buckets'] = $values; + } + if ($object->isInitialized('writeBuckets') && null !== $object->getWriteBuckets()) { + $values_1 = []; + foreach ($object->getWriteBuckets() as $value_1) { + $values_1[] = $value_1; + } + $data['write_buckets'] = $values_1; + } + if ($object->isInitialized('serverUrl') && null !== $object->getServerUrl()) { + $data['server_url'] = $object->getServerUrl(); + } + if ($object->isInitialized('s3AccessKeyId') && null !== $object->getS3AccessKeyId()) { + $data['s3_access_key_id'] = $object->getS3AccessKeyId(); + } + if ($object->isInitialized('s3SecretAccessKey') && null !== $object->getS3SecretAccessKey()) { + $data['s3_secret_access_key'] = $object->getS3SecretAccessKey(); + } + foreach ($object as $key => $value_2) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value_2; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\ObjectStorageAccessKey::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageAccessKeysAccessKeyDeleteBodyNormalizer.php b/src/Core/Normalizer/ObjectStorageAccessKeysAccessKeyDeleteBodyNormalizer.php new file mode 100644 index 00000000..2bf2b1d1 --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageAccessKeysAccessKeyDeleteBodyNormalizer.php @@ -0,0 +1,149 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageAccessKeysAccessKeyDeleteBodyNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyDeleteBody::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyDeleteBody::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyDeleteBody(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('access_key', $data)) { + $object->setAccessKey($this->denormalizer->denormalize($data['access_key'], \KatapultAPI\Core\Model\ObjectStorageAccessKeyLookup::class, 'json', $context)); + unset($data['access_key']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + $data['access_key'] = $this->normalizer->normalize($object->getAccessKey(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyDeleteBody::class => false]; + } + } +} else { + class ObjectStorageAccessKeysAccessKeyDeleteBodyNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyDeleteBody::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyDeleteBody::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyDeleteBody(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('access_key', $data)) { + $object->setAccessKey($this->denormalizer->denormalize($data['access_key'], \KatapultAPI\Core\Model\ObjectStorageAccessKeyLookup::class, 'json', $context)); + unset($data['access_key']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + $data['access_key'] = $this->normalizer->normalize($object->getAccessKey(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyDeleteBody::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageAccessKeysAccessKeyDeleteResponse200Normalizer.php b/src/Core/Normalizer/ObjectStorageAccessKeysAccessKeyDeleteResponse200Normalizer.php new file mode 100644 index 00000000..58116c1b --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageAccessKeysAccessKeyDeleteResponse200Normalizer.php @@ -0,0 +1,149 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageAccessKeysAccessKeyDeleteResponse200Normalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyDeleteResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyDeleteResponse200::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyDeleteResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('success', $data)) { + $object->setSuccess($data['success']); + unset($data['success']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + $data['success'] = $object->getSuccess(); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyDeleteResponse200::class => false]; + } + } +} else { + class ObjectStorageAccessKeysAccessKeyDeleteResponse200Normalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyDeleteResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyDeleteResponse200::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyDeleteResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('success', $data)) { + $object->setSuccess($data['success']); + unset($data['success']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + $data['success'] = $object->getSuccess(); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyDeleteResponse200::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostBodyNormalizer.php b/src/Core/Normalizer/ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostBodyNormalizer.php new file mode 100644 index 00000000..318a07cb --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostBodyNormalizer.php @@ -0,0 +1,149 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostBodyNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostBody::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostBody::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostBody(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('access_key', $data)) { + $object->setAccessKey($this->denormalizer->denormalize($data['access_key'], \KatapultAPI\Core\Model\ObjectStorageAccessKeyLookup::class, 'json', $context)); + unset($data['access_key']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + $data['access_key'] = $this->normalizer->normalize($object->getAccessKey(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostBody::class => false]; + } + } +} else { + class ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostBodyNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostBody::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostBody::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostBody(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('access_key', $data)) { + $object->setAccessKey($this->denormalizer->denormalize($data['access_key'], \KatapultAPI\Core\Model\ObjectStorageAccessKeyLookup::class, 'json', $context)); + unset($data['access_key']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + $data['access_key'] = $this->normalizer->normalize($object->getAccessKey(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostBody::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200Normalizer.php b/src/Core/Normalizer/ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200Normalizer.php new file mode 100644 index 00000000..88079996 --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200Normalizer.php @@ -0,0 +1,149 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200Normalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('object_storage_access_key', $data)) { + $object->setObjectStorageAccessKey($this->denormalizer->denormalize($data['object_storage_access_key'], \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200ObjectStorageAccessKey::class, 'json', $context)); + unset($data['object_storage_access_key']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + $data['object_storage_access_key'] = $this->normalizer->normalize($object->getObjectStorageAccessKey(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200::class => false]; + } + } +} else { + class ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200Normalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('object_storage_access_key', $data)) { + $object->setObjectStorageAccessKey($this->denormalizer->denormalize($data['object_storage_access_key'], \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200ObjectStorageAccessKey::class, 'json', $context)); + unset($data['object_storage_access_key']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + $data['object_storage_access_key'] = $this->normalizer->normalize($object->getObjectStorageAccessKey(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200ObjectStorageAccessKeyNormalizer.php b/src/Core/Normalizer/ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200ObjectStorageAccessKeyNormalizer.php new file mode 100644 index 00000000..5c639bf5 --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200ObjectStorageAccessKeyNormalizer.php @@ -0,0 +1,365 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200ObjectStorageAccessKeyNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200ObjectStorageAccessKey::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200ObjectStorageAccessKey::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200ObjectStorageAccessKey(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + if (\array_key_exists('created_at', $data)) { + $object->setCreatedAt($data['created_at']); + unset($data['created_at']); + } + if (\array_key_exists('region', $data)) { + $object->setRegion($data['region']); + unset($data['region']); + } + if (\array_key_exists('state', $data)) { + $object->setState($data['state']); + unset($data['state']); + } + if (\array_key_exists('all_buckets_read', $data)) { + $object->setAllBucketsRead($data['all_buckets_read']); + unset($data['all_buckets_read']); + } + if (\array_key_exists('all_objects_read', $data)) { + $object->setAllObjectsRead($data['all_objects_read']); + unset($data['all_objects_read']); + } + if (\array_key_exists('all_objects_write', $data)) { + $object->setAllObjectsWrite($data['all_objects_write']); + unset($data['all_objects_write']); + } + if (\array_key_exists('read_buckets', $data)) { + $values = []; + foreach ($data['read_buckets'] as $value) { + $values[] = $value; + } + $object->setReadBuckets($values); + unset($data['read_buckets']); + } + if (\array_key_exists('write_buckets', $data)) { + $values_1 = []; + foreach ($data['write_buckets'] as $value_1) { + $values_1[] = $value_1; + } + $object->setWriteBuckets($values_1); + unset($data['write_buckets']); + } + if (\array_key_exists('server_url', $data) && $data['server_url'] !== null) { + $object->setServerUrl($data['server_url']); + unset($data['server_url']); + } elseif (\array_key_exists('server_url', $data) && $data['server_url'] === null) { + $object->setServerUrl(null); + } + if (\array_key_exists('s3_access_key_id', $data) && $data['s3_access_key_id'] !== null) { + $object->setS3AccessKeyId($data['s3_access_key_id']); + unset($data['s3_access_key_id']); + } elseif (\array_key_exists('s3_access_key_id', $data) && $data['s3_access_key_id'] === null) { + $object->setS3AccessKeyId(null); + } + if (\array_key_exists('s3_secret_access_key', $data) && $data['s3_secret_access_key'] !== null) { + $object->setS3SecretAccessKey($data['s3_secret_access_key']); + unset($data['s3_secret_access_key']); + } elseif (\array_key_exists('s3_secret_access_key', $data) && $data['s3_secret_access_key'] === null) { + $object->setS3SecretAccessKey(null); + } + foreach ($data as $key => $value_2) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value_2; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + if ($object->isInitialized('createdAt') && null !== $object->getCreatedAt()) { + $data['created_at'] = $object->getCreatedAt(); + } + if ($object->isInitialized('region') && null !== $object->getRegion()) { + $data['region'] = $object->getRegion(); + } + if ($object->isInitialized('state') && null !== $object->getState()) { + $data['state'] = $object->getState(); + } + if ($object->isInitialized('allBucketsRead') && null !== $object->getAllBucketsRead()) { + $data['all_buckets_read'] = $object->getAllBucketsRead(); + } + if ($object->isInitialized('allObjectsRead') && null !== $object->getAllObjectsRead()) { + $data['all_objects_read'] = $object->getAllObjectsRead(); + } + if ($object->isInitialized('allObjectsWrite') && null !== $object->getAllObjectsWrite()) { + $data['all_objects_write'] = $object->getAllObjectsWrite(); + } + if ($object->isInitialized('readBuckets') && null !== $object->getReadBuckets()) { + $values = []; + foreach ($object->getReadBuckets() as $value) { + $values[] = $value; + } + $data['read_buckets'] = $values; + } + if ($object->isInitialized('writeBuckets') && null !== $object->getWriteBuckets()) { + $values_1 = []; + foreach ($object->getWriteBuckets() as $value_1) { + $values_1[] = $value_1; + } + $data['write_buckets'] = $values_1; + } + if ($object->isInitialized('serverUrl') && null !== $object->getServerUrl()) { + $data['server_url'] = $object->getServerUrl(); + } + if ($object->isInitialized('s3AccessKeyId') && null !== $object->getS3AccessKeyId()) { + $data['s3_access_key_id'] = $object->getS3AccessKeyId(); + } + if ($object->isInitialized('s3SecretAccessKey') && null !== $object->getS3SecretAccessKey()) { + $data['s3_secret_access_key'] = $object->getS3SecretAccessKey(); + } + foreach ($object as $key => $value_2) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value_2; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200ObjectStorageAccessKey::class => false]; + } + } +} else { + class ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200ObjectStorageAccessKeyNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200ObjectStorageAccessKey::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200ObjectStorageAccessKey::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200ObjectStorageAccessKey(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + if (\array_key_exists('created_at', $data)) { + $object->setCreatedAt($data['created_at']); + unset($data['created_at']); + } + if (\array_key_exists('region', $data)) { + $object->setRegion($data['region']); + unset($data['region']); + } + if (\array_key_exists('state', $data)) { + $object->setState($data['state']); + unset($data['state']); + } + if (\array_key_exists('all_buckets_read', $data)) { + $object->setAllBucketsRead($data['all_buckets_read']); + unset($data['all_buckets_read']); + } + if (\array_key_exists('all_objects_read', $data)) { + $object->setAllObjectsRead($data['all_objects_read']); + unset($data['all_objects_read']); + } + if (\array_key_exists('all_objects_write', $data)) { + $object->setAllObjectsWrite($data['all_objects_write']); + unset($data['all_objects_write']); + } + if (\array_key_exists('read_buckets', $data)) { + $values = []; + foreach ($data['read_buckets'] as $value) { + $values[] = $value; + } + $object->setReadBuckets($values); + unset($data['read_buckets']); + } + if (\array_key_exists('write_buckets', $data)) { + $values_1 = []; + foreach ($data['write_buckets'] as $value_1) { + $values_1[] = $value_1; + } + $object->setWriteBuckets($values_1); + unset($data['write_buckets']); + } + if (\array_key_exists('server_url', $data) && $data['server_url'] !== null) { + $object->setServerUrl($data['server_url']); + unset($data['server_url']); + } elseif (\array_key_exists('server_url', $data) && $data['server_url'] === null) { + $object->setServerUrl(null); + } + if (\array_key_exists('s3_access_key_id', $data) && $data['s3_access_key_id'] !== null) { + $object->setS3AccessKeyId($data['s3_access_key_id']); + unset($data['s3_access_key_id']); + } elseif (\array_key_exists('s3_access_key_id', $data) && $data['s3_access_key_id'] === null) { + $object->setS3AccessKeyId(null); + } + if (\array_key_exists('s3_secret_access_key', $data) && $data['s3_secret_access_key'] !== null) { + $object->setS3SecretAccessKey($data['s3_secret_access_key']); + unset($data['s3_secret_access_key']); + } elseif (\array_key_exists('s3_secret_access_key', $data) && $data['s3_secret_access_key'] === null) { + $object->setS3SecretAccessKey(null); + } + foreach ($data as $key => $value_2) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value_2; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + if ($object->isInitialized('createdAt') && null !== $object->getCreatedAt()) { + $data['created_at'] = $object->getCreatedAt(); + } + if ($object->isInitialized('region') && null !== $object->getRegion()) { + $data['region'] = $object->getRegion(); + } + if ($object->isInitialized('state') && null !== $object->getState()) { + $data['state'] = $object->getState(); + } + if ($object->isInitialized('allBucketsRead') && null !== $object->getAllBucketsRead()) { + $data['all_buckets_read'] = $object->getAllBucketsRead(); + } + if ($object->isInitialized('allObjectsRead') && null !== $object->getAllObjectsRead()) { + $data['all_objects_read'] = $object->getAllObjectsRead(); + } + if ($object->isInitialized('allObjectsWrite') && null !== $object->getAllObjectsWrite()) { + $data['all_objects_write'] = $object->getAllObjectsWrite(); + } + if ($object->isInitialized('readBuckets') && null !== $object->getReadBuckets()) { + $values = []; + foreach ($object->getReadBuckets() as $value) { + $values[] = $value; + } + $data['read_buckets'] = $values; + } + if ($object->isInitialized('writeBuckets') && null !== $object->getWriteBuckets()) { + $values_1 = []; + foreach ($object->getWriteBuckets() as $value_1) { + $values_1[] = $value_1; + } + $data['write_buckets'] = $values_1; + } + if ($object->isInitialized('serverUrl') && null !== $object->getServerUrl()) { + $data['server_url'] = $object->getServerUrl(); + } + if ($object->isInitialized('s3AccessKeyId') && null !== $object->getS3AccessKeyId()) { + $data['s3_access_key_id'] = $object->getS3AccessKeyId(); + } + if ($object->isInitialized('s3SecretAccessKey') && null !== $object->getS3SecretAccessKey()) { + $data['s3_secret_access_key'] = $object->getS3SecretAccessKey(); + } + foreach ($object as $key => $value_2) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value_2; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGenerateCredentialsPostResponse200ObjectStorageAccessKey::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageAccessKeysAccessKeyGetResponse200Normalizer.php b/src/Core/Normalizer/ObjectStorageAccessKeysAccessKeyGetResponse200Normalizer.php new file mode 100644 index 00000000..beded698 --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageAccessKeysAccessKeyGetResponse200Normalizer.php @@ -0,0 +1,149 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageAccessKeysAccessKeyGetResponse200Normalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGetResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGetResponse200::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGetResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('object_storage_access_key', $data)) { + $object->setObjectStorageAccessKey($this->denormalizer->denormalize($data['object_storage_access_key'], \KatapultAPI\Core\Model\ObjectStorageAccessKey::class, 'json', $context)); + unset($data['object_storage_access_key']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + $data['object_storage_access_key'] = $this->normalizer->normalize($object->getObjectStorageAccessKey(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGetResponse200::class => false]; + } + } +} else { + class ObjectStorageAccessKeysAccessKeyGetResponse200Normalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGetResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGetResponse200::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGetResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('object_storage_access_key', $data)) { + $object->setObjectStorageAccessKey($this->denormalizer->denormalize($data['object_storage_access_key'], \KatapultAPI\Core\Model\ObjectStorageAccessKey::class, 'json', $context)); + unset($data['object_storage_access_key']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + $data['object_storage_access_key'] = $this->normalizer->normalize($object->getObjectStorageAccessKey(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyGetResponse200::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageAccessKeysAccessKeyPatchBodyNormalizer.php b/src/Core/Normalizer/ObjectStorageAccessKeysAccessKeyPatchBodyNormalizer.php new file mode 100644 index 00000000..f001505a --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageAccessKeysAccessKeyPatchBodyNormalizer.php @@ -0,0 +1,159 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageAccessKeysAccessKeyPatchBodyNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchBody::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchBody::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchBody(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('access_key', $data)) { + $object->setAccessKey($this->denormalizer->denormalize($data['access_key'], \KatapultAPI\Core\Model\ObjectStorageAccessKeyLookup::class, 'json', $context)); + unset($data['access_key']); + } + if (\array_key_exists('properties', $data)) { + $object->setProperties($this->denormalizer->denormalize($data['properties'], \KatapultAPI\Core\Model\ObjectStorageAccessKeyArguments::class, 'json', $context)); + unset($data['properties']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + $data['access_key'] = $this->normalizer->normalize($object->getAccessKey(), 'json', $context); + $data['properties'] = $this->normalizer->normalize($object->getProperties(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchBody::class => false]; + } + } +} else { + class ObjectStorageAccessKeysAccessKeyPatchBodyNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchBody::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchBody::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchBody(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('access_key', $data)) { + $object->setAccessKey($this->denormalizer->denormalize($data['access_key'], \KatapultAPI\Core\Model\ObjectStorageAccessKeyLookup::class, 'json', $context)); + unset($data['access_key']); + } + if (\array_key_exists('properties', $data)) { + $object->setProperties($this->denormalizer->denormalize($data['properties'], \KatapultAPI\Core\Model\ObjectStorageAccessKeyArguments::class, 'json', $context)); + unset($data['properties']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + $data['access_key'] = $this->normalizer->normalize($object->getAccessKey(), 'json', $context); + $data['properties'] = $this->normalizer->normalize($object->getProperties(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchBody::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageAccessKeysAccessKeyPatchResponse200Normalizer.php b/src/Core/Normalizer/ObjectStorageAccessKeysAccessKeyPatchResponse200Normalizer.php new file mode 100644 index 00000000..f7b8ee8a --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageAccessKeysAccessKeyPatchResponse200Normalizer.php @@ -0,0 +1,149 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageAccessKeysAccessKeyPatchResponse200Normalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchResponse200::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('object_storage_access_key', $data)) { + $object->setObjectStorageAccessKey($this->denormalizer->denormalize($data['object_storage_access_key'], \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchResponse200ObjectStorageAccessKey::class, 'json', $context)); + unset($data['object_storage_access_key']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + $data['object_storage_access_key'] = $this->normalizer->normalize($object->getObjectStorageAccessKey(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchResponse200::class => false]; + } + } +} else { + class ObjectStorageAccessKeysAccessKeyPatchResponse200Normalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchResponse200::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('object_storage_access_key', $data)) { + $object->setObjectStorageAccessKey($this->denormalizer->denormalize($data['object_storage_access_key'], \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchResponse200ObjectStorageAccessKey::class, 'json', $context)); + unset($data['object_storage_access_key']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + $data['object_storage_access_key'] = $this->normalizer->normalize($object->getObjectStorageAccessKey(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchResponse200::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageAccessKeysAccessKeyPatchResponse200ObjectStorageAccessKeyNormalizer.php b/src/Core/Normalizer/ObjectStorageAccessKeysAccessKeyPatchResponse200ObjectStorageAccessKeyNormalizer.php new file mode 100644 index 00000000..7cb92440 --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageAccessKeysAccessKeyPatchResponse200ObjectStorageAccessKeyNormalizer.php @@ -0,0 +1,365 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageAccessKeysAccessKeyPatchResponse200ObjectStorageAccessKeyNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchResponse200ObjectStorageAccessKey::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchResponse200ObjectStorageAccessKey::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchResponse200ObjectStorageAccessKey(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + if (\array_key_exists('created_at', $data)) { + $object->setCreatedAt($data['created_at']); + unset($data['created_at']); + } + if (\array_key_exists('region', $data)) { + $object->setRegion($data['region']); + unset($data['region']); + } + if (\array_key_exists('state', $data)) { + $object->setState($data['state']); + unset($data['state']); + } + if (\array_key_exists('all_buckets_read', $data)) { + $object->setAllBucketsRead($data['all_buckets_read']); + unset($data['all_buckets_read']); + } + if (\array_key_exists('all_objects_read', $data)) { + $object->setAllObjectsRead($data['all_objects_read']); + unset($data['all_objects_read']); + } + if (\array_key_exists('all_objects_write', $data)) { + $object->setAllObjectsWrite($data['all_objects_write']); + unset($data['all_objects_write']); + } + if (\array_key_exists('read_buckets', $data)) { + $values = []; + foreach ($data['read_buckets'] as $value) { + $values[] = $value; + } + $object->setReadBuckets($values); + unset($data['read_buckets']); + } + if (\array_key_exists('write_buckets', $data)) { + $values_1 = []; + foreach ($data['write_buckets'] as $value_1) { + $values_1[] = $value_1; + } + $object->setWriteBuckets($values_1); + unset($data['write_buckets']); + } + if (\array_key_exists('server_url', $data) && $data['server_url'] !== null) { + $object->setServerUrl($data['server_url']); + unset($data['server_url']); + } elseif (\array_key_exists('server_url', $data) && $data['server_url'] === null) { + $object->setServerUrl(null); + } + if (\array_key_exists('s3_access_key_id', $data) && $data['s3_access_key_id'] !== null) { + $object->setS3AccessKeyId($data['s3_access_key_id']); + unset($data['s3_access_key_id']); + } elseif (\array_key_exists('s3_access_key_id', $data) && $data['s3_access_key_id'] === null) { + $object->setS3AccessKeyId(null); + } + if (\array_key_exists('s3_secret_access_key', $data) && $data['s3_secret_access_key'] !== null) { + $object->setS3SecretAccessKey($data['s3_secret_access_key']); + unset($data['s3_secret_access_key']); + } elseif (\array_key_exists('s3_secret_access_key', $data) && $data['s3_secret_access_key'] === null) { + $object->setS3SecretAccessKey(null); + } + foreach ($data as $key => $value_2) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value_2; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + if ($object->isInitialized('createdAt') && null !== $object->getCreatedAt()) { + $data['created_at'] = $object->getCreatedAt(); + } + if ($object->isInitialized('region') && null !== $object->getRegion()) { + $data['region'] = $object->getRegion(); + } + if ($object->isInitialized('state') && null !== $object->getState()) { + $data['state'] = $object->getState(); + } + if ($object->isInitialized('allBucketsRead') && null !== $object->getAllBucketsRead()) { + $data['all_buckets_read'] = $object->getAllBucketsRead(); + } + if ($object->isInitialized('allObjectsRead') && null !== $object->getAllObjectsRead()) { + $data['all_objects_read'] = $object->getAllObjectsRead(); + } + if ($object->isInitialized('allObjectsWrite') && null !== $object->getAllObjectsWrite()) { + $data['all_objects_write'] = $object->getAllObjectsWrite(); + } + if ($object->isInitialized('readBuckets') && null !== $object->getReadBuckets()) { + $values = []; + foreach ($object->getReadBuckets() as $value) { + $values[] = $value; + } + $data['read_buckets'] = $values; + } + if ($object->isInitialized('writeBuckets') && null !== $object->getWriteBuckets()) { + $values_1 = []; + foreach ($object->getWriteBuckets() as $value_1) { + $values_1[] = $value_1; + } + $data['write_buckets'] = $values_1; + } + if ($object->isInitialized('serverUrl') && null !== $object->getServerUrl()) { + $data['server_url'] = $object->getServerUrl(); + } + if ($object->isInitialized('s3AccessKeyId') && null !== $object->getS3AccessKeyId()) { + $data['s3_access_key_id'] = $object->getS3AccessKeyId(); + } + if ($object->isInitialized('s3SecretAccessKey') && null !== $object->getS3SecretAccessKey()) { + $data['s3_secret_access_key'] = $object->getS3SecretAccessKey(); + } + foreach ($object as $key => $value_2) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value_2; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchResponse200ObjectStorageAccessKey::class => false]; + } + } +} else { + class ObjectStorageAccessKeysAccessKeyPatchResponse200ObjectStorageAccessKeyNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchResponse200ObjectStorageAccessKey::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchResponse200ObjectStorageAccessKey::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchResponse200ObjectStorageAccessKey(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + if (\array_key_exists('created_at', $data)) { + $object->setCreatedAt($data['created_at']); + unset($data['created_at']); + } + if (\array_key_exists('region', $data)) { + $object->setRegion($data['region']); + unset($data['region']); + } + if (\array_key_exists('state', $data)) { + $object->setState($data['state']); + unset($data['state']); + } + if (\array_key_exists('all_buckets_read', $data)) { + $object->setAllBucketsRead($data['all_buckets_read']); + unset($data['all_buckets_read']); + } + if (\array_key_exists('all_objects_read', $data)) { + $object->setAllObjectsRead($data['all_objects_read']); + unset($data['all_objects_read']); + } + if (\array_key_exists('all_objects_write', $data)) { + $object->setAllObjectsWrite($data['all_objects_write']); + unset($data['all_objects_write']); + } + if (\array_key_exists('read_buckets', $data)) { + $values = []; + foreach ($data['read_buckets'] as $value) { + $values[] = $value; + } + $object->setReadBuckets($values); + unset($data['read_buckets']); + } + if (\array_key_exists('write_buckets', $data)) { + $values_1 = []; + foreach ($data['write_buckets'] as $value_1) { + $values_1[] = $value_1; + } + $object->setWriteBuckets($values_1); + unset($data['write_buckets']); + } + if (\array_key_exists('server_url', $data) && $data['server_url'] !== null) { + $object->setServerUrl($data['server_url']); + unset($data['server_url']); + } elseif (\array_key_exists('server_url', $data) && $data['server_url'] === null) { + $object->setServerUrl(null); + } + if (\array_key_exists('s3_access_key_id', $data) && $data['s3_access_key_id'] !== null) { + $object->setS3AccessKeyId($data['s3_access_key_id']); + unset($data['s3_access_key_id']); + } elseif (\array_key_exists('s3_access_key_id', $data) && $data['s3_access_key_id'] === null) { + $object->setS3AccessKeyId(null); + } + if (\array_key_exists('s3_secret_access_key', $data) && $data['s3_secret_access_key'] !== null) { + $object->setS3SecretAccessKey($data['s3_secret_access_key']); + unset($data['s3_secret_access_key']); + } elseif (\array_key_exists('s3_secret_access_key', $data) && $data['s3_secret_access_key'] === null) { + $object->setS3SecretAccessKey(null); + } + foreach ($data as $key => $value_2) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value_2; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + if ($object->isInitialized('createdAt') && null !== $object->getCreatedAt()) { + $data['created_at'] = $object->getCreatedAt(); + } + if ($object->isInitialized('region') && null !== $object->getRegion()) { + $data['region'] = $object->getRegion(); + } + if ($object->isInitialized('state') && null !== $object->getState()) { + $data['state'] = $object->getState(); + } + if ($object->isInitialized('allBucketsRead') && null !== $object->getAllBucketsRead()) { + $data['all_buckets_read'] = $object->getAllBucketsRead(); + } + if ($object->isInitialized('allObjectsRead') && null !== $object->getAllObjectsRead()) { + $data['all_objects_read'] = $object->getAllObjectsRead(); + } + if ($object->isInitialized('allObjectsWrite') && null !== $object->getAllObjectsWrite()) { + $data['all_objects_write'] = $object->getAllObjectsWrite(); + } + if ($object->isInitialized('readBuckets') && null !== $object->getReadBuckets()) { + $values = []; + foreach ($object->getReadBuckets() as $value) { + $values[] = $value; + } + $data['read_buckets'] = $values; + } + if ($object->isInitialized('writeBuckets') && null !== $object->getWriteBuckets()) { + $values_1 = []; + foreach ($object->getWriteBuckets() as $value_1) { + $values_1[] = $value_1; + } + $data['write_buckets'] = $values_1; + } + if ($object->isInitialized('serverUrl') && null !== $object->getServerUrl()) { + $data['server_url'] = $object->getServerUrl(); + } + if ($object->isInitialized('s3AccessKeyId') && null !== $object->getS3AccessKeyId()) { + $data['s3_access_key_id'] = $object->getS3AccessKeyId(); + } + if ($object->isInitialized('s3SecretAccessKey') && null !== $object->getS3SecretAccessKey()) { + $data['s3_secret_access_key'] = $object->getS3SecretAccessKey(); + } + foreach ($object as $key => $value_2) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value_2; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\ObjectStorageAccessKeysAccessKeyPatchResponse200ObjectStorageAccessKey::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageAccountNormalizer.php b/src/Core/Normalizer/ObjectStorageAccountNormalizer.php new file mode 100644 index 00000000..a0eeb4ea --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageAccountNormalizer.php @@ -0,0 +1,223 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageAccountNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\ObjectStorageAccount::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageAccount::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\ObjectStorageAccount(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('region', $data)) { + $object->setRegion($data['region']); + unset($data['region']); + } + if (\array_key_exists('created_at', $data)) { + $object->setCreatedAt($data['created_at']); + unset($data['created_at']); + } + if (\array_key_exists('provisioning_state', $data)) { + $object->setProvisioningState($data['provisioning_state']); + unset($data['provisioning_state']); + } + if (\array_key_exists('size', $data)) { + $object->setSize($data['size']); + unset($data['size']); + } + if (\array_key_exists('bucket_count', $data)) { + $object->setBucketCount($data['bucket_count']); + unset($data['bucket_count']); + } + if (\array_key_exists('data_center', $data)) { + $object->setDataCenter($this->denormalizer->denormalize($data['data_center'], \KatapultAPI\Core\Model\DataCenter::class, 'json', $context)); + unset($data['data_center']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('region') && null !== $object->getRegion()) { + $data['region'] = $object->getRegion(); + } + if ($object->isInitialized('createdAt') && null !== $object->getCreatedAt()) { + $data['created_at'] = $object->getCreatedAt(); + } + if ($object->isInitialized('provisioningState') && null !== $object->getProvisioningState()) { + $data['provisioning_state'] = $object->getProvisioningState(); + } + if ($object->isInitialized('size') && null !== $object->getSize()) { + $data['size'] = $object->getSize(); + } + if ($object->isInitialized('bucketCount') && null !== $object->getBucketCount()) { + $data['bucket_count'] = $object->getBucketCount(); + } + if ($object->isInitialized('dataCenter') && null !== $object->getDataCenter()) { + $data['data_center'] = $this->normalizer->normalize($object->getDataCenter(), 'json', $context); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\ObjectStorageAccount::class => false]; + } + } +} else { + class ObjectStorageAccountNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\ObjectStorageAccount::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageAccount::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\ObjectStorageAccount(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('region', $data)) { + $object->setRegion($data['region']); + unset($data['region']); + } + if (\array_key_exists('created_at', $data)) { + $object->setCreatedAt($data['created_at']); + unset($data['created_at']); + } + if (\array_key_exists('provisioning_state', $data)) { + $object->setProvisioningState($data['provisioning_state']); + unset($data['provisioning_state']); + } + if (\array_key_exists('size', $data)) { + $object->setSize($data['size']); + unset($data['size']); + } + if (\array_key_exists('bucket_count', $data)) { + $object->setBucketCount($data['bucket_count']); + unset($data['bucket_count']); + } + if (\array_key_exists('data_center', $data)) { + $object->setDataCenter($this->denormalizer->denormalize($data['data_center'], \KatapultAPI\Core\Model\DataCenter::class, 'json', $context)); + unset($data['data_center']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('region') && null !== $object->getRegion()) { + $data['region'] = $object->getRegion(); + } + if ($object->isInitialized('createdAt') && null !== $object->getCreatedAt()) { + $data['created_at'] = $object->getCreatedAt(); + } + if ($object->isInitialized('provisioningState') && null !== $object->getProvisioningState()) { + $data['provisioning_state'] = $object->getProvisioningState(); + } + if ($object->isInitialized('size') && null !== $object->getSize()) { + $data['size'] = $object->getSize(); + } + if ($object->isInitialized('bucketCount') && null !== $object->getBucketCount()) { + $data['bucket_count'] = $object->getBucketCount(); + } + if ($object->isInitialized('dataCenter') && null !== $object->getDataCenter()) { + $data['data_center'] = $this->normalizer->normalize($object->getDataCenter(), 'json', $context); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\ObjectStorageAccount::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageProvisioningErrorSchemaNormalizer.php b/src/Core/Normalizer/ObjectStorageProvisioningErrorSchemaNormalizer.php new file mode 100644 index 00000000..e52371a7 --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageProvisioningErrorSchemaNormalizer.php @@ -0,0 +1,197 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageProvisioningErrorSchemaNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\ObjectStorageProvisioningErrorSchema::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageProvisioningErrorSchema::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\ObjectStorageProvisioningErrorSchema(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('code', $data)) { + $object->setCode($data['code']); + unset($data['code']); + } + if (\array_key_exists('description', $data)) { + $object->setDescription($data['description']); + unset($data['description']); + } + if (\array_key_exists('detail', $data)) { + $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); + foreach ($data['detail'] as $key => $value) { + $values[$key] = $value; + } + $object->setDetail($values); + unset($data['detail']); + } + foreach ($data as $key_1 => $value_1) { + if (preg_match('/.*/', (string) $key_1)) { + $object[$key_1] = $value_1; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('code') && null !== $object->getCode()) { + $data['code'] = $object->getCode(); + } + if ($object->isInitialized('description') && null !== $object->getDescription()) { + $data['description'] = $object->getDescription(); + } + if ($object->isInitialized('detail') && null !== $object->getDetail()) { + $values = []; + foreach ($object->getDetail() as $key => $value) { + $values[$key] = $value; + } + $data['detail'] = $values; + } + foreach ($object as $key_1 => $value_1) { + if (preg_match('/.*/', (string) $key_1)) { + $data[$key_1] = $value_1; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\ObjectStorageProvisioningErrorSchema::class => false]; + } + } +} else { + class ObjectStorageProvisioningErrorSchemaNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\ObjectStorageProvisioningErrorSchema::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageProvisioningErrorSchema::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\ObjectStorageProvisioningErrorSchema(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('code', $data)) { + $object->setCode($data['code']); + unset($data['code']); + } + if (\array_key_exists('description', $data)) { + $object->setDescription($data['description']); + unset($data['description']); + } + if (\array_key_exists('detail', $data)) { + $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); + foreach ($data['detail'] as $key => $value) { + $values[$key] = $value; + } + $object->setDetail($values); + unset($data['detail']); + } + foreach ($data as $key_1 => $value_1) { + if (preg_match('/.*/', (string) $key_1)) { + $object[$key_1] = $value_1; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('code') && null !== $object->getCode()) { + $data['code'] = $object->getCode(); + } + if ($object->isInitialized('description') && null !== $object->getDescription()) { + $data['description'] = $object->getDescription(); + } + if ($object->isInitialized('detail') && null !== $object->getDetail()) { + $values = []; + foreach ($object->getDetail() as $key => $value) { + $values[$key] = $value; + } + $data['detail'] = $values; + } + foreach ($object as $key_1 => $value_1) { + if (preg_match('/.*/', (string) $key_1)) { + $data[$key_1] = $value_1; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\ObjectStorageProvisioningErrorSchema::class => false]; + } + } +} diff --git a/src/Core/Normalizer/OrganizationsOrganizationObjectStorageAccessKeysGetResponse200Normalizer.php b/src/Core/Normalizer/OrganizationsOrganizationObjectStorageAccessKeysGetResponse200Normalizer.php new file mode 100644 index 00000000..9f2bfeb7 --- /dev/null +++ b/src/Core/Normalizer/OrganizationsOrganizationObjectStorageAccessKeysGetResponse200Normalizer.php @@ -0,0 +1,175 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class OrganizationsOrganizationObjectStorageAccessKeysGetResponse200Normalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageAccessKeysGetResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageAccessKeysGetResponse200::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageAccessKeysGetResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('pagination', $data)) { + $object->setPagination($this->denormalizer->denormalize($data['pagination'], \KatapultAPI\Core\Model\PaginationObject::class, 'json', $context)); + unset($data['pagination']); + } + if (\array_key_exists('object_storage_access_keys', $data)) { + $values = []; + foreach ($data['object_storage_access_keys'] as $value) { + $values[] = $this->denormalizer->denormalize($value, \KatapultAPI\Core\Model\ObjectStorageAccessKey::class, 'json', $context); + } + $object->setObjectStorageAccessKeys($values); + unset($data['object_storage_access_keys']); + } + foreach ($data as $key => $value_1) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value_1; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + $data['pagination'] = $this->normalizer->normalize($object->getPagination(), 'json', $context); + $values = []; + foreach ($object->getObjectStorageAccessKeys() as $value) { + $values[] = $this->normalizer->normalize($value, 'json', $context); + } + $data['object_storage_access_keys'] = $values; + foreach ($object as $key => $value_1) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value_1; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageAccessKeysGetResponse200::class => false]; + } + } +} else { + class OrganizationsOrganizationObjectStorageAccessKeysGetResponse200Normalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageAccessKeysGetResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageAccessKeysGetResponse200::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageAccessKeysGetResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('pagination', $data)) { + $object->setPagination($this->denormalizer->denormalize($data['pagination'], \KatapultAPI\Core\Model\PaginationObject::class, 'json', $context)); + unset($data['pagination']); + } + if (\array_key_exists('object_storage_access_keys', $data)) { + $values = []; + foreach ($data['object_storage_access_keys'] as $value) { + $values[] = $this->denormalizer->denormalize($value, \KatapultAPI\Core\Model\ObjectStorageAccessKey::class, 'json', $context); + } + $object->setObjectStorageAccessKeys($values); + unset($data['object_storage_access_keys']); + } + foreach ($data as $key => $value_1) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value_1; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + $data['pagination'] = $this->normalizer->normalize($object->getPagination(), 'json', $context); + $values = []; + foreach ($object->getObjectStorageAccessKeys() as $value) { + $values[] = $this->normalizer->normalize($value, 'json', $context); + } + $data['object_storage_access_keys'] = $values; + foreach ($object as $key => $value_1) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value_1; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageAccessKeysGetResponse200::class => false]; + } + } +} diff --git a/src/Core/Normalizer/OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostBodyNormalizer.php b/src/Core/Normalizer/OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostBodyNormalizer.php new file mode 100644 index 00000000..9a6d3894 --- /dev/null +++ b/src/Core/Normalizer/OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostBodyNormalizer.php @@ -0,0 +1,169 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostBodyNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostBody::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostBody::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostBody(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('organization', $data)) { + $object->setOrganization($this->denormalizer->denormalize($data['organization'], \KatapultAPI\Core\Model\OrganizationLookup::class, 'json', $context)); + unset($data['organization']); + } + if (\array_key_exists('object_storage_cluster', $data)) { + $object->setObjectStorageCluster($this->denormalizer->denormalize($data['object_storage_cluster'], \KatapultAPI\Core\Model\ObjectStorageClusterLookup::class, 'json', $context)); + unset($data['object_storage_cluster']); + } + if (\array_key_exists('properties', $data)) { + $object->setProperties($this->denormalizer->denormalize($data['properties'], \KatapultAPI\Core\Model\ObjectStorageAccessKeyArguments::class, 'json', $context)); + unset($data['properties']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + $data['organization'] = $this->normalizer->normalize($object->getOrganization(), 'json', $context); + $data['object_storage_cluster'] = $this->normalizer->normalize($object->getObjectStorageCluster(), 'json', $context); + $data['properties'] = $this->normalizer->normalize($object->getProperties(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostBody::class => false]; + } + } +} else { + class OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostBodyNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostBody::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostBody::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostBody(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('organization', $data)) { + $object->setOrganization($this->denormalizer->denormalize($data['organization'], \KatapultAPI\Core\Model\OrganizationLookup::class, 'json', $context)); + unset($data['organization']); + } + if (\array_key_exists('object_storage_cluster', $data)) { + $object->setObjectStorageCluster($this->denormalizer->denormalize($data['object_storage_cluster'], \KatapultAPI\Core\Model\ObjectStorageClusterLookup::class, 'json', $context)); + unset($data['object_storage_cluster']); + } + if (\array_key_exists('properties', $data)) { + $object->setProperties($this->denormalizer->denormalize($data['properties'], \KatapultAPI\Core\Model\ObjectStorageAccessKeyArguments::class, 'json', $context)); + unset($data['properties']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + $data['organization'] = $this->normalizer->normalize($object->getOrganization(), 'json', $context); + $data['object_storage_cluster'] = $this->normalizer->normalize($object->getObjectStorageCluster(), 'json', $context); + $data['properties'] = $this->normalizer->normalize($object->getProperties(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostBody::class => false]; + } + } +} diff --git a/src/Core/Normalizer/OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostResponse201Normalizer.php b/src/Core/Normalizer/OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostResponse201Normalizer.php new file mode 100644 index 00000000..4ebf38af --- /dev/null +++ b/src/Core/Normalizer/OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostResponse201Normalizer.php @@ -0,0 +1,149 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostResponse201Normalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostResponse201::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostResponse201::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostResponse201(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('object_storage_access_key', $data)) { + $object->setObjectStorageAccessKey($this->denormalizer->denormalize($data['object_storage_access_key'], \KatapultAPI\Core\Model\ObjectStorageAccessKey::class, 'json', $context)); + unset($data['object_storage_access_key']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + $data['object_storage_access_key'] = $this->normalizer->normalize($object->getObjectStorageAccessKey(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostResponse201::class => false]; + } + } +} else { + class OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostResponse201Normalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostResponse201::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostResponse201::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostResponse201(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('object_storage_access_key', $data)) { + $object->setObjectStorageAccessKey($this->denormalizer->denormalize($data['object_storage_access_key'], \KatapultAPI\Core\Model\ObjectStorageAccessKey::class, 'json', $context)); + unset($data['object_storage_access_key']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + $data['object_storage_access_key'] = $this->normalizer->normalize($object->getObjectStorageAccessKey(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterAccessKeysPostResponse201::class => false]; + } + } +} diff --git a/src/Core/Normalizer/OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteBodyNormalizer.php b/src/Core/Normalizer/OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteBodyNormalizer.php new file mode 100644 index 00000000..67e2220c --- /dev/null +++ b/src/Core/Normalizer/OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteBodyNormalizer.php @@ -0,0 +1,159 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteBodyNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteBody::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteBody::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteBody(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('organization', $data)) { + $object->setOrganization($this->denormalizer->denormalize($data['organization'], \KatapultAPI\Core\Model\OrganizationLookup::class, 'json', $context)); + unset($data['organization']); + } + if (\array_key_exists('object_storage_cluster', $data)) { + $object->setObjectStorageCluster($this->denormalizer->denormalize($data['object_storage_cluster'], \KatapultAPI\Core\Model\ObjectStorageClusterLookup::class, 'json', $context)); + unset($data['object_storage_cluster']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + $data['organization'] = $this->normalizer->normalize($object->getOrganization(), 'json', $context); + $data['object_storage_cluster'] = $this->normalizer->normalize($object->getObjectStorageCluster(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteBody::class => false]; + } + } +} else { + class OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteBodyNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteBody::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteBody::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteBody(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('organization', $data)) { + $object->setOrganization($this->denormalizer->denormalize($data['organization'], \KatapultAPI\Core\Model\OrganizationLookup::class, 'json', $context)); + unset($data['organization']); + } + if (\array_key_exists('object_storage_cluster', $data)) { + $object->setObjectStorageCluster($this->denormalizer->denormalize($data['object_storage_cluster'], \KatapultAPI\Core\Model\ObjectStorageClusterLookup::class, 'json', $context)); + unset($data['object_storage_cluster']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + $data['organization'] = $this->normalizer->normalize($object->getOrganization(), 'json', $context); + $data['object_storage_cluster'] = $this->normalizer->normalize($object->getObjectStorageCluster(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteBody::class => false]; + } + } +} diff --git a/src/Core/Normalizer/OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteResponse200Normalizer.php b/src/Core/Normalizer/OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteResponse200Normalizer.php new file mode 100644 index 00000000..57bb4f29 --- /dev/null +++ b/src/Core/Normalizer/OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteResponse200Normalizer.php @@ -0,0 +1,159 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteResponse200Normalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteResponse200::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('trash_object', $data)) { + $object->setTrashObject($this->denormalizer->denormalize($data['trash_object'], \KatapultAPI\Core\Model\DeleteOrganizationObjectStorageObjectStorageCluster200ResponseTrashObject::class, 'json', $context)); + unset($data['trash_object']); + } + if (\array_key_exists('object_storage_account', $data)) { + $object->setObjectStorageAccount($this->denormalizer->denormalize($data['object_storage_account'], \KatapultAPI\Core\Model\ObjectStorageAccount::class, 'json', $context)); + unset($data['object_storage_account']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + $data['trash_object'] = $this->normalizer->normalize($object->getTrashObject(), 'json', $context); + $data['object_storage_account'] = $this->normalizer->normalize($object->getObjectStorageAccount(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteResponse200::class => false]; + } + } +} else { + class OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteResponse200Normalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteResponse200::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('trash_object', $data)) { + $object->setTrashObject($this->denormalizer->denormalize($data['trash_object'], \KatapultAPI\Core\Model\DeleteOrganizationObjectStorageObjectStorageCluster200ResponseTrashObject::class, 'json', $context)); + unset($data['trash_object']); + } + if (\array_key_exists('object_storage_account', $data)) { + $object->setObjectStorageAccount($this->denormalizer->denormalize($data['object_storage_account'], \KatapultAPI\Core\Model\ObjectStorageAccount::class, 'json', $context)); + unset($data['object_storage_account']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + $data['trash_object'] = $this->normalizer->normalize($object->getTrashObject(), 'json', $context); + $data['object_storage_account'] = $this->normalizer->normalize($object->getObjectStorageAccount(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterDeleteResponse200::class => false]; + } + } +} diff --git a/src/Core/Normalizer/OrganizationsOrganizationObjectStorageObjectStorageClusterGetResponse200Normalizer.php b/src/Core/Normalizer/OrganizationsOrganizationObjectStorageObjectStorageClusterGetResponse200Normalizer.php new file mode 100644 index 00000000..166b111d --- /dev/null +++ b/src/Core/Normalizer/OrganizationsOrganizationObjectStorageObjectStorageClusterGetResponse200Normalizer.php @@ -0,0 +1,149 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class OrganizationsOrganizationObjectStorageObjectStorageClusterGetResponse200Normalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterGetResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterGetResponse200::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterGetResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('object_storage_account', $data)) { + $object->setObjectStorageAccount($this->denormalizer->denormalize($data['object_storage_account'], \KatapultAPI\Core\Model\ObjectStorageAccount::class, 'json', $context)); + unset($data['object_storage_account']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + $data['object_storage_account'] = $this->normalizer->normalize($object->getObjectStorageAccount(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterGetResponse200::class => false]; + } + } +} else { + class OrganizationsOrganizationObjectStorageObjectStorageClusterGetResponse200Normalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterGetResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterGetResponse200::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterGetResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('object_storage_account', $data)) { + $object->setObjectStorageAccount($this->denormalizer->denormalize($data['object_storage_account'], \KatapultAPI\Core\Model\ObjectStorageAccount::class, 'json', $context)); + unset($data['object_storage_account']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + $data['object_storage_account'] = $this->normalizer->normalize($object->getObjectStorageAccount(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterGetResponse200::class => false]; + } + } +} diff --git a/src/Core/Normalizer/OrganizationsOrganizationObjectStorageObjectStorageClusterPostBodyNormalizer.php b/src/Core/Normalizer/OrganizationsOrganizationObjectStorageObjectStorageClusterPostBodyNormalizer.php new file mode 100644 index 00000000..c0836006 --- /dev/null +++ b/src/Core/Normalizer/OrganizationsOrganizationObjectStorageObjectStorageClusterPostBodyNormalizer.php @@ -0,0 +1,159 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class OrganizationsOrganizationObjectStorageObjectStorageClusterPostBodyNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostBody::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostBody::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostBody(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('organization', $data)) { + $object->setOrganization($this->denormalizer->denormalize($data['organization'], \KatapultAPI\Core\Model\OrganizationLookup::class, 'json', $context)); + unset($data['organization']); + } + if (\array_key_exists('object_storage_cluster', $data)) { + $object->setObjectStorageCluster($this->denormalizer->denormalize($data['object_storage_cluster'], \KatapultAPI\Core\Model\ObjectStorageClusterLookup::class, 'json', $context)); + unset($data['object_storage_cluster']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + $data['organization'] = $this->normalizer->normalize($object->getOrganization(), 'json', $context); + $data['object_storage_cluster'] = $this->normalizer->normalize($object->getObjectStorageCluster(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostBody::class => false]; + } + } +} else { + class OrganizationsOrganizationObjectStorageObjectStorageClusterPostBodyNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostBody::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostBody::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostBody(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('organization', $data)) { + $object->setOrganization($this->denormalizer->denormalize($data['organization'], \KatapultAPI\Core\Model\OrganizationLookup::class, 'json', $context)); + unset($data['organization']); + } + if (\array_key_exists('object_storage_cluster', $data)) { + $object->setObjectStorageCluster($this->denormalizer->denormalize($data['object_storage_cluster'], \KatapultAPI\Core\Model\ObjectStorageClusterLookup::class, 'json', $context)); + unset($data['object_storage_cluster']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + $data['organization'] = $this->normalizer->normalize($object->getOrganization(), 'json', $context); + $data['object_storage_cluster'] = $this->normalizer->normalize($object->getObjectStorageCluster(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostBody::class => false]; + } + } +} diff --git a/src/Core/Normalizer/OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201Normalizer.php b/src/Core/Normalizer/OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201Normalizer.php new file mode 100644 index 00000000..960dd1d0 --- /dev/null +++ b/src/Core/Normalizer/OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201Normalizer.php @@ -0,0 +1,149 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201Normalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('object_storage_account', $data)) { + $object->setObjectStorageAccount($this->denormalizer->denormalize($data['object_storage_account'], \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201ObjectStorageAccount::class, 'json', $context)); + unset($data['object_storage_account']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + $data['object_storage_account'] = $this->normalizer->normalize($object->getObjectStorageAccount(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201::class => false]; + } + } +} else { + class OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201Normalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('object_storage_account', $data)) { + $object->setObjectStorageAccount($this->denormalizer->denormalize($data['object_storage_account'], \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201ObjectStorageAccount::class, 'json', $context)); + unset($data['object_storage_account']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + $data['object_storage_account'] = $this->normalizer->normalize($object->getObjectStorageAccount(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201::class => false]; + } + } +} diff --git a/src/Core/Normalizer/OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201ObjectStorageAccountNormalizer.php b/src/Core/Normalizer/OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201ObjectStorageAccountNormalizer.php new file mode 100644 index 00000000..4c3ede5a --- /dev/null +++ b/src/Core/Normalizer/OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201ObjectStorageAccountNormalizer.php @@ -0,0 +1,223 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201ObjectStorageAccountNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201ObjectStorageAccount::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201ObjectStorageAccount::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201ObjectStorageAccount(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('region', $data)) { + $object->setRegion($data['region']); + unset($data['region']); + } + if (\array_key_exists('created_at', $data)) { + $object->setCreatedAt($data['created_at']); + unset($data['created_at']); + } + if (\array_key_exists('provisioning_state', $data)) { + $object->setProvisioningState($data['provisioning_state']); + unset($data['provisioning_state']); + } + if (\array_key_exists('size', $data)) { + $object->setSize($data['size']); + unset($data['size']); + } + if (\array_key_exists('bucket_count', $data)) { + $object->setBucketCount($data['bucket_count']); + unset($data['bucket_count']); + } + if (\array_key_exists('data_center', $data)) { + $object->setDataCenter($this->denormalizer->denormalize($data['data_center'], \KatapultAPI\Core\Model\DataCenter::class, 'json', $context)); + unset($data['data_center']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('region') && null !== $object->getRegion()) { + $data['region'] = $object->getRegion(); + } + if ($object->isInitialized('createdAt') && null !== $object->getCreatedAt()) { + $data['created_at'] = $object->getCreatedAt(); + } + if ($object->isInitialized('provisioningState') && null !== $object->getProvisioningState()) { + $data['provisioning_state'] = $object->getProvisioningState(); + } + if ($object->isInitialized('size') && null !== $object->getSize()) { + $data['size'] = $object->getSize(); + } + if ($object->isInitialized('bucketCount') && null !== $object->getBucketCount()) { + $data['bucket_count'] = $object->getBucketCount(); + } + if ($object->isInitialized('dataCenter') && null !== $object->getDataCenter()) { + $data['data_center'] = $this->normalizer->normalize($object->getDataCenter(), 'json', $context); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201ObjectStorageAccount::class => false]; + } + } +} else { + class OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201ObjectStorageAccountNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201ObjectStorageAccount::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201ObjectStorageAccount::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201ObjectStorageAccount(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('region', $data)) { + $object->setRegion($data['region']); + unset($data['region']); + } + if (\array_key_exists('created_at', $data)) { + $object->setCreatedAt($data['created_at']); + unset($data['created_at']); + } + if (\array_key_exists('provisioning_state', $data)) { + $object->setProvisioningState($data['provisioning_state']); + unset($data['provisioning_state']); + } + if (\array_key_exists('size', $data)) { + $object->setSize($data['size']); + unset($data['size']); + } + if (\array_key_exists('bucket_count', $data)) { + $object->setBucketCount($data['bucket_count']); + unset($data['bucket_count']); + } + if (\array_key_exists('data_center', $data)) { + $object->setDataCenter($this->denormalizer->denormalize($data['data_center'], \KatapultAPI\Core\Model\DataCenter::class, 'json', $context)); + unset($data['data_center']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('region') && null !== $object->getRegion()) { + $data['region'] = $object->getRegion(); + } + if ($object->isInitialized('createdAt') && null !== $object->getCreatedAt()) { + $data['created_at'] = $object->getCreatedAt(); + } + if ($object->isInitialized('provisioningState') && null !== $object->getProvisioningState()) { + $data['provisioning_state'] = $object->getProvisioningState(); + } + if ($object->isInitialized('size') && null !== $object->getSize()) { + $data['size'] = $object->getSize(); + } + if ($object->isInitialized('bucketCount') && null !== $object->getBucketCount()) { + $data['bucket_count'] = $object->getBucketCount(); + } + if ($object->isInitialized('dataCenter') && null !== $object->getDataCenter()) { + $data['data_center'] = $this->normalizer->normalize($object->getDataCenter(), 'json', $context); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterPostResponse201ObjectStorageAccount::class => false]; + } + } +} diff --git a/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer.php b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer.php new file mode 100644 index 00000000..4fd7a29f --- /dev/null +++ b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer.php @@ -0,0 +1,167 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNetwork::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNetwork::class => false]; + } + } +} else { + class PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNetwork::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNetwork::class => false]; + } + } +} diff --git a/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNormalizer.php b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNormalizer.php index 8cf948c7..f0ab4543 100644 --- a/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNormalizer.php +++ b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNormalizer.php @@ -63,9 +63,17 @@ public function denormalize(mixed $data, string $type, ?string $format = null, a $object->setName($data['name']); unset($data['name']); } - if (\array_key_exists('network', $data)) { - $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIPPartNetwork::class, 'json', $context)); + if (\array_key_exists('network', $data) && $data['network'] !== null) { + $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNetwork::class, 'json', $context)); unset($data['network']); + } elseif (\array_key_exists('network', $data) && $data['network'] === null) { + $object->setNetwork(null); + } + if (\array_key_exists('virtual_network', $data) && $data['virtual_network'] !== null) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } elseif (\array_key_exists('virtual_network', $data) && $data['virtual_network'] === null) { + $object->setVirtualNetwork(null); } if (\array_key_exists('mac_address', $data)) { $object->setMacAddress($data['mac_address']); @@ -107,6 +115,9 @@ public function normalize(mixed $object, ?string $format = null, array $context if ($object->isInitialized('network') && null !== $object->getNetwork()) { $data['network'] = $this->normalizer->normalize($object->getNetwork(), 'json', $context); } + if ($object->isInitialized('virtualNetwork') && null !== $object->getVirtualNetwork()) { + $data['virtual_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), 'json', $context); + } if ($object->isInitialized('macAddress') && null !== $object->getMacAddress()) { $data['mac_address'] = $object->getMacAddress(); } @@ -176,9 +187,17 @@ public function denormalize($data, $type, $format = null, array $context = []) $object->setName($data['name']); unset($data['name']); } - if (\array_key_exists('network', $data)) { - $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIPPartNetwork::class, 'json', $context)); + if (\array_key_exists('network', $data) && $data['network'] !== null) { + $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNetwork::class, 'json', $context)); unset($data['network']); + } elseif (\array_key_exists('network', $data) && $data['network'] === null) { + $object->setNetwork(null); + } + if (\array_key_exists('virtual_network', $data) && $data['virtual_network'] !== null) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } elseif (\array_key_exists('virtual_network', $data) && $data['virtual_network'] === null) { + $object->setVirtualNetwork(null); } if (\array_key_exists('mac_address', $data)) { $object->setMacAddress($data['mac_address']); @@ -223,6 +242,9 @@ public function normalize($object, $format = null, array $context = []) if ($object->isInitialized('network') && null !== $object->getNetwork()) { $data['network'] = $this->normalizer->normalize($object->getNetwork(), 'json', $context); } + if ($object->isInitialized('virtualNetwork') && null !== $object->getVirtualNetwork()) { + $data['virtual_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), 'json', $context); + } if ($object->isInitialized('macAddress') && null !== $object->getMacAddress()) { $data['mac_address'] = $object->getMacAddress(); } diff --git a/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer.php b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer.php new file mode 100644 index 00000000..78017b09 --- /dev/null +++ b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer.php @@ -0,0 +1,167 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceVirtualNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => false]; + } + } +} else { + class PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceVirtualNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => false]; + } + } +} diff --git a/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualNetworkNormalizer.php b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualNetworkNormalizer.php new file mode 100644 index 00000000..af0a094f --- /dev/null +++ b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualNetworkNormalizer.php @@ -0,0 +1,167 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualNetwork::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualNetwork::class => false]; + } + } +} else { + class PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualNetwork::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualNetwork::class => false]; + } + } +} diff --git a/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer.php b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer.php new file mode 100644 index 00000000..a86405cd --- /dev/null +++ b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer.php @@ -0,0 +1,167 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNetwork::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNetwork::class => false]; + } + } +} else { + class PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNetwork::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNetwork::class => false]; + } + } +} diff --git a/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNormalizer.php b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNormalizer.php new file mode 100644 index 00000000..b6485882 --- /dev/null +++ b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNormalizer.php @@ -0,0 +1,289 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterface::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterface::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterface(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('virtual_machine', $data)) { + $object->setVirtualMachine($this->denormalizer->denormalize($data['virtual_machine'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartVirtualMachine::class, 'json', $context)); + unset($data['virtual_machine']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + if (\array_key_exists('network', $data) && $data['network'] !== null) { + $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNetwork::class, 'json', $context)); + unset($data['network']); + } elseif (\array_key_exists('network', $data) && $data['network'] === null) { + $object->setNetwork(null); + } + if (\array_key_exists('virtual_network', $data) && $data['virtual_network'] !== null) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } elseif (\array_key_exists('virtual_network', $data) && $data['virtual_network'] === null) { + $object->setVirtualNetwork(null); + } + if (\array_key_exists('mac_address', $data)) { + $object->setMacAddress($data['mac_address']); + unset($data['mac_address']); + } + if (\array_key_exists('state', $data)) { + $object->setState($data['state']); + unset($data['state']); + } + if (\array_key_exists('ip_addresses', $data)) { + $values = []; + foreach ($data['ip_addresses'] as $value) { + $values[] = $this->denormalizer->denormalize($value, \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartIPAddresses::class, 'json', $context); + } + $object->setIpAddresses($values); + unset($data['ip_addresses']); + } + if (\array_key_exists('speed_profile', $data)) { + $object->setSpeedProfile($this->denormalizer->denormalize($data['speed_profile'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartSpeedProfile::class, 'json', $context)); + unset($data['speed_profile']); + } + foreach ($data as $key => $value_1) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value_1; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('virtualMachine') && null !== $object->getVirtualMachine()) { + $data['virtual_machine'] = $this->normalizer->normalize($object->getVirtualMachine(), 'json', $context); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + if ($object->isInitialized('network') && null !== $object->getNetwork()) { + $data['network'] = $this->normalizer->normalize($object->getNetwork(), 'json', $context); + } + if ($object->isInitialized('virtualNetwork') && null !== $object->getVirtualNetwork()) { + $data['virtual_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), 'json', $context); + } + if ($object->isInitialized('macAddress') && null !== $object->getMacAddress()) { + $data['mac_address'] = $object->getMacAddress(); + } + if ($object->isInitialized('state') && null !== $object->getState()) { + $data['state'] = $object->getState(); + } + if ($object->isInitialized('ipAddresses') && null !== $object->getIpAddresses()) { + $values = []; + foreach ($object->getIpAddresses() as $value) { + $values[] = $this->normalizer->normalize($value, 'json', $context); + } + $data['ip_addresses'] = $values; + } + if ($object->isInitialized('speedProfile') && null !== $object->getSpeedProfile()) { + $data['speed_profile'] = $this->normalizer->normalize($object->getSpeedProfile(), 'json', $context); + } + foreach ($object as $key => $value_1) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value_1; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterface::class => false]; + } + } +} else { + class PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterface::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterface::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterface(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('virtual_machine', $data)) { + $object->setVirtualMachine($this->denormalizer->denormalize($data['virtual_machine'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartVirtualMachine::class, 'json', $context)); + unset($data['virtual_machine']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + if (\array_key_exists('network', $data) && $data['network'] !== null) { + $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNetwork::class, 'json', $context)); + unset($data['network']); + } elseif (\array_key_exists('network', $data) && $data['network'] === null) { + $object->setNetwork(null); + } + if (\array_key_exists('virtual_network', $data) && $data['virtual_network'] !== null) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } elseif (\array_key_exists('virtual_network', $data) && $data['virtual_network'] === null) { + $object->setVirtualNetwork(null); + } + if (\array_key_exists('mac_address', $data)) { + $object->setMacAddress($data['mac_address']); + unset($data['mac_address']); + } + if (\array_key_exists('state', $data)) { + $object->setState($data['state']); + unset($data['state']); + } + if (\array_key_exists('ip_addresses', $data)) { + $values = []; + foreach ($data['ip_addresses'] as $value) { + $values[] = $this->denormalizer->denormalize($value, \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartIPAddresses::class, 'json', $context); + } + $object->setIpAddresses($values); + unset($data['ip_addresses']); + } + if (\array_key_exists('speed_profile', $data)) { + $object->setSpeedProfile($this->denormalizer->denormalize($data['speed_profile'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartSpeedProfile::class, 'json', $context)); + unset($data['speed_profile']); + } + foreach ($data as $key => $value_1) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value_1; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('virtualMachine') && null !== $object->getVirtualMachine()) { + $data['virtual_machine'] = $this->normalizer->normalize($object->getVirtualMachine(), 'json', $context); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + if ($object->isInitialized('network') && null !== $object->getNetwork()) { + $data['network'] = $this->normalizer->normalize($object->getNetwork(), 'json', $context); + } + if ($object->isInitialized('virtualNetwork') && null !== $object->getVirtualNetwork()) { + $data['virtual_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), 'json', $context); + } + if ($object->isInitialized('macAddress') && null !== $object->getMacAddress()) { + $data['mac_address'] = $object->getMacAddress(); + } + if ($object->isInitialized('state') && null !== $object->getState()) { + $data['state'] = $object->getState(); + } + if ($object->isInitialized('ipAddresses') && null !== $object->getIpAddresses()) { + $values = []; + foreach ($object->getIpAddresses() as $value) { + $values[] = $this->normalizer->normalize($value, 'json', $context); + } + $data['ip_addresses'] = $values; + } + if ($object->isInitialized('speedProfile') && null !== $object->getSpeedProfile()) { + $data['speed_profile'] = $this->normalizer->normalize($object->getSpeedProfile(), 'json', $context); + } + foreach ($object as $key => $value_1) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value_1; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterface::class => false]; + } + } +} diff --git a/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer.php b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer.php new file mode 100644 index 00000000..03c26d89 --- /dev/null +++ b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer.php @@ -0,0 +1,167 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => false]; + } + } +} else { + class PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => false]; + } + } +} diff --git a/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAttachPartIPAddressesNormalizer.php b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAttachPartIPAddressesNormalizer.php new file mode 100644 index 00000000..c9970a09 --- /dev/null +++ b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAttachPartIPAddressesNormalizer.php @@ -0,0 +1,167 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class PostVirtualMachineNetworkInterfaceAttachPartIPAddressesNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartIPAddresses::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartIPAddresses::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartIPAddresses(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('address', $data)) { + $object->setAddress($data['address']); + unset($data['address']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('address') && null !== $object->getAddress()) { + $data['address'] = $object->getAddress(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartIPAddresses::class => false]; + } + } +} else { + class PostVirtualMachineNetworkInterfaceAttachPartIPAddressesNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartIPAddresses::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartIPAddresses::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartIPAddresses(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('address', $data)) { + $object->setAddress($data['address']); + unset($data['address']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('address') && null !== $object->getAddress()) { + $data['address'] = $object->getAddress(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartIPAddresses::class => false]; + } + } +} diff --git a/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAttachPartNetworkNormalizer.php b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAttachPartNetworkNormalizer.php new file mode 100644 index 00000000..8e33e998 --- /dev/null +++ b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAttachPartNetworkNormalizer.php @@ -0,0 +1,167 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class PostVirtualMachineNetworkInterfaceAttachPartNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartNetwork::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartNetwork::class => false]; + } + } +} else { + class PostVirtualMachineNetworkInterfaceAttachPartNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartNetwork::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartNetwork::class => false]; + } + } +} diff --git a/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAttachPartSpeedProfileNormalizer.php b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAttachPartSpeedProfileNormalizer.php new file mode 100644 index 00000000..20ea7aec --- /dev/null +++ b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAttachPartSpeedProfileNormalizer.php @@ -0,0 +1,181 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class PostVirtualMachineNetworkInterfaceAttachPartSpeedProfileNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartSpeedProfile::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartSpeedProfile::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartSpeedProfile(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + if (\array_key_exists('permalink', $data)) { + $object->setPermalink($data['permalink']); + unset($data['permalink']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + if ($object->isInitialized('permalink') && null !== $object->getPermalink()) { + $data['permalink'] = $object->getPermalink(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartSpeedProfile::class => false]; + } + } +} else { + class PostVirtualMachineNetworkInterfaceAttachPartSpeedProfileNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartSpeedProfile::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartSpeedProfile::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartSpeedProfile(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + if (\array_key_exists('permalink', $data)) { + $object->setPermalink($data['permalink']); + unset($data['permalink']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + if ($object->isInitialized('permalink') && null !== $object->getPermalink()) { + $data['permalink'] = $object->getPermalink(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartSpeedProfile::class => false]; + } + } +} diff --git a/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAttachPartVirtualMachineNormalizer.php b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAttachPartVirtualMachineNormalizer.php new file mode 100644 index 00000000..b19178b8 --- /dev/null +++ b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAttachPartVirtualMachineNormalizer.php @@ -0,0 +1,167 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class PostVirtualMachineNetworkInterfaceAttachPartVirtualMachineNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartVirtualMachine::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartVirtualMachine::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartVirtualMachine(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartVirtualMachine::class => false]; + } + } +} else { + class PostVirtualMachineNetworkInterfaceAttachPartVirtualMachineNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartVirtualMachine::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartVirtualMachine::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartVirtualMachine(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartVirtualMachine::class => false]; + } + } +} diff --git a/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAttachPartVirtualNetworkNormalizer.php b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAttachPartVirtualNetworkNormalizer.php new file mode 100644 index 00000000..a4c1a282 --- /dev/null +++ b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceAttachPartVirtualNetworkNormalizer.php @@ -0,0 +1,167 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class PostVirtualMachineNetworkInterfaceAttachPartVirtualNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartVirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartVirtualNetwork::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartVirtualNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartVirtualNetwork::class => false]; + } + } +} else { + class PostVirtualMachineNetworkInterfaceAttachPartVirtualNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartVirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartVirtualNetwork::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartVirtualNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartVirtualNetwork::class => false]; + } + } +} diff --git a/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer.php b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer.php new file mode 100644 index 00000000..81143387 --- /dev/null +++ b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer.php @@ -0,0 +1,167 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNetwork::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNetwork::class => false]; + } + } +} else { + class PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNetwork::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNetwork::class => false]; + } + } +} diff --git a/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNormalizer.php b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNormalizer.php new file mode 100644 index 00000000..37771758 --- /dev/null +++ b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNormalizer.php @@ -0,0 +1,289 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterface::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterface::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterface(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('virtual_machine', $data)) { + $object->setVirtualMachine($this->denormalizer->denormalize($data['virtual_machine'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartVirtualMachine::class, 'json', $context)); + unset($data['virtual_machine']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + if (\array_key_exists('network', $data) && $data['network'] !== null) { + $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNetwork::class, 'json', $context)); + unset($data['network']); + } elseif (\array_key_exists('network', $data) && $data['network'] === null) { + $object->setNetwork(null); + } + if (\array_key_exists('virtual_network', $data) && $data['virtual_network'] !== null) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } elseif (\array_key_exists('virtual_network', $data) && $data['virtual_network'] === null) { + $object->setVirtualNetwork(null); + } + if (\array_key_exists('mac_address', $data)) { + $object->setMacAddress($data['mac_address']); + unset($data['mac_address']); + } + if (\array_key_exists('state', $data)) { + $object->setState($data['state']); + unset($data['state']); + } + if (\array_key_exists('ip_addresses', $data)) { + $values = []; + foreach ($data['ip_addresses'] as $value) { + $values[] = $this->denormalizer->denormalize($value, \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartIPAddresses::class, 'json', $context); + } + $object->setIpAddresses($values); + unset($data['ip_addresses']); + } + if (\array_key_exists('speed_profile', $data)) { + $object->setSpeedProfile($this->denormalizer->denormalize($data['speed_profile'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartSpeedProfile::class, 'json', $context)); + unset($data['speed_profile']); + } + foreach ($data as $key => $value_1) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value_1; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('virtualMachine') && null !== $object->getVirtualMachine()) { + $data['virtual_machine'] = $this->normalizer->normalize($object->getVirtualMachine(), 'json', $context); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + if ($object->isInitialized('network') && null !== $object->getNetwork()) { + $data['network'] = $this->normalizer->normalize($object->getNetwork(), 'json', $context); + } + if ($object->isInitialized('virtualNetwork') && null !== $object->getVirtualNetwork()) { + $data['virtual_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), 'json', $context); + } + if ($object->isInitialized('macAddress') && null !== $object->getMacAddress()) { + $data['mac_address'] = $object->getMacAddress(); + } + if ($object->isInitialized('state') && null !== $object->getState()) { + $data['state'] = $object->getState(); + } + if ($object->isInitialized('ipAddresses') && null !== $object->getIpAddresses()) { + $values = []; + foreach ($object->getIpAddresses() as $value) { + $values[] = $this->normalizer->normalize($value, 'json', $context); + } + $data['ip_addresses'] = $values; + } + if ($object->isInitialized('speedProfile') && null !== $object->getSpeedProfile()) { + $data['speed_profile'] = $this->normalizer->normalize($object->getSpeedProfile(), 'json', $context); + } + foreach ($object as $key => $value_1) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value_1; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterface::class => false]; + } + } +} else { + class PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterface::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterface::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterface(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('virtual_machine', $data)) { + $object->setVirtualMachine($this->denormalizer->denormalize($data['virtual_machine'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartVirtualMachine::class, 'json', $context)); + unset($data['virtual_machine']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + if (\array_key_exists('network', $data) && $data['network'] !== null) { + $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNetwork::class, 'json', $context)); + unset($data['network']); + } elseif (\array_key_exists('network', $data) && $data['network'] === null) { + $object->setNetwork(null); + } + if (\array_key_exists('virtual_network', $data) && $data['virtual_network'] !== null) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } elseif (\array_key_exists('virtual_network', $data) && $data['virtual_network'] === null) { + $object->setVirtualNetwork(null); + } + if (\array_key_exists('mac_address', $data)) { + $object->setMacAddress($data['mac_address']); + unset($data['mac_address']); + } + if (\array_key_exists('state', $data)) { + $object->setState($data['state']); + unset($data['state']); + } + if (\array_key_exists('ip_addresses', $data)) { + $values = []; + foreach ($data['ip_addresses'] as $value) { + $values[] = $this->denormalizer->denormalize($value, \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartIPAddresses::class, 'json', $context); + } + $object->setIpAddresses($values); + unset($data['ip_addresses']); + } + if (\array_key_exists('speed_profile', $data)) { + $object->setSpeedProfile($this->denormalizer->denormalize($data['speed_profile'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartSpeedProfile::class, 'json', $context)); + unset($data['speed_profile']); + } + foreach ($data as $key => $value_1) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value_1; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('virtualMachine') && null !== $object->getVirtualMachine()) { + $data['virtual_machine'] = $this->normalizer->normalize($object->getVirtualMachine(), 'json', $context); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + if ($object->isInitialized('network') && null !== $object->getNetwork()) { + $data['network'] = $this->normalizer->normalize($object->getNetwork(), 'json', $context); + } + if ($object->isInitialized('virtualNetwork') && null !== $object->getVirtualNetwork()) { + $data['virtual_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), 'json', $context); + } + if ($object->isInitialized('macAddress') && null !== $object->getMacAddress()) { + $data['mac_address'] = $object->getMacAddress(); + } + if ($object->isInitialized('state') && null !== $object->getState()) { + $data['state'] = $object->getState(); + } + if ($object->isInitialized('ipAddresses') && null !== $object->getIpAddresses()) { + $values = []; + foreach ($object->getIpAddresses() as $value) { + $values[] = $this->normalizer->normalize($value, 'json', $context); + } + $data['ip_addresses'] = $values; + } + if ($object->isInitialized('speedProfile') && null !== $object->getSpeedProfile()) { + $data['speed_profile'] = $this->normalizer->normalize($object->getSpeedProfile(), 'json', $context); + } + foreach ($object as $key => $value_1) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value_1; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterface::class => false]; + } + } +} diff --git a/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer.php b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer.php new file mode 100644 index 00000000..2e6e56b3 --- /dev/null +++ b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer.php @@ -0,0 +1,167 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => false]; + } + } +} else { + class PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => false]; + } + } +} diff --git a/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceDetachPartIPAddressesNormalizer.php b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceDetachPartIPAddressesNormalizer.php new file mode 100644 index 00000000..1033a02f --- /dev/null +++ b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceDetachPartIPAddressesNormalizer.php @@ -0,0 +1,167 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class PostVirtualMachineNetworkInterfaceDetachPartIPAddressesNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartIPAddresses::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartIPAddresses::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartIPAddresses(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('address', $data)) { + $object->setAddress($data['address']); + unset($data['address']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('address') && null !== $object->getAddress()) { + $data['address'] = $object->getAddress(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartIPAddresses::class => false]; + } + } +} else { + class PostVirtualMachineNetworkInterfaceDetachPartIPAddressesNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartIPAddresses::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartIPAddresses::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartIPAddresses(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('address', $data)) { + $object->setAddress($data['address']); + unset($data['address']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('address') && null !== $object->getAddress()) { + $data['address'] = $object->getAddress(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartIPAddresses::class => false]; + } + } +} diff --git a/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceDetachPartNetworkNormalizer.php b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceDetachPartNetworkNormalizer.php new file mode 100644 index 00000000..1e998875 --- /dev/null +++ b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceDetachPartNetworkNormalizer.php @@ -0,0 +1,167 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class PostVirtualMachineNetworkInterfaceDetachPartNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartNetwork::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartNetwork::class => false]; + } + } +} else { + class PostVirtualMachineNetworkInterfaceDetachPartNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartNetwork::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartNetwork::class => false]; + } + } +} diff --git a/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceDetachPartSpeedProfileNormalizer.php b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceDetachPartSpeedProfileNormalizer.php new file mode 100644 index 00000000..ced0d573 --- /dev/null +++ b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceDetachPartSpeedProfileNormalizer.php @@ -0,0 +1,181 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class PostVirtualMachineNetworkInterfaceDetachPartSpeedProfileNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartSpeedProfile::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartSpeedProfile::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartSpeedProfile(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + if (\array_key_exists('permalink', $data)) { + $object->setPermalink($data['permalink']); + unset($data['permalink']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + if ($object->isInitialized('permalink') && null !== $object->getPermalink()) { + $data['permalink'] = $object->getPermalink(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartSpeedProfile::class => false]; + } + } +} else { + class PostVirtualMachineNetworkInterfaceDetachPartSpeedProfileNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartSpeedProfile::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartSpeedProfile::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartSpeedProfile(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + if (\array_key_exists('permalink', $data)) { + $object->setPermalink($data['permalink']); + unset($data['permalink']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + if ($object->isInitialized('permalink') && null !== $object->getPermalink()) { + $data['permalink'] = $object->getPermalink(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartSpeedProfile::class => false]; + } + } +} diff --git a/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceDetachPartVirtualMachineNormalizer.php b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceDetachPartVirtualMachineNormalizer.php new file mode 100644 index 00000000..c0b175ea --- /dev/null +++ b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceDetachPartVirtualMachineNormalizer.php @@ -0,0 +1,167 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class PostVirtualMachineNetworkInterfaceDetachPartVirtualMachineNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartVirtualMachine::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartVirtualMachine::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartVirtualMachine(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartVirtualMachine::class => false]; + } + } +} else { + class PostVirtualMachineNetworkInterfaceDetachPartVirtualMachineNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartVirtualMachine::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartVirtualMachine::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartVirtualMachine(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartVirtualMachine::class => false]; + } + } +} diff --git a/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceDetachPartVirtualNetworkNormalizer.php b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceDetachPartVirtualNetworkNormalizer.php new file mode 100644 index 00000000..3e1874c2 --- /dev/null +++ b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaceDetachPartVirtualNetworkNormalizer.php @@ -0,0 +1,167 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class PostVirtualMachineNetworkInterfaceDetachPartVirtualNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartVirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartVirtualNetwork::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartVirtualNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartVirtualNetwork::class => false]; + } + } +} else { + class PostVirtualMachineNetworkInterfaceDetachPartVirtualNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartVirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartVirtualNetwork::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartVirtualNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartVirtualNetwork::class => false]; + } + } +} diff --git a/src/Core/Normalizer/PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer.php b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer.php new file mode 100644 index 00000000..d4a2a622 --- /dev/null +++ b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer.php @@ -0,0 +1,167 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNetwork::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNetwork::class => false]; + } + } +} else { + class PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNetwork::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNetwork::class => false]; + } + } +} diff --git a/src/Core/Normalizer/PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNormalizer.php b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNormalizer.php new file mode 100644 index 00000000..eac5bca8 --- /dev/null +++ b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNormalizer.php @@ -0,0 +1,289 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterface::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterface::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterface(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('virtual_machine', $data)) { + $object->setVirtualMachine($this->denormalizer->denormalize($data['virtual_machine'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartVirtualMachine::class, 'json', $context)); + unset($data['virtual_machine']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + if (\array_key_exists('network', $data) && $data['network'] !== null) { + $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNetwork::class, 'json', $context)); + unset($data['network']); + } elseif (\array_key_exists('network', $data) && $data['network'] === null) { + $object->setNetwork(null); + } + if (\array_key_exists('virtual_network', $data) && $data['virtual_network'] !== null) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } elseif (\array_key_exists('virtual_network', $data) && $data['virtual_network'] === null) { + $object->setVirtualNetwork(null); + } + if (\array_key_exists('mac_address', $data)) { + $object->setMacAddress($data['mac_address']); + unset($data['mac_address']); + } + if (\array_key_exists('state', $data)) { + $object->setState($data['state']); + unset($data['state']); + } + if (\array_key_exists('ip_addresses', $data)) { + $values = []; + foreach ($data['ip_addresses'] as $value) { + $values[] = $this->denormalizer->denormalize($value, \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartIPAddresses::class, 'json', $context); + } + $object->setIpAddresses($values); + unset($data['ip_addresses']); + } + if (\array_key_exists('speed_profile', $data)) { + $object->setSpeedProfile($this->denormalizer->denormalize($data['speed_profile'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartSpeedProfile::class, 'json', $context)); + unset($data['speed_profile']); + } + foreach ($data as $key => $value_1) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value_1; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('virtualMachine') && null !== $object->getVirtualMachine()) { + $data['virtual_machine'] = $this->normalizer->normalize($object->getVirtualMachine(), 'json', $context); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + if ($object->isInitialized('network') && null !== $object->getNetwork()) { + $data['network'] = $this->normalizer->normalize($object->getNetwork(), 'json', $context); + } + if ($object->isInitialized('virtualNetwork') && null !== $object->getVirtualNetwork()) { + $data['virtual_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), 'json', $context); + } + if ($object->isInitialized('macAddress') && null !== $object->getMacAddress()) { + $data['mac_address'] = $object->getMacAddress(); + } + if ($object->isInitialized('state') && null !== $object->getState()) { + $data['state'] = $object->getState(); + } + if ($object->isInitialized('ipAddresses') && null !== $object->getIpAddresses()) { + $values = []; + foreach ($object->getIpAddresses() as $value) { + $values[] = $this->normalizer->normalize($value, 'json', $context); + } + $data['ip_addresses'] = $values; + } + if ($object->isInitialized('speedProfile') && null !== $object->getSpeedProfile()) { + $data['speed_profile'] = $this->normalizer->normalize($object->getSpeedProfile(), 'json', $context); + } + foreach ($object as $key => $value_1) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value_1; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterface::class => false]; + } + } +} else { + class PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterface::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterface::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterface(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('virtual_machine', $data)) { + $object->setVirtualMachine($this->denormalizer->denormalize($data['virtual_machine'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartVirtualMachine::class, 'json', $context)); + unset($data['virtual_machine']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + if (\array_key_exists('network', $data) && $data['network'] !== null) { + $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNetwork::class, 'json', $context)); + unset($data['network']); + } elseif (\array_key_exists('network', $data) && $data['network'] === null) { + $object->setNetwork(null); + } + if (\array_key_exists('virtual_network', $data) && $data['virtual_network'] !== null) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } elseif (\array_key_exists('virtual_network', $data) && $data['virtual_network'] === null) { + $object->setVirtualNetwork(null); + } + if (\array_key_exists('mac_address', $data)) { + $object->setMacAddress($data['mac_address']); + unset($data['mac_address']); + } + if (\array_key_exists('state', $data)) { + $object->setState($data['state']); + unset($data['state']); + } + if (\array_key_exists('ip_addresses', $data)) { + $values = []; + foreach ($data['ip_addresses'] as $value) { + $values[] = $this->denormalizer->denormalize($value, \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartIPAddresses::class, 'json', $context); + } + $object->setIpAddresses($values); + unset($data['ip_addresses']); + } + if (\array_key_exists('speed_profile', $data)) { + $object->setSpeedProfile($this->denormalizer->denormalize($data['speed_profile'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartSpeedProfile::class, 'json', $context)); + unset($data['speed_profile']); + } + foreach ($data as $key => $value_1) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value_1; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('virtualMachine') && null !== $object->getVirtualMachine()) { + $data['virtual_machine'] = $this->normalizer->normalize($object->getVirtualMachine(), 'json', $context); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + if ($object->isInitialized('network') && null !== $object->getNetwork()) { + $data['network'] = $this->normalizer->normalize($object->getNetwork(), 'json', $context); + } + if ($object->isInitialized('virtualNetwork') && null !== $object->getVirtualNetwork()) { + $data['virtual_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), 'json', $context); + } + if ($object->isInitialized('macAddress') && null !== $object->getMacAddress()) { + $data['mac_address'] = $object->getMacAddress(); + } + if ($object->isInitialized('state') && null !== $object->getState()) { + $data['state'] = $object->getState(); + } + if ($object->isInitialized('ipAddresses') && null !== $object->getIpAddresses()) { + $values = []; + foreach ($object->getIpAddresses() as $value) { + $values[] = $this->normalizer->normalize($value, 'json', $context); + } + $data['ip_addresses'] = $values; + } + if ($object->isInitialized('speedProfile') && null !== $object->getSpeedProfile()) { + $data['speed_profile'] = $this->normalizer->normalize($object->getSpeedProfile(), 'json', $context); + } + foreach ($object as $key => $value_1) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value_1; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterface::class => false]; + } + } +} diff --git a/src/Core/Normalizer/PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer.php b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer.php new file mode 100644 index 00000000..70be745b --- /dev/null +++ b/src/Core/Normalizer/PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer.php @@ -0,0 +1,167 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceVirtualNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => false]; + } + } +} else { + class PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceVirtualNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceVirtualNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class => false]; + } + } +} diff --git a/src/Core/Normalizer/PostVirtualMachineNetworkInterfacesPartIPAddressesNormalizer.php b/src/Core/Normalizer/PostVirtualMachineNetworkInterfacesPartIPAddressesNormalizer.php new file mode 100644 index 00000000..2a7dc957 --- /dev/null +++ b/src/Core/Normalizer/PostVirtualMachineNetworkInterfacesPartIPAddressesNormalizer.php @@ -0,0 +1,167 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class PostVirtualMachineNetworkInterfacesPartIPAddressesNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartIPAddresses::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartIPAddresses::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartIPAddresses(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('address', $data)) { + $object->setAddress($data['address']); + unset($data['address']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('address') && null !== $object->getAddress()) { + $data['address'] = $object->getAddress(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartIPAddresses::class => false]; + } + } +} else { + class PostVirtualMachineNetworkInterfacesPartIPAddressesNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartIPAddresses::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartIPAddresses::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartIPAddresses(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('address', $data)) { + $object->setAddress($data['address']); + unset($data['address']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('address') && null !== $object->getAddress()) { + $data['address'] = $object->getAddress(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartIPAddresses::class => false]; + } + } +} diff --git a/src/Core/Normalizer/PostVirtualMachineNetworkInterfacesPartNetworkNormalizer.php b/src/Core/Normalizer/PostVirtualMachineNetworkInterfacesPartNetworkNormalizer.php new file mode 100644 index 00000000..906cf89a --- /dev/null +++ b/src/Core/Normalizer/PostVirtualMachineNetworkInterfacesPartNetworkNormalizer.php @@ -0,0 +1,167 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class PostVirtualMachineNetworkInterfacesPartNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartNetwork::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartNetwork::class => false]; + } + } +} else { + class PostVirtualMachineNetworkInterfacesPartNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartNetwork::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartNetwork::class => false]; + } + } +} diff --git a/src/Core/Normalizer/PostVirtualMachineNetworkInterfacesPartSpeedProfileNormalizer.php b/src/Core/Normalizer/PostVirtualMachineNetworkInterfacesPartSpeedProfileNormalizer.php new file mode 100644 index 00000000..e33ad312 --- /dev/null +++ b/src/Core/Normalizer/PostVirtualMachineNetworkInterfacesPartSpeedProfileNormalizer.php @@ -0,0 +1,181 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class PostVirtualMachineNetworkInterfacesPartSpeedProfileNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartSpeedProfile::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartSpeedProfile::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartSpeedProfile(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + if (\array_key_exists('permalink', $data)) { + $object->setPermalink($data['permalink']); + unset($data['permalink']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + if ($object->isInitialized('permalink') && null !== $object->getPermalink()) { + $data['permalink'] = $object->getPermalink(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartSpeedProfile::class => false]; + } + } +} else { + class PostVirtualMachineNetworkInterfacesPartSpeedProfileNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartSpeedProfile::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartSpeedProfile::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartSpeedProfile(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + if (\array_key_exists('permalink', $data)) { + $object->setPermalink($data['permalink']); + unset($data['permalink']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + if ($object->isInitialized('permalink') && null !== $object->getPermalink()) { + $data['permalink'] = $object->getPermalink(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartSpeedProfile::class => false]; + } + } +} diff --git a/src/Core/Normalizer/PostVirtualMachineNetworkInterfacesPartVirtualMachineNormalizer.php b/src/Core/Normalizer/PostVirtualMachineNetworkInterfacesPartVirtualMachineNormalizer.php new file mode 100644 index 00000000..c54487f5 --- /dev/null +++ b/src/Core/Normalizer/PostVirtualMachineNetworkInterfacesPartVirtualMachineNormalizer.php @@ -0,0 +1,167 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class PostVirtualMachineNetworkInterfacesPartVirtualMachineNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartVirtualMachine::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartVirtualMachine::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartVirtualMachine(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartVirtualMachine::class => false]; + } + } +} else { + class PostVirtualMachineNetworkInterfacesPartVirtualMachineNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartVirtualMachine::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartVirtualMachine::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartVirtualMachine(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartVirtualMachine::class => false]; + } + } +} diff --git a/src/Core/Normalizer/PostVirtualMachineNetworkInterfacesPartVirtualNetworkNormalizer.php b/src/Core/Normalizer/PostVirtualMachineNetworkInterfacesPartVirtualNetworkNormalizer.php new file mode 100644 index 00000000..16fc3bce --- /dev/null +++ b/src/Core/Normalizer/PostVirtualMachineNetworkInterfacesPartVirtualNetworkNormalizer.php @@ -0,0 +1,167 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class PostVirtualMachineNetworkInterfacesPartVirtualNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartVirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartVirtualNetwork::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartVirtualNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartVirtualNetwork::class => false]; + } + } +} else { + class PostVirtualMachineNetworkInterfacesPartVirtualNetworkNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartVirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartVirtualNetwork::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartVirtualNetwork(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartVirtualNetwork::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ResponseObjectStorageAccessKeyNotFoundResponseNormalizer.php b/src/Core/Normalizer/ResponseObjectStorageAccessKeyNotFoundResponseNormalizer.php new file mode 100644 index 00000000..d2088f56 --- /dev/null +++ b/src/Core/Normalizer/ResponseObjectStorageAccessKeyNotFoundResponseNormalizer.php @@ -0,0 +1,197 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ResponseObjectStorageAccessKeyNotFoundResponseNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\ResponseObjectStorageAccessKeyNotFoundResponse::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ResponseObjectStorageAccessKeyNotFoundResponse::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\ResponseObjectStorageAccessKeyNotFoundResponse(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('code', $data)) { + $object->setCode($data['code']); + unset($data['code']); + } + if (\array_key_exists('description', $data)) { + $object->setDescription($data['description']); + unset($data['description']); + } + if (\array_key_exists('detail', $data)) { + $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); + foreach ($data['detail'] as $key => $value) { + $values[$key] = $value; + } + $object->setDetail($values); + unset($data['detail']); + } + foreach ($data as $key_1 => $value_1) { + if (preg_match('/.*/', (string) $key_1)) { + $object[$key_1] = $value_1; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('code') && null !== $object->getCode()) { + $data['code'] = $object->getCode(); + } + if ($object->isInitialized('description') && null !== $object->getDescription()) { + $data['description'] = $object->getDescription(); + } + if ($object->isInitialized('detail') && null !== $object->getDetail()) { + $values = []; + foreach ($object->getDetail() as $key => $value) { + $values[$key] = $value; + } + $data['detail'] = $values; + } + foreach ($object as $key_1 => $value_1) { + if (preg_match('/.*/', (string) $key_1)) { + $data[$key_1] = $value_1; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\ResponseObjectStorageAccessKeyNotFoundResponse::class => false]; + } + } +} else { + class ResponseObjectStorageAccessKeyNotFoundResponseNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\ResponseObjectStorageAccessKeyNotFoundResponse::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ResponseObjectStorageAccessKeyNotFoundResponse::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\ResponseObjectStorageAccessKeyNotFoundResponse(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('code', $data)) { + $object->setCode($data['code']); + unset($data['code']); + } + if (\array_key_exists('description', $data)) { + $object->setDescription($data['description']); + unset($data['description']); + } + if (\array_key_exists('detail', $data)) { + $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); + foreach ($data['detail'] as $key => $value) { + $values[$key] = $value; + } + $object->setDetail($values); + unset($data['detail']); + } + foreach ($data as $key_1 => $value_1) { + if (preg_match('/.*/', (string) $key_1)) { + $object[$key_1] = $value_1; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('code') && null !== $object->getCode()) { + $data['code'] = $object->getCode(); + } + if ($object->isInitialized('description') && null !== $object->getDescription()) { + $data['description'] = $object->getDescription(); + } + if ($object->isInitialized('detail') && null !== $object->getDetail()) { + $values = []; + foreach ($object->getDetail() as $key => $value) { + $values[$key] = $value; + } + $data['detail'] = $values; + } + foreach ($object as $key_1 => $value_1) { + if (preg_match('/.*/', (string) $key_1)) { + $data[$key_1] = $value_1; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\ResponseObjectStorageAccessKeyNotFoundResponse::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ResponseObjectStorageProvisioningErrorResponseNormalizer.php b/src/Core/Normalizer/ResponseObjectStorageProvisioningErrorResponseNormalizer.php new file mode 100644 index 00000000..e10b8865 --- /dev/null +++ b/src/Core/Normalizer/ResponseObjectStorageProvisioningErrorResponseNormalizer.php @@ -0,0 +1,197 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ResponseObjectStorageProvisioningErrorResponseNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\ResponseObjectStorageProvisioningErrorResponse::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ResponseObjectStorageProvisioningErrorResponse::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\ResponseObjectStorageProvisioningErrorResponse(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('code', $data)) { + $object->setCode($data['code']); + unset($data['code']); + } + if (\array_key_exists('description', $data)) { + $object->setDescription($data['description']); + unset($data['description']); + } + if (\array_key_exists('detail', $data)) { + $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); + foreach ($data['detail'] as $key => $value) { + $values[$key] = $value; + } + $object->setDetail($values); + unset($data['detail']); + } + foreach ($data as $key_1 => $value_1) { + if (preg_match('/.*/', (string) $key_1)) { + $object[$key_1] = $value_1; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('code') && null !== $object->getCode()) { + $data['code'] = $object->getCode(); + } + if ($object->isInitialized('description') && null !== $object->getDescription()) { + $data['description'] = $object->getDescription(); + } + if ($object->isInitialized('detail') && null !== $object->getDetail()) { + $values = []; + foreach ($object->getDetail() as $key => $value) { + $values[$key] = $value; + } + $data['detail'] = $values; + } + foreach ($object as $key_1 => $value_1) { + if (preg_match('/.*/', (string) $key_1)) { + $data[$key_1] = $value_1; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\ResponseObjectStorageProvisioningErrorResponse::class => false]; + } + } +} else { + class ResponseObjectStorageProvisioningErrorResponseNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\ResponseObjectStorageProvisioningErrorResponse::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ResponseObjectStorageProvisioningErrorResponse::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\ResponseObjectStorageProvisioningErrorResponse(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('code', $data)) { + $object->setCode($data['code']); + unset($data['code']); + } + if (\array_key_exists('description', $data)) { + $object->setDescription($data['description']); + unset($data['description']); + } + if (\array_key_exists('detail', $data)) { + $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); + foreach ($data['detail'] as $key => $value) { + $values[$key] = $value; + } + $object->setDetail($values); + unset($data['detail']); + } + foreach ($data as $key_1 => $value_1) { + if (preg_match('/.*/', (string) $key_1)) { + $object[$key_1] = $value_1; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('code') && null !== $object->getCode()) { + $data['code'] = $object->getCode(); + } + if ($object->isInitialized('description') && null !== $object->getDescription()) { + $data['description'] = $object->getDescription(); + } + if ($object->isInitialized('detail') && null !== $object->getDetail()) { + $values = []; + foreach ($object->getDetail() as $key => $value) { + $values[$key] = $value; + } + $data['detail'] = $values; + } + foreach ($object as $key_1 => $value_1) { + if (preg_match('/.*/', (string) $key_1)) { + $data[$key_1] = $value_1; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\ResponseObjectStorageProvisioningErrorResponse::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ResponseVirtualMachineNetworkInterfaceAlreadyAttachedResponseNormalizer.php b/src/Core/Normalizer/ResponseVirtualMachineNetworkInterfaceAlreadyAttachedResponseNormalizer.php new file mode 100644 index 00000000..6209dba5 --- /dev/null +++ b/src/Core/Normalizer/ResponseVirtualMachineNetworkInterfaceAlreadyAttachedResponseNormalizer.php @@ -0,0 +1,197 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ResponseVirtualMachineNetworkInterfaceAlreadyAttachedResponseNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\ResponseVirtualMachineNetworkInterfaceAlreadyAttachedResponse::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ResponseVirtualMachineNetworkInterfaceAlreadyAttachedResponse::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\ResponseVirtualMachineNetworkInterfaceAlreadyAttachedResponse(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('code', $data)) { + $object->setCode($data['code']); + unset($data['code']); + } + if (\array_key_exists('description', $data)) { + $object->setDescription($data['description']); + unset($data['description']); + } + if (\array_key_exists('detail', $data)) { + $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); + foreach ($data['detail'] as $key => $value) { + $values[$key] = $value; + } + $object->setDetail($values); + unset($data['detail']); + } + foreach ($data as $key_1 => $value_1) { + if (preg_match('/.*/', (string) $key_1)) { + $object[$key_1] = $value_1; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('code') && null !== $object->getCode()) { + $data['code'] = $object->getCode(); + } + if ($object->isInitialized('description') && null !== $object->getDescription()) { + $data['description'] = $object->getDescription(); + } + if ($object->isInitialized('detail') && null !== $object->getDetail()) { + $values = []; + foreach ($object->getDetail() as $key => $value) { + $values[$key] = $value; + } + $data['detail'] = $values; + } + foreach ($object as $key_1 => $value_1) { + if (preg_match('/.*/', (string) $key_1)) { + $data[$key_1] = $value_1; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\ResponseVirtualMachineNetworkInterfaceAlreadyAttachedResponse::class => false]; + } + } +} else { + class ResponseVirtualMachineNetworkInterfaceAlreadyAttachedResponseNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\ResponseVirtualMachineNetworkInterfaceAlreadyAttachedResponse::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ResponseVirtualMachineNetworkInterfaceAlreadyAttachedResponse::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\ResponseVirtualMachineNetworkInterfaceAlreadyAttachedResponse(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('code', $data)) { + $object->setCode($data['code']); + unset($data['code']); + } + if (\array_key_exists('description', $data)) { + $object->setDescription($data['description']); + unset($data['description']); + } + if (\array_key_exists('detail', $data)) { + $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); + foreach ($data['detail'] as $key => $value) { + $values[$key] = $value; + } + $object->setDetail($values); + unset($data['detail']); + } + foreach ($data as $key_1 => $value_1) { + if (preg_match('/.*/', (string) $key_1)) { + $object[$key_1] = $value_1; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('code') && null !== $object->getCode()) { + $data['code'] = $object->getCode(); + } + if ($object->isInitialized('description') && null !== $object->getDescription()) { + $data['description'] = $object->getDescription(); + } + if ($object->isInitialized('detail') && null !== $object->getDetail()) { + $values = []; + foreach ($object->getDetail() as $key => $value) { + $values[$key] = $value; + } + $data['detail'] = $values; + } + foreach ($object as $key_1 => $value_1) { + if (preg_match('/.*/', (string) $key_1)) { + $data[$key_1] = $value_1; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\ResponseVirtualMachineNetworkInterfaceAlreadyAttachedResponse::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ResponseVirtualMachineNetworkInterfaceAlreadyDetachedResponseNormalizer.php b/src/Core/Normalizer/ResponseVirtualMachineNetworkInterfaceAlreadyDetachedResponseNormalizer.php new file mode 100644 index 00000000..9460b4f1 --- /dev/null +++ b/src/Core/Normalizer/ResponseVirtualMachineNetworkInterfaceAlreadyDetachedResponseNormalizer.php @@ -0,0 +1,197 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ResponseVirtualMachineNetworkInterfaceAlreadyDetachedResponseNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\ResponseVirtualMachineNetworkInterfaceAlreadyDetachedResponse::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ResponseVirtualMachineNetworkInterfaceAlreadyDetachedResponse::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\ResponseVirtualMachineNetworkInterfaceAlreadyDetachedResponse(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('code', $data)) { + $object->setCode($data['code']); + unset($data['code']); + } + if (\array_key_exists('description', $data)) { + $object->setDescription($data['description']); + unset($data['description']); + } + if (\array_key_exists('detail', $data)) { + $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); + foreach ($data['detail'] as $key => $value) { + $values[$key] = $value; + } + $object->setDetail($values); + unset($data['detail']); + } + foreach ($data as $key_1 => $value_1) { + if (preg_match('/.*/', (string) $key_1)) { + $object[$key_1] = $value_1; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('code') && null !== $object->getCode()) { + $data['code'] = $object->getCode(); + } + if ($object->isInitialized('description') && null !== $object->getDescription()) { + $data['description'] = $object->getDescription(); + } + if ($object->isInitialized('detail') && null !== $object->getDetail()) { + $values = []; + foreach ($object->getDetail() as $key => $value) { + $values[$key] = $value; + } + $data['detail'] = $values; + } + foreach ($object as $key_1 => $value_1) { + if (preg_match('/.*/', (string) $key_1)) { + $data[$key_1] = $value_1; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\ResponseVirtualMachineNetworkInterfaceAlreadyDetachedResponse::class => false]; + } + } +} else { + class ResponseVirtualMachineNetworkInterfaceAlreadyDetachedResponseNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\ResponseVirtualMachineNetworkInterfaceAlreadyDetachedResponse::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ResponseVirtualMachineNetworkInterfaceAlreadyDetachedResponse::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\ResponseVirtualMachineNetworkInterfaceAlreadyDetachedResponse(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('code', $data)) { + $object->setCode($data['code']); + unset($data['code']); + } + if (\array_key_exists('description', $data)) { + $object->setDescription($data['description']); + unset($data['description']); + } + if (\array_key_exists('detail', $data)) { + $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); + foreach ($data['detail'] as $key => $value) { + $values[$key] = $value; + } + $object->setDetail($values); + unset($data['detail']); + } + foreach ($data as $key_1 => $value_1) { + if (preg_match('/.*/', (string) $key_1)) { + $object[$key_1] = $value_1; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('code') && null !== $object->getCode()) { + $data['code'] = $object->getCode(); + } + if ($object->isInitialized('description') && null !== $object->getDescription()) { + $data['description'] = $object->getDescription(); + } + if ($object->isInitialized('detail') && null !== $object->getDetail()) { + $values = []; + foreach ($object->getDetail() as $key => $value) { + $values[$key] = $value; + } + $data['detail'] = $values; + } + foreach ($object as $key_1 => $value_1) { + if (preg_match('/.*/', (string) $key_1)) { + $data[$key_1] = $value_1; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\ResponseVirtualMachineNetworkInterfaceAlreadyDetachedResponse::class => false]; + } + } +} diff --git a/src/Core/Normalizer/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAllocateIpPostResponse200VirtualMachineNetworkInterfaceNormalizer.php b/src/Core/Normalizer/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAllocateIpPostResponse200VirtualMachineNetworkInterfaceNormalizer.php index cdd501db..771e80e3 100644 --- a/src/Core/Normalizer/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAllocateIpPostResponse200VirtualMachineNetworkInterfaceNormalizer.php +++ b/src/Core/Normalizer/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAllocateIpPostResponse200VirtualMachineNetworkInterfaceNormalizer.php @@ -63,9 +63,17 @@ public function denormalize(mixed $data, string $type, ?string $format = null, a $object->setName($data['name']); unset($data['name']); } - if (\array_key_exists('network', $data)) { - $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIPPartNetwork::class, 'json', $context)); + if (\array_key_exists('network', $data) && $data['network'] !== null) { + $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNetwork::class, 'json', $context)); unset($data['network']); + } elseif (\array_key_exists('network', $data) && $data['network'] === null) { + $object->setNetwork(null); + } + if (\array_key_exists('virtual_network', $data) && $data['virtual_network'] !== null) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } elseif (\array_key_exists('virtual_network', $data) && $data['virtual_network'] === null) { + $object->setVirtualNetwork(null); } if (\array_key_exists('mac_address', $data)) { $object->setMacAddress($data['mac_address']); @@ -107,6 +115,9 @@ public function normalize(mixed $object, ?string $format = null, array $context if ($object->isInitialized('network') && null !== $object->getNetwork()) { $data['network'] = $this->normalizer->normalize($object->getNetwork(), 'json', $context); } + if ($object->isInitialized('virtualNetwork') && null !== $object->getVirtualNetwork()) { + $data['virtual_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), 'json', $context); + } if ($object->isInitialized('macAddress') && null !== $object->getMacAddress()) { $data['mac_address'] = $object->getMacAddress(); } @@ -176,9 +187,17 @@ public function denormalize($data, $type, $format = null, array $context = []) $object->setName($data['name']); unset($data['name']); } - if (\array_key_exists('network', $data)) { - $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIPPartNetwork::class, 'json', $context)); + if (\array_key_exists('network', $data) && $data['network'] !== null) { + $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceNetwork::class, 'json', $context)); unset($data['network']); + } elseif (\array_key_exists('network', $data) && $data['network'] === null) { + $object->setNetwork(null); + } + if (\array_key_exists('virtual_network', $data) && $data['virtual_network'] !== null) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } elseif (\array_key_exists('virtual_network', $data) && $data['virtual_network'] === null) { + $object->setVirtualNetwork(null); } if (\array_key_exists('mac_address', $data)) { $object->setMacAddress($data['mac_address']); @@ -223,6 +242,9 @@ public function normalize($object, $format = null, array $context = []) if ($object->isInitialized('network') && null !== $object->getNetwork()) { $data['network'] = $this->normalizer->normalize($object->getNetwork(), 'json', $context); } + if ($object->isInitialized('virtualNetwork') && null !== $object->getVirtualNetwork()) { + $data['virtual_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), 'json', $context); + } if ($object->isInitialized('macAddress') && null !== $object->getMacAddress()) { $data['mac_address'] = $object->getMacAddress(); } diff --git a/src/Core/Normalizer/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostBodyNormalizer.php b/src/Core/Normalizer/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostBodyNormalizer.php new file mode 100644 index 00000000..2c748338 --- /dev/null +++ b/src/Core/Normalizer/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostBodyNormalizer.php @@ -0,0 +1,149 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostBodyNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostBody::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostBody::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostBody(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('virtual_machine_network_interface', $data)) { + $object->setVirtualMachineNetworkInterface($this->denormalizer->denormalize($data['virtual_machine_network_interface'], \KatapultAPI\Core\Model\VirtualMachineNetworkInterfaceLookup::class, 'json', $context)); + unset($data['virtual_machine_network_interface']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + $data['virtual_machine_network_interface'] = $this->normalizer->normalize($object->getVirtualMachineNetworkInterface(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostBody::class => false]; + } + } +} else { + class VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostBodyNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostBody::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostBody::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostBody(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('virtual_machine_network_interface', $data)) { + $object->setVirtualMachineNetworkInterface($this->denormalizer->denormalize($data['virtual_machine_network_interface'], \KatapultAPI\Core\Model\VirtualMachineNetworkInterfaceLookup::class, 'json', $context)); + unset($data['virtual_machine_network_interface']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + $data['virtual_machine_network_interface'] = $this->normalizer->normalize($object->getVirtualMachineNetworkInterface(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostBody::class => false]; + } + } +} diff --git a/src/Core/Normalizer/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200Normalizer.php b/src/Core/Normalizer/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200Normalizer.php new file mode 100644 index 00000000..4f26d44e --- /dev/null +++ b/src/Core/Normalizer/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200Normalizer.php @@ -0,0 +1,159 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200Normalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('virtual_machine_network_interface', $data)) { + $object->setVirtualMachineNetworkInterface($this->denormalizer->denormalize($data['virtual_machine_network_interface'], \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200VirtualMachineNetworkInterface::class, 'json', $context)); + unset($data['virtual_machine_network_interface']); + } + if (\array_key_exists('task', $data)) { + $object->setTask($this->denormalizer->denormalize($data['task'], \KatapultAPI\Core\Model\Task::class, 'json', $context)); + unset($data['task']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + $data['virtual_machine_network_interface'] = $this->normalizer->normalize($object->getVirtualMachineNetworkInterface(), 'json', $context); + $data['task'] = $this->normalizer->normalize($object->getTask(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200::class => false]; + } + } +} else { + class VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200Normalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('virtual_machine_network_interface', $data)) { + $object->setVirtualMachineNetworkInterface($this->denormalizer->denormalize($data['virtual_machine_network_interface'], \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200VirtualMachineNetworkInterface::class, 'json', $context)); + unset($data['virtual_machine_network_interface']); + } + if (\array_key_exists('task', $data)) { + $object->setTask($this->denormalizer->denormalize($data['task'], \KatapultAPI\Core\Model\Task::class, 'json', $context)); + unset($data['task']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + $data['virtual_machine_network_interface'] = $this->normalizer->normalize($object->getVirtualMachineNetworkInterface(), 'json', $context); + $data['task'] = $this->normalizer->normalize($object->getTask(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200::class => false]; + } + } +} diff --git a/src/Core/Normalizer/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200VirtualMachineNetworkInterfaceNormalizer.php b/src/Core/Normalizer/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200VirtualMachineNetworkInterfaceNormalizer.php new file mode 100644 index 00000000..d25e5e7e --- /dev/null +++ b/src/Core/Normalizer/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200VirtualMachineNetworkInterfaceNormalizer.php @@ -0,0 +1,289 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200VirtualMachineNetworkInterfaceNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200VirtualMachineNetworkInterface::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200VirtualMachineNetworkInterface::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200VirtualMachineNetworkInterface(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('virtual_machine', $data)) { + $object->setVirtualMachine($this->denormalizer->denormalize($data['virtual_machine'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartVirtualMachine::class, 'json', $context)); + unset($data['virtual_machine']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + if (\array_key_exists('network', $data) && $data['network'] !== null) { + $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNetwork::class, 'json', $context)); + unset($data['network']); + } elseif (\array_key_exists('network', $data) && $data['network'] === null) { + $object->setNetwork(null); + } + if (\array_key_exists('virtual_network', $data) && $data['virtual_network'] !== null) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } elseif (\array_key_exists('virtual_network', $data) && $data['virtual_network'] === null) { + $object->setVirtualNetwork(null); + } + if (\array_key_exists('mac_address', $data)) { + $object->setMacAddress($data['mac_address']); + unset($data['mac_address']); + } + if (\array_key_exists('state', $data)) { + $object->setState($data['state']); + unset($data['state']); + } + if (\array_key_exists('ip_addresses', $data)) { + $values = []; + foreach ($data['ip_addresses'] as $value) { + $values[] = $this->denormalizer->denormalize($value, \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartIPAddresses::class, 'json', $context); + } + $object->setIpAddresses($values); + unset($data['ip_addresses']); + } + if (\array_key_exists('speed_profile', $data)) { + $object->setSpeedProfile($this->denormalizer->denormalize($data['speed_profile'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartSpeedProfile::class, 'json', $context)); + unset($data['speed_profile']); + } + foreach ($data as $key => $value_1) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value_1; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('virtualMachine') && null !== $object->getVirtualMachine()) { + $data['virtual_machine'] = $this->normalizer->normalize($object->getVirtualMachine(), 'json', $context); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + if ($object->isInitialized('network') && null !== $object->getNetwork()) { + $data['network'] = $this->normalizer->normalize($object->getNetwork(), 'json', $context); + } + if ($object->isInitialized('virtualNetwork') && null !== $object->getVirtualNetwork()) { + $data['virtual_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), 'json', $context); + } + if ($object->isInitialized('macAddress') && null !== $object->getMacAddress()) { + $data['mac_address'] = $object->getMacAddress(); + } + if ($object->isInitialized('state') && null !== $object->getState()) { + $data['state'] = $object->getState(); + } + if ($object->isInitialized('ipAddresses') && null !== $object->getIpAddresses()) { + $values = []; + foreach ($object->getIpAddresses() as $value) { + $values[] = $this->normalizer->normalize($value, 'json', $context); + } + $data['ip_addresses'] = $values; + } + if ($object->isInitialized('speedProfile') && null !== $object->getSpeedProfile()) { + $data['speed_profile'] = $this->normalizer->normalize($object->getSpeedProfile(), 'json', $context); + } + foreach ($object as $key => $value_1) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value_1; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200VirtualMachineNetworkInterface::class => false]; + } + } +} else { + class VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200VirtualMachineNetworkInterfaceNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200VirtualMachineNetworkInterface::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200VirtualMachineNetworkInterface::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200VirtualMachineNetworkInterface(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('virtual_machine', $data)) { + $object->setVirtualMachine($this->denormalizer->denormalize($data['virtual_machine'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartVirtualMachine::class, 'json', $context)); + unset($data['virtual_machine']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + if (\array_key_exists('network', $data) && $data['network'] !== null) { + $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceNetwork::class, 'json', $context)); + unset($data['network']); + } elseif (\array_key_exists('network', $data) && $data['network'] === null) { + $object->setNetwork(null); + } + if (\array_key_exists('virtual_network', $data) && $data['virtual_network'] !== null) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } elseif (\array_key_exists('virtual_network', $data) && $data['virtual_network'] === null) { + $object->setVirtualNetwork(null); + } + if (\array_key_exists('mac_address', $data)) { + $object->setMacAddress($data['mac_address']); + unset($data['mac_address']); + } + if (\array_key_exists('state', $data)) { + $object->setState($data['state']); + unset($data['state']); + } + if (\array_key_exists('ip_addresses', $data)) { + $values = []; + foreach ($data['ip_addresses'] as $value) { + $values[] = $this->denormalizer->denormalize($value, \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartIPAddresses::class, 'json', $context); + } + $object->setIpAddresses($values); + unset($data['ip_addresses']); + } + if (\array_key_exists('speed_profile', $data)) { + $object->setSpeedProfile($this->denormalizer->denormalize($data['speed_profile'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceAttachPartSpeedProfile::class, 'json', $context)); + unset($data['speed_profile']); + } + foreach ($data as $key => $value_1) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value_1; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('virtualMachine') && null !== $object->getVirtualMachine()) { + $data['virtual_machine'] = $this->normalizer->normalize($object->getVirtualMachine(), 'json', $context); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + if ($object->isInitialized('network') && null !== $object->getNetwork()) { + $data['network'] = $this->normalizer->normalize($object->getNetwork(), 'json', $context); + } + if ($object->isInitialized('virtualNetwork') && null !== $object->getVirtualNetwork()) { + $data['virtual_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), 'json', $context); + } + if ($object->isInitialized('macAddress') && null !== $object->getMacAddress()) { + $data['mac_address'] = $object->getMacAddress(); + } + if ($object->isInitialized('state') && null !== $object->getState()) { + $data['state'] = $object->getState(); + } + if ($object->isInitialized('ipAddresses') && null !== $object->getIpAddresses()) { + $values = []; + foreach ($object->getIpAddresses() as $value) { + $values[] = $this->normalizer->normalize($value, 'json', $context); + } + $data['ip_addresses'] = $values; + } + if ($object->isInitialized('speedProfile') && null !== $object->getSpeedProfile()) { + $data['speed_profile'] = $this->normalizer->normalize($object->getSpeedProfile(), 'json', $context); + } + foreach ($object as $key => $value_1) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value_1; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAttachPostResponse200VirtualMachineNetworkInterface::class => false]; + } + } +} diff --git a/src/Core/Normalizer/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteBodyNormalizer.php b/src/Core/Normalizer/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteBodyNormalizer.php new file mode 100644 index 00000000..c3ac05e7 --- /dev/null +++ b/src/Core/Normalizer/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteBodyNormalizer.php @@ -0,0 +1,149 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteBodyNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteBody::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteBody::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteBody(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('virtual_machine_network_interface', $data)) { + $object->setVirtualMachineNetworkInterface($this->denormalizer->denormalize($data['virtual_machine_network_interface'], \KatapultAPI\Core\Model\VirtualMachineNetworkInterfaceLookup::class, 'json', $context)); + unset($data['virtual_machine_network_interface']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + $data['virtual_machine_network_interface'] = $this->normalizer->normalize($object->getVirtualMachineNetworkInterface(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteBody::class => false]; + } + } +} else { + class VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteBodyNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteBody::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteBody::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteBody(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('virtual_machine_network_interface', $data)) { + $object->setVirtualMachineNetworkInterface($this->denormalizer->denormalize($data['virtual_machine_network_interface'], \KatapultAPI\Core\Model\VirtualMachineNetworkInterfaceLookup::class, 'json', $context)); + unset($data['virtual_machine_network_interface']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + $data['virtual_machine_network_interface'] = $this->normalizer->normalize($object->getVirtualMachineNetworkInterface(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteBody::class => false]; + } + } +} diff --git a/src/Core/Normalizer/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200Normalizer.php b/src/Core/Normalizer/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200Normalizer.php new file mode 100644 index 00000000..e9ab9d36 --- /dev/null +++ b/src/Core/Normalizer/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200Normalizer.php @@ -0,0 +1,149 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200Normalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('virtual_machine_network_interface', $data)) { + $object->setVirtualMachineNetworkInterface($this->denormalizer->denormalize($data['virtual_machine_network_interface'], \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200VirtualMachineNetworkInterface::class, 'json', $context)); + unset($data['virtual_machine_network_interface']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + $data['virtual_machine_network_interface'] = $this->normalizer->normalize($object->getVirtualMachineNetworkInterface(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200::class => false]; + } + } +} else { + class VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200Normalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('virtual_machine_network_interface', $data)) { + $object->setVirtualMachineNetworkInterface($this->denormalizer->denormalize($data['virtual_machine_network_interface'], \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200VirtualMachineNetworkInterface::class, 'json', $context)); + unset($data['virtual_machine_network_interface']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + $data['virtual_machine_network_interface'] = $this->normalizer->normalize($object->getVirtualMachineNetworkInterface(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200::class => false]; + } + } +} diff --git a/src/Core/Normalizer/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200VirtualMachineNetworkInterfaceNormalizer.php b/src/Core/Normalizer/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200VirtualMachineNetworkInterfaceNormalizer.php new file mode 100644 index 00000000..cacf8cf8 --- /dev/null +++ b/src/Core/Normalizer/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200VirtualMachineNetworkInterfaceNormalizer.php @@ -0,0 +1,289 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200VirtualMachineNetworkInterfaceNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200VirtualMachineNetworkInterface::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200VirtualMachineNetworkInterface::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200VirtualMachineNetworkInterface(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('virtual_machine', $data)) { + $object->setVirtualMachine($this->denormalizer->denormalize($data['virtual_machine'], \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartVirtualMachine::class, 'json', $context)); + unset($data['virtual_machine']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + if (\array_key_exists('network', $data) && $data['network'] !== null) { + $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork::class, 'json', $context)); + unset($data['network']); + } elseif (\array_key_exists('network', $data) && $data['network'] === null) { + $object->setNetwork(null); + } + if (\array_key_exists('virtual_network', $data) && $data['virtual_network'] !== null) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } elseif (\array_key_exists('virtual_network', $data) && $data['virtual_network'] === null) { + $object->setVirtualNetwork(null); + } + if (\array_key_exists('mac_address', $data)) { + $object->setMacAddress($data['mac_address']); + unset($data['mac_address']); + } + if (\array_key_exists('state', $data)) { + $object->setState($data['state']); + unset($data['state']); + } + if (\array_key_exists('ip_addresses', $data)) { + $values = []; + foreach ($data['ip_addresses'] as $value) { + $values[] = $this->denormalizer->denormalize($value, \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartIPAddresses::class, 'json', $context); + } + $object->setIpAddresses($values); + unset($data['ip_addresses']); + } + if (\array_key_exists('speed_profile', $data)) { + $object->setSpeedProfile($this->denormalizer->denormalize($data['speed_profile'], \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartSpeedProfile::class, 'json', $context)); + unset($data['speed_profile']); + } + foreach ($data as $key => $value_1) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value_1; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('virtualMachine') && null !== $object->getVirtualMachine()) { + $data['virtual_machine'] = $this->normalizer->normalize($object->getVirtualMachine(), 'json', $context); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + if ($object->isInitialized('network') && null !== $object->getNetwork()) { + $data['network'] = $this->normalizer->normalize($object->getNetwork(), 'json', $context); + } + if ($object->isInitialized('virtualNetwork') && null !== $object->getVirtualNetwork()) { + $data['virtual_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), 'json', $context); + } + if ($object->isInitialized('macAddress') && null !== $object->getMacAddress()) { + $data['mac_address'] = $object->getMacAddress(); + } + if ($object->isInitialized('state') && null !== $object->getState()) { + $data['state'] = $object->getState(); + } + if ($object->isInitialized('ipAddresses') && null !== $object->getIpAddresses()) { + $values = []; + foreach ($object->getIpAddresses() as $value) { + $values[] = $this->normalizer->normalize($value, 'json', $context); + } + $data['ip_addresses'] = $values; + } + if ($object->isInitialized('speedProfile') && null !== $object->getSpeedProfile()) { + $data['speed_profile'] = $this->normalizer->normalize($object->getSpeedProfile(), 'json', $context); + } + foreach ($object as $key => $value_1) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value_1; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200VirtualMachineNetworkInterface::class => false]; + } + } +} else { + class VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200VirtualMachineNetworkInterfaceNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200VirtualMachineNetworkInterface::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200VirtualMachineNetworkInterface::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200VirtualMachineNetworkInterface(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('virtual_machine', $data)) { + $object->setVirtualMachine($this->denormalizer->denormalize($data['virtual_machine'], \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartVirtualMachine::class, 'json', $context)); + unset($data['virtual_machine']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + if (\array_key_exists('network', $data) && $data['network'] !== null) { + $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork::class, 'json', $context)); + unset($data['network']); + } elseif (\array_key_exists('network', $data) && $data['network'] === null) { + $object->setNetwork(null); + } + if (\array_key_exists('virtual_network', $data) && $data['virtual_network'] !== null) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } elseif (\array_key_exists('virtual_network', $data) && $data['virtual_network'] === null) { + $object->setVirtualNetwork(null); + } + if (\array_key_exists('mac_address', $data)) { + $object->setMacAddress($data['mac_address']); + unset($data['mac_address']); + } + if (\array_key_exists('state', $data)) { + $object->setState($data['state']); + unset($data['state']); + } + if (\array_key_exists('ip_addresses', $data)) { + $values = []; + foreach ($data['ip_addresses'] as $value) { + $values[] = $this->denormalizer->denormalize($value, \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartIPAddresses::class, 'json', $context); + } + $object->setIpAddresses($values); + unset($data['ip_addresses']); + } + if (\array_key_exists('speed_profile', $data)) { + $object->setSpeedProfile($this->denormalizer->denormalize($data['speed_profile'], \KatapultAPI\Core\Model\DeleteVirtualMachineNetworkInterfacePartSpeedProfile::class, 'json', $context)); + unset($data['speed_profile']); + } + foreach ($data as $key => $value_1) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value_1; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('virtualMachine') && null !== $object->getVirtualMachine()) { + $data['virtual_machine'] = $this->normalizer->normalize($object->getVirtualMachine(), 'json', $context); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + if ($object->isInitialized('network') && null !== $object->getNetwork()) { + $data['network'] = $this->normalizer->normalize($object->getNetwork(), 'json', $context); + } + if ($object->isInitialized('virtualNetwork') && null !== $object->getVirtualNetwork()) { + $data['virtual_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), 'json', $context); + } + if ($object->isInitialized('macAddress') && null !== $object->getMacAddress()) { + $data['mac_address'] = $object->getMacAddress(); + } + if ($object->isInitialized('state') && null !== $object->getState()) { + $data['state'] = $object->getState(); + } + if ($object->isInitialized('ipAddresses') && null !== $object->getIpAddresses()) { + $values = []; + foreach ($object->getIpAddresses() as $value) { + $values[] = $this->normalizer->normalize($value, 'json', $context); + } + $data['ip_addresses'] = $values; + } + if ($object->isInitialized('speedProfile') && null !== $object->getSpeedProfile()) { + $data['speed_profile'] = $this->normalizer->normalize($object->getSpeedProfile(), 'json', $context); + } + foreach ($object as $key => $value_1) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value_1; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDeleteResponse200VirtualMachineNetworkInterface::class => false]; + } + } +} diff --git a/src/Core/Normalizer/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostBodyNormalizer.php b/src/Core/Normalizer/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostBodyNormalizer.php new file mode 100644 index 00000000..e3a40dba --- /dev/null +++ b/src/Core/Normalizer/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostBodyNormalizer.php @@ -0,0 +1,149 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostBodyNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostBody::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostBody::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostBody(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('virtual_machine_network_interface', $data)) { + $object->setVirtualMachineNetworkInterface($this->denormalizer->denormalize($data['virtual_machine_network_interface'], \KatapultAPI\Core\Model\VirtualMachineNetworkInterfaceLookup::class, 'json', $context)); + unset($data['virtual_machine_network_interface']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + $data['virtual_machine_network_interface'] = $this->normalizer->normalize($object->getVirtualMachineNetworkInterface(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostBody::class => false]; + } + } +} else { + class VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostBodyNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostBody::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostBody::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostBody(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('virtual_machine_network_interface', $data)) { + $object->setVirtualMachineNetworkInterface($this->denormalizer->denormalize($data['virtual_machine_network_interface'], \KatapultAPI\Core\Model\VirtualMachineNetworkInterfaceLookup::class, 'json', $context)); + unset($data['virtual_machine_network_interface']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + $data['virtual_machine_network_interface'] = $this->normalizer->normalize($object->getVirtualMachineNetworkInterface(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostBody::class => false]; + } + } +} diff --git a/src/Core/Normalizer/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200Normalizer.php b/src/Core/Normalizer/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200Normalizer.php new file mode 100644 index 00000000..e4941ff4 --- /dev/null +++ b/src/Core/Normalizer/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200Normalizer.php @@ -0,0 +1,159 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200Normalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('virtual_machine_network_interface', $data)) { + $object->setVirtualMachineNetworkInterface($this->denormalizer->denormalize($data['virtual_machine_network_interface'], \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200VirtualMachineNetworkInterface::class, 'json', $context)); + unset($data['virtual_machine_network_interface']); + } + if (\array_key_exists('task', $data)) { + $object->setTask($this->denormalizer->denormalize($data['task'], \KatapultAPI\Core\Model\Task::class, 'json', $context)); + unset($data['task']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + $data['virtual_machine_network_interface'] = $this->normalizer->normalize($object->getVirtualMachineNetworkInterface(), 'json', $context); + $data['task'] = $this->normalizer->normalize($object->getTask(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200::class => false]; + } + } +} else { + class VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200Normalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('virtual_machine_network_interface', $data)) { + $object->setVirtualMachineNetworkInterface($this->denormalizer->denormalize($data['virtual_machine_network_interface'], \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200VirtualMachineNetworkInterface::class, 'json', $context)); + unset($data['virtual_machine_network_interface']); + } + if (\array_key_exists('task', $data)) { + $object->setTask($this->denormalizer->denormalize($data['task'], \KatapultAPI\Core\Model\Task::class, 'json', $context)); + unset($data['task']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + $data['virtual_machine_network_interface'] = $this->normalizer->normalize($object->getVirtualMachineNetworkInterface(), 'json', $context); + $data['task'] = $this->normalizer->normalize($object->getTask(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200::class => false]; + } + } +} diff --git a/src/Core/Normalizer/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200VirtualMachineNetworkInterfaceNormalizer.php b/src/Core/Normalizer/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200VirtualMachineNetworkInterfaceNormalizer.php new file mode 100644 index 00000000..1d97a4f4 --- /dev/null +++ b/src/Core/Normalizer/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200VirtualMachineNetworkInterfaceNormalizer.php @@ -0,0 +1,289 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200VirtualMachineNetworkInterfaceNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200VirtualMachineNetworkInterface::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200VirtualMachineNetworkInterface::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200VirtualMachineNetworkInterface(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('virtual_machine', $data)) { + $object->setVirtualMachine($this->denormalizer->denormalize($data['virtual_machine'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartVirtualMachine::class, 'json', $context)); + unset($data['virtual_machine']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + if (\array_key_exists('network', $data) && $data['network'] !== null) { + $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNetwork::class, 'json', $context)); + unset($data['network']); + } elseif (\array_key_exists('network', $data) && $data['network'] === null) { + $object->setNetwork(null); + } + if (\array_key_exists('virtual_network', $data) && $data['virtual_network'] !== null) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } elseif (\array_key_exists('virtual_network', $data) && $data['virtual_network'] === null) { + $object->setVirtualNetwork(null); + } + if (\array_key_exists('mac_address', $data)) { + $object->setMacAddress($data['mac_address']); + unset($data['mac_address']); + } + if (\array_key_exists('state', $data)) { + $object->setState($data['state']); + unset($data['state']); + } + if (\array_key_exists('ip_addresses', $data)) { + $values = []; + foreach ($data['ip_addresses'] as $value) { + $values[] = $this->denormalizer->denormalize($value, \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartIPAddresses::class, 'json', $context); + } + $object->setIpAddresses($values); + unset($data['ip_addresses']); + } + if (\array_key_exists('speed_profile', $data)) { + $object->setSpeedProfile($this->denormalizer->denormalize($data['speed_profile'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartSpeedProfile::class, 'json', $context)); + unset($data['speed_profile']); + } + foreach ($data as $key => $value_1) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value_1; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('virtualMachine') && null !== $object->getVirtualMachine()) { + $data['virtual_machine'] = $this->normalizer->normalize($object->getVirtualMachine(), 'json', $context); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + if ($object->isInitialized('network') && null !== $object->getNetwork()) { + $data['network'] = $this->normalizer->normalize($object->getNetwork(), 'json', $context); + } + if ($object->isInitialized('virtualNetwork') && null !== $object->getVirtualNetwork()) { + $data['virtual_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), 'json', $context); + } + if ($object->isInitialized('macAddress') && null !== $object->getMacAddress()) { + $data['mac_address'] = $object->getMacAddress(); + } + if ($object->isInitialized('state') && null !== $object->getState()) { + $data['state'] = $object->getState(); + } + if ($object->isInitialized('ipAddresses') && null !== $object->getIpAddresses()) { + $values = []; + foreach ($object->getIpAddresses() as $value) { + $values[] = $this->normalizer->normalize($value, 'json', $context); + } + $data['ip_addresses'] = $values; + } + if ($object->isInitialized('speedProfile') && null !== $object->getSpeedProfile()) { + $data['speed_profile'] = $this->normalizer->normalize($object->getSpeedProfile(), 'json', $context); + } + foreach ($object as $key => $value_1) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value_1; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200VirtualMachineNetworkInterface::class => false]; + } + } +} else { + class VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200VirtualMachineNetworkInterfaceNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200VirtualMachineNetworkInterface::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200VirtualMachineNetworkInterface::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200VirtualMachineNetworkInterface(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('virtual_machine', $data)) { + $object->setVirtualMachine($this->denormalizer->denormalize($data['virtual_machine'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartVirtualMachine::class, 'json', $context)); + unset($data['virtual_machine']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + if (\array_key_exists('network', $data) && $data['network'] !== null) { + $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceNetwork::class, 'json', $context)); + unset($data['network']); + } elseif (\array_key_exists('network', $data) && $data['network'] === null) { + $object->setNetwork(null); + } + if (\array_key_exists('virtual_network', $data) && $data['virtual_network'] !== null) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetach200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } elseif (\array_key_exists('virtual_network', $data) && $data['virtual_network'] === null) { + $object->setVirtualNetwork(null); + } + if (\array_key_exists('mac_address', $data)) { + $object->setMacAddress($data['mac_address']); + unset($data['mac_address']); + } + if (\array_key_exists('state', $data)) { + $object->setState($data['state']); + unset($data['state']); + } + if (\array_key_exists('ip_addresses', $data)) { + $values = []; + foreach ($data['ip_addresses'] as $value) { + $values[] = $this->denormalizer->denormalize($value, \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartIPAddresses::class, 'json', $context); + } + $object->setIpAddresses($values); + unset($data['ip_addresses']); + } + if (\array_key_exists('speed_profile', $data)) { + $object->setSpeedProfile($this->denormalizer->denormalize($data['speed_profile'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaceDetachPartSpeedProfile::class, 'json', $context)); + unset($data['speed_profile']); + } + foreach ($data as $key => $value_1) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value_1; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('virtualMachine') && null !== $object->getVirtualMachine()) { + $data['virtual_machine'] = $this->normalizer->normalize($object->getVirtualMachine(), 'json', $context); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + if ($object->isInitialized('network') && null !== $object->getNetwork()) { + $data['network'] = $this->normalizer->normalize($object->getNetwork(), 'json', $context); + } + if ($object->isInitialized('virtualNetwork') && null !== $object->getVirtualNetwork()) { + $data['virtual_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), 'json', $context); + } + if ($object->isInitialized('macAddress') && null !== $object->getMacAddress()) { + $data['mac_address'] = $object->getMacAddress(); + } + if ($object->isInitialized('state') && null !== $object->getState()) { + $data['state'] = $object->getState(); + } + if ($object->isInitialized('ipAddresses') && null !== $object->getIpAddresses()) { + $values = []; + foreach ($object->getIpAddresses() as $value) { + $values[] = $this->normalizer->normalize($value, 'json', $context); + } + $data['ip_addresses'] = $values; + } + if ($object->isInitialized('speedProfile') && null !== $object->getSpeedProfile()) { + $data['speed_profile'] = $this->normalizer->normalize($object->getSpeedProfile(), 'json', $context); + } + foreach ($object as $key => $value_1) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value_1; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceDetachPostResponse200VirtualMachineNetworkInterface::class => false]; + } + } +} diff --git a/src/Core/Normalizer/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceGetResponse200VirtualMachineNetworkInterfaceNormalizer.php b/src/Core/Normalizer/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceGetResponse200VirtualMachineNetworkInterfaceNormalizer.php index d5855c99..13365301 100644 --- a/src/Core/Normalizer/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceGetResponse200VirtualMachineNetworkInterfaceNormalizer.php +++ b/src/Core/Normalizer/VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceGetResponse200VirtualMachineNetworkInterfaceNormalizer.php @@ -63,9 +63,17 @@ public function denormalize(mixed $data, string $type, ?string $format = null, a $object->setName($data['name']); unset($data['name']); } - if (\array_key_exists('network', $data)) { - $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\GetVMNIVMNIPartNetwork::class, 'json', $context)); + if (\array_key_exists('network', $data) && $data['network'] !== null) { + $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNetwork::class, 'json', $context)); unset($data['network']); + } elseif (\array_key_exists('network', $data) && $data['network'] === null) { + $object->setNetwork(null); + } + if (\array_key_exists('virtual_network', $data) && $data['virtual_network'] !== null) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } elseif (\array_key_exists('virtual_network', $data) && $data['virtual_network'] === null) { + $object->setVirtualNetwork(null); } if (\array_key_exists('mac_address', $data)) { $object->setMacAddress($data['mac_address']); @@ -111,6 +119,9 @@ public function normalize(mixed $object, ?string $format = null, array $context if ($object->isInitialized('network') && null !== $object->getNetwork()) { $data['network'] = $this->normalizer->normalize($object->getNetwork(), 'json', $context); } + if ($object->isInitialized('virtualNetwork') && null !== $object->getVirtualNetwork()) { + $data['virtual_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), 'json', $context); + } if ($object->isInitialized('macAddress') && null !== $object->getMacAddress()) { $data['mac_address'] = $object->getMacAddress(); } @@ -183,9 +194,17 @@ public function denormalize($data, $type, $format = null, array $context = []) $object->setName($data['name']); unset($data['name']); } - if (\array_key_exists('network', $data)) { - $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\GetVMNIVMNIPartNetwork::class, 'json', $context)); + if (\array_key_exists('network', $data) && $data['network'] !== null) { + $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceNetwork::class, 'json', $context)); unset($data['network']); + } elseif (\array_key_exists('network', $data) && $data['network'] === null) { + $object->setNetwork(null); + } + if (\array_key_exists('virtual_network', $data) && $data['virtual_network'] !== null) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\GetVMNIVMNI200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } elseif (\array_key_exists('virtual_network', $data) && $data['virtual_network'] === null) { + $object->setVirtualNetwork(null); } if (\array_key_exists('mac_address', $data)) { $object->setMacAddress($data['mac_address']); @@ -234,6 +253,9 @@ public function normalize($object, $format = null, array $context = []) if ($object->isInitialized('network') && null !== $object->getNetwork()) { $data['network'] = $this->normalizer->normalize($object->getNetwork(), 'json', $context); } + if ($object->isInitialized('virtualNetwork') && null !== $object->getVirtualNetwork()) { + $data['virtual_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), 'json', $context); + } if ($object->isInitialized('macAddress') && null !== $object->getMacAddress()) { $data['mac_address'] = $object->getMacAddress(); } diff --git a/src/Core/Normalizer/VirtualMachinesVirtualMachineNetworkInterfacesPostBodyNormalizer.php b/src/Core/Normalizer/VirtualMachinesVirtualMachineNetworkInterfacesPostBodyNormalizer.php new file mode 100644 index 00000000..cf11cfce --- /dev/null +++ b/src/Core/Normalizer/VirtualMachinesVirtualMachineNetworkInterfacesPostBodyNormalizer.php @@ -0,0 +1,187 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class VirtualMachinesVirtualMachineNetworkInterfacesPostBodyNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostBody::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostBody::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostBody(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('virtual_machine', $data)) { + $object->setVirtualMachine($this->denormalizer->denormalize($data['virtual_machine'], \KatapultAPI\Core\Model\VirtualMachineLookup::class, 'json', $context)); + unset($data['virtual_machine']); + } + if (\array_key_exists('network', $data)) { + $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\NetworkLookup::class, 'json', $context)); + unset($data['network']); + } + if (\array_key_exists('virtual_network', $data)) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\VirtualNetworkLookup::class, 'json', $context)); + unset($data['virtual_network']); + } + if (\array_key_exists('speed_profile', $data)) { + $object->setSpeedProfile($this->denormalizer->denormalize($data['speed_profile'], \KatapultAPI\Core\Model\NetworkSpeedProfileLookup::class, 'json', $context)); + unset($data['speed_profile']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + $data['virtual_machine'] = $this->normalizer->normalize($object->getVirtualMachine(), 'json', $context); + if ($object->isInitialized('network') && null !== $object->getNetwork()) { + $data['network'] = $this->normalizer->normalize($object->getNetwork(), 'json', $context); + } + if ($object->isInitialized('virtualNetwork') && null !== $object->getVirtualNetwork()) { + $data['virtual_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), 'json', $context); + } + $data['speed_profile'] = $this->normalizer->normalize($object->getSpeedProfile(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostBody::class => false]; + } + } +} else { + class VirtualMachinesVirtualMachineNetworkInterfacesPostBodyNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostBody::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostBody::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostBody(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('virtual_machine', $data)) { + $object->setVirtualMachine($this->denormalizer->denormalize($data['virtual_machine'], \KatapultAPI\Core\Model\VirtualMachineLookup::class, 'json', $context)); + unset($data['virtual_machine']); + } + if (\array_key_exists('network', $data)) { + $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\NetworkLookup::class, 'json', $context)); + unset($data['network']); + } + if (\array_key_exists('virtual_network', $data)) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\VirtualNetworkLookup::class, 'json', $context)); + unset($data['virtual_network']); + } + if (\array_key_exists('speed_profile', $data)) { + $object->setSpeedProfile($this->denormalizer->denormalize($data['speed_profile'], \KatapultAPI\Core\Model\NetworkSpeedProfileLookup::class, 'json', $context)); + unset($data['speed_profile']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + $data['virtual_machine'] = $this->normalizer->normalize($object->getVirtualMachine(), 'json', $context); + if ($object->isInitialized('network') && null !== $object->getNetwork()) { + $data['network'] = $this->normalizer->normalize($object->getNetwork(), 'json', $context); + } + if ($object->isInitialized('virtualNetwork') && null !== $object->getVirtualNetwork()) { + $data['virtual_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), 'json', $context); + } + $data['speed_profile'] = $this->normalizer->normalize($object->getSpeedProfile(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostBody::class => false]; + } + } +} diff --git a/src/Core/Normalizer/VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200Normalizer.php b/src/Core/Normalizer/VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200Normalizer.php new file mode 100644 index 00000000..7afa09a7 --- /dev/null +++ b/src/Core/Normalizer/VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200Normalizer.php @@ -0,0 +1,149 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200Normalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('virtual_machine_network_interface', $data)) { + $object->setVirtualMachineNetworkInterface($this->denormalizer->denormalize($data['virtual_machine_network_interface'], \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200VirtualMachineNetworkInterface::class, 'json', $context)); + unset($data['virtual_machine_network_interface']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + $data['virtual_machine_network_interface'] = $this->normalizer->normalize($object->getVirtualMachineNetworkInterface(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200::class => false]; + } + } +} else { + class VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200Normalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('virtual_machine_network_interface', $data)) { + $object->setVirtualMachineNetworkInterface($this->denormalizer->denormalize($data['virtual_machine_network_interface'], \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200VirtualMachineNetworkInterface::class, 'json', $context)); + unset($data['virtual_machine_network_interface']); + } + foreach ($data as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + $data['virtual_machine_network_interface'] = $this->normalizer->normalize($object->getVirtualMachineNetworkInterface(), 'json', $context); + foreach ($object as $key => $value) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200::class => false]; + } + } +} diff --git a/src/Core/Normalizer/VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200VirtualMachineNetworkInterfaceNormalizer.php b/src/Core/Normalizer/VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200VirtualMachineNetworkInterfaceNormalizer.php new file mode 100644 index 00000000..49724a31 --- /dev/null +++ b/src/Core/Normalizer/VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200VirtualMachineNetworkInterfaceNormalizer.php @@ -0,0 +1,289 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200VirtualMachineNetworkInterfaceNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200VirtualMachineNetworkInterface::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200VirtualMachineNetworkInterface::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200VirtualMachineNetworkInterface(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('virtual_machine', $data)) { + $object->setVirtualMachine($this->denormalizer->denormalize($data['virtual_machine'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartVirtualMachine::class, 'json', $context)); + unset($data['virtual_machine']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + if (\array_key_exists('network', $data) && $data['network'] !== null) { + $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNetwork::class, 'json', $context)); + unset($data['network']); + } elseif (\array_key_exists('network', $data) && $data['network'] === null) { + $object->setNetwork(null); + } + if (\array_key_exists('virtual_network', $data) && $data['virtual_network'] !== null) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } elseif (\array_key_exists('virtual_network', $data) && $data['virtual_network'] === null) { + $object->setVirtualNetwork(null); + } + if (\array_key_exists('mac_address', $data)) { + $object->setMacAddress($data['mac_address']); + unset($data['mac_address']); + } + if (\array_key_exists('state', $data)) { + $object->setState($data['state']); + unset($data['state']); + } + if (\array_key_exists('ip_addresses', $data)) { + $values = []; + foreach ($data['ip_addresses'] as $value) { + $values[] = $this->denormalizer->denormalize($value, \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartIPAddresses::class, 'json', $context); + } + $object->setIpAddresses($values); + unset($data['ip_addresses']); + } + if (\array_key_exists('speed_profile', $data)) { + $object->setSpeedProfile($this->denormalizer->denormalize($data['speed_profile'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartSpeedProfile::class, 'json', $context)); + unset($data['speed_profile']); + } + foreach ($data as $key => $value_1) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value_1; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('virtualMachine') && null !== $object->getVirtualMachine()) { + $data['virtual_machine'] = $this->normalizer->normalize($object->getVirtualMachine(), 'json', $context); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + if ($object->isInitialized('network') && null !== $object->getNetwork()) { + $data['network'] = $this->normalizer->normalize($object->getNetwork(), 'json', $context); + } + if ($object->isInitialized('virtualNetwork') && null !== $object->getVirtualNetwork()) { + $data['virtual_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), 'json', $context); + } + if ($object->isInitialized('macAddress') && null !== $object->getMacAddress()) { + $data['mac_address'] = $object->getMacAddress(); + } + if ($object->isInitialized('state') && null !== $object->getState()) { + $data['state'] = $object->getState(); + } + if ($object->isInitialized('ipAddresses') && null !== $object->getIpAddresses()) { + $values = []; + foreach ($object->getIpAddresses() as $value) { + $values[] = $this->normalizer->normalize($value, 'json', $context); + } + $data['ip_addresses'] = $values; + } + if ($object->isInitialized('speedProfile') && null !== $object->getSpeedProfile()) { + $data['speed_profile'] = $this->normalizer->normalize($object->getSpeedProfile(), 'json', $context); + } + foreach ($object as $key => $value_1) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value_1; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200VirtualMachineNetworkInterface::class => false]; + } + } +} else { + class VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200VirtualMachineNetworkInterfaceNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200VirtualMachineNetworkInterface::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200VirtualMachineNetworkInterface::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200VirtualMachineNetworkInterface(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('id', $data)) { + $object->setId($data['id']); + unset($data['id']); + } + if (\array_key_exists('virtual_machine', $data)) { + $object->setVirtualMachine($this->denormalizer->denormalize($data['virtual_machine'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartVirtualMachine::class, 'json', $context)); + unset($data['virtual_machine']); + } + if (\array_key_exists('name', $data)) { + $object->setName($data['name']); + unset($data['name']); + } + if (\array_key_exists('network', $data) && $data['network'] !== null) { + $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceNetwork::class, 'json', $context)); + unset($data['network']); + } elseif (\array_key_exists('network', $data) && $data['network'] === null) { + $object->setNetwork(null); + } + if (\array_key_exists('virtual_network', $data) && $data['virtual_network'] !== null) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } elseif (\array_key_exists('virtual_network', $data) && $data['virtual_network'] === null) { + $object->setVirtualNetwork(null); + } + if (\array_key_exists('mac_address', $data)) { + $object->setMacAddress($data['mac_address']); + unset($data['mac_address']); + } + if (\array_key_exists('state', $data)) { + $object->setState($data['state']); + unset($data['state']); + } + if (\array_key_exists('ip_addresses', $data)) { + $values = []; + foreach ($data['ip_addresses'] as $value) { + $values[] = $this->denormalizer->denormalize($value, \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartIPAddresses::class, 'json', $context); + } + $object->setIpAddresses($values); + unset($data['ip_addresses']); + } + if (\array_key_exists('speed_profile', $data)) { + $object->setSpeedProfile($this->denormalizer->denormalize($data['speed_profile'], \KatapultAPI\Core\Model\PostVirtualMachineNetworkInterfacesPartSpeedProfile::class, 'json', $context)); + unset($data['speed_profile']); + } + foreach ($data as $key => $value_1) { + if (preg_match('/.*/', (string) $key)) { + $object[$key] = $value_1; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('virtualMachine') && null !== $object->getVirtualMachine()) { + $data['virtual_machine'] = $this->normalizer->normalize($object->getVirtualMachine(), 'json', $context); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + if ($object->isInitialized('network') && null !== $object->getNetwork()) { + $data['network'] = $this->normalizer->normalize($object->getNetwork(), 'json', $context); + } + if ($object->isInitialized('virtualNetwork') && null !== $object->getVirtualNetwork()) { + $data['virtual_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), 'json', $context); + } + if ($object->isInitialized('macAddress') && null !== $object->getMacAddress()) { + $data['mac_address'] = $object->getMacAddress(); + } + if ($object->isInitialized('state') && null !== $object->getState()) { + $data['state'] = $object->getState(); + } + if ($object->isInitialized('ipAddresses') && null !== $object->getIpAddresses()) { + $values = []; + foreach ($object->getIpAddresses() as $value) { + $values[] = $this->normalizer->normalize($value, 'json', $context); + } + $data['ip_addresses'] = $values; + } + if ($object->isInitialized('speedProfile') && null !== $object->getSpeedProfile()) { + $data['speed_profile'] = $this->normalizer->normalize($object->getSpeedProfile(), 'json', $context); + } + foreach ($object as $key => $value_1) { + if (preg_match('/.*/', (string) $key)) { + $data[$key] = $value_1; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\VirtualMachinesVirtualMachineNetworkInterfacesPostResponse200VirtualMachineNetworkInterface::class => false]; + } + } +} diff --git a/src/Core/Normalizer/VirtualMachinesVirtualMachineNetworksNetworkInterfaceGetResponse200VirtualMachineNetworkInterfaceNormalizer.php b/src/Core/Normalizer/VirtualMachinesVirtualMachineNetworksNetworkInterfaceGetResponse200VirtualMachineNetworkInterfaceNormalizer.php index ae856444..5aae73e8 100644 --- a/src/Core/Normalizer/VirtualMachinesVirtualMachineNetworksNetworkInterfaceGetResponse200VirtualMachineNetworkInterfaceNormalizer.php +++ b/src/Core/Normalizer/VirtualMachinesVirtualMachineNetworksNetworkInterfaceGetResponse200VirtualMachineNetworkInterfaceNormalizer.php @@ -63,9 +63,17 @@ public function denormalize(mixed $data, string $type, ?string $format = null, a $object->setName($data['name']); unset($data['name']); } - if (\array_key_exists('network', $data)) { - $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacePartNetwork::class, 'json', $context)); + if (\array_key_exists('network', $data) && $data['network'] !== null) { + $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork::class, 'json', $context)); unset($data['network']); + } elseif (\array_key_exists('network', $data) && $data['network'] === null) { + $object->setNetwork(null); + } + if (\array_key_exists('virtual_network', $data) && $data['virtual_network'] !== null) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } elseif (\array_key_exists('virtual_network', $data) && $data['virtual_network'] === null) { + $object->setVirtualNetwork(null); } if (\array_key_exists('mac_address', $data)) { $object->setMacAddress($data['mac_address']); @@ -107,6 +115,9 @@ public function normalize(mixed $object, ?string $format = null, array $context if ($object->isInitialized('network') && null !== $object->getNetwork()) { $data['network'] = $this->normalizer->normalize($object->getNetwork(), 'json', $context); } + if ($object->isInitialized('virtualNetwork') && null !== $object->getVirtualNetwork()) { + $data['virtual_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), 'json', $context); + } if ($object->isInitialized('macAddress') && null !== $object->getMacAddress()) { $data['mac_address'] = $object->getMacAddress(); } @@ -176,9 +187,17 @@ public function denormalize($data, $type, $format = null, array $context = []) $object->setName($data['name']); unset($data['name']); } - if (\array_key_exists('network', $data)) { - $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterfacePartNetwork::class, 'json', $context)); + if (\array_key_exists('network', $data) && $data['network'] !== null) { + $object->setNetwork($this->denormalizer->denormalize($data['network'], \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceNetwork::class, 'json', $context)); unset($data['network']); + } elseif (\array_key_exists('network', $data) && $data['network'] === null) { + $object->setNetwork(null); + } + if (\array_key_exists('virtual_network', $data) && $data['virtual_network'] !== null) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterfaceVirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } elseif (\array_key_exists('virtual_network', $data) && $data['virtual_network'] === null) { + $object->setVirtualNetwork(null); } if (\array_key_exists('mac_address', $data)) { $object->setMacAddress($data['mac_address']); @@ -223,6 +242,9 @@ public function normalize($object, $format = null, array $context = []) if ($object->isInitialized('network') && null !== $object->getNetwork()) { $data['network'] = $this->normalizer->normalize($object->getNetwork(), 'json', $context); } + if ($object->isInitialized('virtualNetwork') && null !== $object->getVirtualNetwork()) { + $data['virtual_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), 'json', $context); + } if ($object->isInitialized('macAddress') && null !== $object->getMacAddress()) { $data['mac_address'] = $object->getMacAddress(); } diff --git a/src/Core/Normalizer/VirtualNetworkNotFoundSchemaNormalizer.php b/src/Core/Normalizer/VirtualNetworkNotFoundSchemaNormalizer.php new file mode 100644 index 00000000..6668cb49 --- /dev/null +++ b/src/Core/Normalizer/VirtualNetworkNotFoundSchemaNormalizer.php @@ -0,0 +1,197 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class VirtualNetworkNotFoundSchemaNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\VirtualNetworkNotFoundSchema::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualNetworkNotFoundSchema::class; + } + + public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []): mixed + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\VirtualNetworkNotFoundSchema(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('code', $data)) { + $object->setCode($data['code']); + unset($data['code']); + } + if (\array_key_exists('description', $data)) { + $object->setDescription($data['description']); + unset($data['description']); + } + if (\array_key_exists('detail', $data)) { + $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); + foreach ($data['detail'] as $key => $value) { + $values[$key] = $value; + } + $object->setDetail($values); + unset($data['detail']); + } + foreach ($data as $key_1 => $value_1) { + if (preg_match('/.*/', (string) $key_1)) { + $object[$key_1] = $value_1; + } + } + + return $object; + } + + public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null + { + $data = []; + if ($object->isInitialized('code') && null !== $object->getCode()) { + $data['code'] = $object->getCode(); + } + if ($object->isInitialized('description') && null !== $object->getDescription()) { + $data['description'] = $object->getDescription(); + } + if ($object->isInitialized('detail') && null !== $object->getDetail()) { + $values = []; + foreach ($object->getDetail() as $key => $value) { + $values[$key] = $value; + } + $data['detail'] = $values; + } + foreach ($object as $key_1 => $value_1) { + if (preg_match('/.*/', (string) $key_1)) { + $data[$key_1] = $value_1; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\VirtualNetworkNotFoundSchema::class => false]; + } + } +} else { + class VirtualNetworkNotFoundSchemaNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface + { + use DenormalizerAwareTrait; + use NormalizerAwareTrait; + use CheckArray; + use ValidatorTrait; + + public function supportsDenormalization($data, $type, ?string $format = null, array $context = []): bool + { + return $type === \KatapultAPI\Core\Model\VirtualNetworkNotFoundSchema::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualNetworkNotFoundSchema::class; + } + + public function denormalize($data, $type, $format = null, array $context = []) + { + if (isset($data['$ref'])) { + return new Reference($data['$ref'], $context['document-origin']); + } + if (isset($data['$recursiveRef'])) { + return new Reference($data['$recursiveRef'], $context['document-origin']); + } + $object = new \KatapultAPI\Core\Model\VirtualNetworkNotFoundSchema(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('code', $data)) { + $object->setCode($data['code']); + unset($data['code']); + } + if (\array_key_exists('description', $data)) { + $object->setDescription($data['description']); + unset($data['description']); + } + if (\array_key_exists('detail', $data)) { + $values = new \ArrayObject([], \ArrayObject::ARRAY_AS_PROPS); + foreach ($data['detail'] as $key => $value) { + $values[$key] = $value; + } + $object->setDetail($values); + unset($data['detail']); + } + foreach ($data as $key_1 => $value_1) { + if (preg_match('/.*/', (string) $key_1)) { + $object[$key_1] = $value_1; + } + } + + return $object; + } + + /** + * @return array|string|int|float|bool|\ArrayObject|null + */ + public function normalize($object, $format = null, array $context = []) + { + $data = []; + if ($object->isInitialized('code') && null !== $object->getCode()) { + $data['code'] = $object->getCode(); + } + if ($object->isInitialized('description') && null !== $object->getDescription()) { + $data['description'] = $object->getDescription(); + } + if ($object->isInitialized('detail') && null !== $object->getDetail()) { + $values = []; + foreach ($object->getDetail() as $key => $value) { + $values[$key] = $value; + } + $data['detail'] = $values; + } + foreach ($object as $key_1 => $value_1) { + if (preg_match('/.*/', (string) $key_1)) { + $data[$key_1] = $value_1; + } + } + + return $data; + } + + public function getSupportedTypes(?string $format = null): array + { + return [\KatapultAPI\Core\Model\VirtualNetworkNotFoundSchema::class => false]; + } + } +} diff --git a/src/Public/Client.php b/src/Public/Client.php index 26c902a1..a05e5a85 100644 --- a/src/Public/Client.php +++ b/src/Public/Client.php @@ -56,7 +56,7 @@ public function postPricingEstimate(?Model\PricingEstimatePostBody $requestBody } /** - * This will create a new signup object and e-mail the appropriate welcome e-mail to the given email address. + * This will create a new signup object, which can be either verified by e-mail or by the user creating an account in Identity. * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * diff --git a/src/Public/Endpoint/PostSignups.php b/src/Public/Endpoint/PostSignups.php index 72226866..08ff2535 100644 --- a/src/Public/Endpoint/PostSignups.php +++ b/src/Public/Endpoint/PostSignups.php @@ -15,7 +15,7 @@ class PostSignups extends \KatapultAPI\Public\Runtime\Client\BaseEndpoint implem use \KatapultAPI\Public\Runtime\Client\EndpointTrait; /** - * This will create a new signup object and e-mail the appropriate welcome e-mail to the given email address. + * This will create a new signup object, which can be either verified by e-mail or by the user creating an account in Identity. */ public function __construct(?\KatapultAPI\Public\Model\SignupsPostBody $requestBody = null) { diff --git a/src/Public/Model/SignupsPostBody.php b/src/Public/Model/SignupsPostBody.php index bc1b07fa..553fb2cc 100644 --- a/src/Public/Model/SignupsPostBody.php +++ b/src/Public/Model/SignupsPostBody.php @@ -21,6 +21,12 @@ public function isInitialized($property): bool { return array_key_exists($property, $this->initialized); } + /** + * If true, the user will be sent an email to verify their e-mail address, and if false, the user will need to verify their e-mail address when they create an account in Identity. + * + * @var bool + */ + protected $verifyWithEmail; /** * The e-mail address that should receive the welcome e-mail. * @@ -34,12 +40,29 @@ public function isInitialized($property): bool */ protected $coupon; /** - * All 'campaign[]' params are mutually exclusive, only one can be provided. - * * @var SignupCampaignArguments */ protected $campaign; + /** + * If true, the user will be sent an email to verify their e-mail address, and if false, the user will need to verify their e-mail address when they create an account in Identity. + */ + public function getVerifyWithEmail(): bool + { + return $this->verifyWithEmail; + } + + /** + * If true, the user will be sent an email to verify their e-mail address, and if false, the user will need to verify their e-mail address when they create an account in Identity. + */ + public function setVerifyWithEmail(bool $verifyWithEmail): self + { + $this->initialized['verifyWithEmail'] = true; + $this->verifyWithEmail = $verifyWithEmail; + + return $this; + } + /** * The e-mail address that should receive the welcome e-mail. */ @@ -78,17 +101,11 @@ public function setCoupon(string $coupon): self return $this; } - /** - * All 'campaign[]' params are mutually exclusive, only one can be provided. - */ public function getCampaign(): SignupCampaignArguments { return $this->campaign; } - /** - * All 'campaign[]' params are mutually exclusive, only one can be provided. - */ public function setCampaign(SignupCampaignArguments $campaign): self { $this->initialized['campaign'] = true; diff --git a/src/Public/Model/SignupsPostResponse200.php b/src/Public/Model/SignupsPostResponse200.php index 8e141d65..ab20f16a 100644 --- a/src/Public/Model/SignupsPostResponse200.php +++ b/src/Public/Model/SignupsPostResponse200.php @@ -30,9 +30,15 @@ public function isInitialized($property): bool /** * The e-mail address that was sent the welcome email. * - * @var string + * @var string|null */ protected $emailAddress; + /** + * The URL for the user to continue their signup process, only available if verify_with_email is false. + * + * @var string|null + */ + protected $url; /** * The ID of the signup. @@ -56,7 +62,7 @@ public function setId(string $id): self /** * The e-mail address that was sent the welcome email. */ - public function getEmailAddress(): string + public function getEmailAddress(): ?string { return $this->emailAddress; } @@ -64,11 +70,30 @@ public function getEmailAddress(): string /** * The e-mail address that was sent the welcome email. */ - public function setEmailAddress(string $emailAddress): self + public function setEmailAddress(?string $emailAddress): self { $this->initialized['emailAddress'] = true; $this->emailAddress = $emailAddress; return $this; } + + /** + * The URL for the user to continue their signup process, only available if verify_with_email is false. + */ + public function getUrl(): ?string + { + return $this->url; + } + + /** + * The URL for the user to continue their signup process, only available if verify_with_email is false. + */ + public function setUrl(?string $url): self + { + $this->initialized['url'] = true; + $this->url = $url; + + return $this; + } } diff --git a/src/Public/Normalizer/SignupsPostBodyNormalizer.php b/src/Public/Normalizer/SignupsPostBodyNormalizer.php index 9761dd16..2fa5d472 100644 --- a/src/Public/Normalizer/SignupsPostBodyNormalizer.php +++ b/src/Public/Normalizer/SignupsPostBodyNormalizer.php @@ -51,6 +51,10 @@ public function denormalize(mixed $data, string $type, ?string $format = null, a if (null === $data || false === \is_array($data)) { return $object; } + if (\array_key_exists('verify_with_email', $data)) { + $object->setVerifyWithEmail($data['verify_with_email']); + unset($data['verify_with_email']); + } if (\array_key_exists('email_address', $data)) { $object->setEmailAddress($data['email_address']); unset($data['email_address']); @@ -75,7 +79,12 @@ public function denormalize(mixed $data, string $type, ?string $format = null, a public function normalize(mixed $object, ?string $format = null, array $context = []): array|string|int|float|bool|\ArrayObject|null { $data = []; - $data['email_address'] = $object->getEmailAddress(); + if ($object->isInitialized('verifyWithEmail') && null !== $object->getVerifyWithEmail()) { + $data['verify_with_email'] = $object->getVerifyWithEmail(); + } + if ($object->isInitialized('emailAddress') && null !== $object->getEmailAddress()) { + $data['email_address'] = $object->getEmailAddress(); + } if ($object->isInitialized('coupon') && null !== $object->getCoupon()) { $data['coupon'] = $object->getCoupon(); } @@ -126,6 +135,10 @@ public function denormalize($data, $type, $format = null, array $context = []) if (null === $data || false === \is_array($data)) { return $object; } + if (\array_key_exists('verify_with_email', $data)) { + $object->setVerifyWithEmail($data['verify_with_email']); + unset($data['verify_with_email']); + } if (\array_key_exists('email_address', $data)) { $object->setEmailAddress($data['email_address']); unset($data['email_address']); @@ -153,7 +166,12 @@ public function denormalize($data, $type, $format = null, array $context = []) public function normalize($object, $format = null, array $context = []) { $data = []; - $data['email_address'] = $object->getEmailAddress(); + if ($object->isInitialized('verifyWithEmail') && null !== $object->getVerifyWithEmail()) { + $data['verify_with_email'] = $object->getVerifyWithEmail(); + } + if ($object->isInitialized('emailAddress') && null !== $object->getEmailAddress()) { + $data['email_address'] = $object->getEmailAddress(); + } if ($object->isInitialized('coupon') && null !== $object->getCoupon()) { $data['coupon'] = $object->getCoupon(); } diff --git a/src/Public/Normalizer/SignupsPostResponse200Normalizer.php b/src/Public/Normalizer/SignupsPostResponse200Normalizer.php index 7178f693..6255ba76 100644 --- a/src/Public/Normalizer/SignupsPostResponse200Normalizer.php +++ b/src/Public/Normalizer/SignupsPostResponse200Normalizer.php @@ -55,9 +55,17 @@ public function denormalize(mixed $data, string $type, ?string $format = null, a $object->setId($data['id']); unset($data['id']); } - if (\array_key_exists('email_address', $data)) { + if (\array_key_exists('email_address', $data) && $data['email_address'] !== null) { $object->setEmailAddress($data['email_address']); unset($data['email_address']); + } elseif (\array_key_exists('email_address', $data) && $data['email_address'] === null) { + $object->setEmailAddress(null); + } + if (\array_key_exists('url', $data) && $data['url'] !== null) { + $object->setUrl($data['url']); + unset($data['url']); + } elseif (\array_key_exists('url', $data) && $data['url'] === null) { + $object->setUrl(null); } foreach ($data as $key => $value) { if (preg_match('/.*/', (string) $key)) { @@ -73,6 +81,7 @@ public function normalize(mixed $object, ?string $format = null, array $context $data = []; $data['id'] = $object->getId(); $data['email_address'] = $object->getEmailAddress(); + $data['url'] = $object->getUrl(); foreach ($object as $key => $value) { if (preg_match('/.*/', (string) $key)) { $data[$key] = $value; @@ -121,9 +130,17 @@ public function denormalize($data, $type, $format = null, array $context = []) $object->setId($data['id']); unset($data['id']); } - if (\array_key_exists('email_address', $data)) { + if (\array_key_exists('email_address', $data) && $data['email_address'] !== null) { $object->setEmailAddress($data['email_address']); unset($data['email_address']); + } elseif (\array_key_exists('email_address', $data) && $data['email_address'] === null) { + $object->setEmailAddress(null); + } + if (\array_key_exists('url', $data) && $data['url'] !== null) { + $object->setUrl($data['url']); + unset($data['url']); + } elseif (\array_key_exists('url', $data) && $data['url'] === null) { + $object->setUrl(null); } foreach ($data as $key => $value) { if (preg_match('/.*/', (string) $key)) { @@ -142,6 +159,7 @@ public function normalize($object, $format = null, array $context = []) $data = []; $data['id'] = $object->getId(); $data['email_address'] = $object->getEmailAddress(); + $data['url'] = $object->getUrl(); foreach ($object as $key => $value) { if (preg_match('/.*/', (string) $key)) { $data[$key] = $value;