diff --git a/composer.json b/composer.json index b76e1e72..abc5fa43 100644 --- a/composer.json +++ b/composer.json @@ -14,12 +14,12 @@ "*": "dist" }, "sort-packages": true, - "platform": { - "php": "8.1" - }, - "allow-plugins": { - "php-http/discovery": true - } + "platform": { + "php": "8.1" + }, + "allow-plugins": { + "php-http/discovery": true + } }, "autoload": { "psr-4": { diff --git a/katapult-core-openapi.json b/katapult-core-openapi.json index 39b802a0..93514115 100644 --- a/katapult-core-openapi.json +++ b/katapult-core-openapi.json @@ -1,10 +1,15 @@ { "openapi": "3.0.0", "info": { + "x-katapult-version": "2.60.0", "version": "1.0.0", "title": "Katapult Core API", "description": "Welcome to the documentation for the Katapult Core API" }, + "externalDocs": { + "description": "Katapult API Documentation", + "url": "https://developers.katapult.io/docs/category/core-api" + }, "servers": [ { "url": "https://api.katapult.io/core/v1" @@ -15,56 +20,82 @@ "get": { "operationId": "get:organization_api_tokens", "summary": "List organization API tokens", - "description": "Returns a list of all API tokens for an organization\n## Scopes\n- `api_tokens`\n- `api_tokens:read`\n", + "description": "Returns a list of all API tokens for an organization\n## Scopes\n- `api_tokens`\n- `api_tokens:read`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ "API tokens" ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/api_tokens", + "api.katapult.io/core/v1/api_tokens:read" + ] + }, + { + "Authenticator": [ + "api_tokens", + "api_tokens:read" + ] + } + ], "parameters": [ { - "name": "organization[id]", "in": "query", + "name": "organization[id]", "schema": { "type": "string" }, - "description": "The organization to list API tokens for. All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "The organization to list API tokens for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." }, { - "name": "organization[sub_domain]", "in": "query", + "name": "organization[sub_domain]", "schema": { "type": "string" }, - "description": "The organization to list API tokens for. All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "The organization to list API tokens for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." }, { - "name": "annotations[key]", "in": "query", + "name": "annotations[][key]", "schema": { - "type": "string" + "type": "array", + "items": { + "type": "string" + } }, - "description": "An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided." + "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": "annotations[value]", "in": "query", + "name": "annotations[][value]", "schema": { - "type": "string" + "type": "array", + "items": { + "type": "string" + } }, - "description": "An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided." + "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" - } + "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" - } + "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": { @@ -112,10 +143,22 @@ "post": { "operationId": "post:organization_api_tokens", "summary": "Create API token for organization", - "description": "Create a new API token for a given organization\n## Scopes\n- `api_tokens`\n", + "description": "Create a new API token for a given organization\n## Scopes\n- `api_tokens`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ "API tokens" ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/api_tokens" + ] + }, + { + "Authenticator": [ + "api_tokens" + ] + } + ], "requestBody": { "content": { "application/json": { @@ -198,10 +241,22 @@ "patch": { "operationId": "patch:api_token", "summary": "Update organization API token", - "description": "Updates an organization API token with new properties\n## Scopes\n- `api_tokens`\n", + "description": "Updates an organization API token with new properties\n## Scopes\n- `api_tokens`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ "API tokens" ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/api_tokens" + ] + }, + { + "Authenticator": [ + "api_tokens" + ] + } + ], "requestBody": { "content": { "application/json": { @@ -282,10 +337,22 @@ "delete": { "operationId": "delete:api_token", "summary": "Delete organization API token", - "description": "Delete an organization API token\n## Scopes\n- `api_tokens`\n", + "description": "Delete an organization API token\n## Scopes\n- `api_tokens`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ "API tokens" ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/api_tokens" + ] + }, + { + "Authenticator": [ + "api_tokens" + ] + } + ], "requestBody": { "content": { "application/json": { @@ -350,10 +417,22 @@ "post": { "operationId": "post:api_token_regenerate_secret", "summary": "Regenerate organization API token secret", - "description": "Regenerates the secret for an organization API token\n## Scopes\n- `api_tokens`\n", + "description": "Regenerates the secret for an organization API token\n## Scopes\n- `api_tokens`\n\n### OAuth2 Scopes\nWhen using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`.\n", "tags": [ "API tokens" ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/api_tokens" + ] + }, + { + "Authenticator": [ + "api_tokens" + ] + } + ], "requestBody": { "content": { "application/json": { @@ -414,130 +493,61 @@ } } }, - "/address_lists": { + "/address_lists/address_list/entries": { "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", + "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 lists" + "Address list entries" ], - "parameters": [ + "security": [ { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } + "OAuth2": [ + "api.katapult.io/core/v1/address_lists", + "api.katapult.io/core/v1/address_lists:read" + ] }, { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer" - } - } - ], - "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" + "Authenticator": [ + "address_lists", + "address_lists:read" + ] } - } - } - }, - "/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", - "tags": [ - "Address lists" ], "parameters": [ { - "name": "organization[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The organization for which the address lists should be returned. All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "organization[sub_domain]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The organization for which the address lists should be returned. All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "annotations[key]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "annotations[value]", "in": "query", + "name": "address_list[id]", "schema": { "type": "string" }, - "description": "An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided." + "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." }, { "name": "page", "in": "query", "schema": { - "type": "integer" - } + "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" - } + "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 address lists for a given organization", + "description": "Returns a list of all address list entries for a given address list", "content": { "application/json": { "schema": { @@ -545,17 +555,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" ] } } @@ -565,10 +575,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" @@ -579,32 +589,38 @@ } }, "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", + "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": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/address_lists" + ] + }, + { + "Authenticator": [ + "address_lists" + ] + } ], "requestBody": { "content": { "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" ] } @@ -613,29 +629,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" ] } } @@ -645,10 +654,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" @@ -662,49 +671,56 @@ } } }, - "/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", + "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": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/address_lists", + "api.katapult.io/core/v1/address_lists:read" + ] + }, + { + "Authenticator": [ + "address_lists", + "address_lists:read" + ] + } ], "parameters": [ { - "name": "address_list[id]", "in": "query", + "name": "address_list_entry[id]", "schema": { "type": "string" }, - "description": "The address list to return. All 'address_list[]' params are mutually exclusive, only one can be provided." + "description": "The address list entry to return. \n\n All 'address_list_entry[]' params are mutually exclusive, only one can be provided." } ], "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" ] } } @@ -717,7 +733,7 @@ "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/AddressListNotFoundResponse" + "$ref": "#/components/responses/AddressListEntryNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -728,32 +744,38 @@ } }, "patch": { - "operationId": "patch:address_list", - "summary": "Update address list", - "description": "Update a address list with new properties.\n## Scopes\n- `address_lists`\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": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/address_lists" + ] + }, + { + "Authenticator": [ + "address_lists" + ] + } ], "requestBody": { "content": { "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" ] } @@ -762,29 +784,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" ] } } @@ -797,7 +812,7 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/AddressListNotFoundResponse" + "$ref": "#/components/responses/AddressListEntryNotFoundResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -811,23 +826,35 @@ } }, "delete": { - "operationId": "delete:address_list", - "summary": "Delete address list", - "description": "Delete a address list.\n## Scopes\n- `address_lists`\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": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/address_lists" + ] + }, + { + "Authenticator": [ + "address_lists" + ] + } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { - "address_list": { - "$ref": "#/components/schemas/AddressListLookup" + "address_list_entry": { + "$ref": "#/components/schemas/AddressListEntryLookup" } }, "required": [ - "address_list" + "address_list_entry" ] } } @@ -835,22 +862,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" ] } } @@ -863,7 +890,7 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/AddressListNotFoundResponse" + "$ref": "#/components/responses/AddressListEntryNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -874,89 +901,25 @@ } } }, - "/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", + "/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", "tags": [ - "Address lists", "Address list entries" ], - "parameters": [ - { - "name": "address_list[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The address list for which the entries should be returned. All 'address_list[]' params are mutually exclusive, only one can be provided." - }, + "security": [ { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } + "OAuth2": [ + "api.katapult.io/core/v1/address_lists" + ] }, { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer" - } - } - ], - "responses": { - "200": { - "description": "Returns a list of all address list entries for a given address list", - "content": { - "application/json": { - "schema": { - "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "address_list_entries": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AddressListEntry" - }, - "description": "A list of all address list entries for the given address list." - } - }, - "required": [ - "pagination", - "address_list_entries" - ] - } - } - } - }, - "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" - }, - "403": { - "$ref": "#/components/responses/PermissionDenied403Res" - }, - "404": { - "$ref": "#/components/responses/AddressListNotFoundResponse" - }, - "429": { - "$ref": "#/components/responses/APIAuthenticator429Response" - }, - "503": { - "$ref": "#/components/responses/APIAuthenticator503Response" + "Authenticator": [ + "address_lists" + ] } - } - }, - "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", - "tags": [ - "Address lists", - "Address list entries" ], "requestBody": { "content": { @@ -966,37 +929,35 @@ "address_list": { "$ref": "#/components/schemas/AddressListLookup" }, - "properties": { - "$ref": "#/components/schemas/AddressListEntryArguments" + "add": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AddressListEntryArguments" + } + }, + "remove": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AddressListEntryArguments" + } } }, "required": [ - "address_list", - "properties" + "address_list" ] } } } }, "responses": { - "201": { - "description": "Create a new address list entry for a given address list.", + "200": { + "description": "Create or delete multiple address list entries for a given address list.", "content": { "application/json": { "schema": { "properties": { - "address_list_entry": { - "description": "The address list entry.", - "allOf": [ - { - "$ref": "#/components/schemas/AddressListEntry" - } - ] - } - }, - "required": [ - "address_list_entry" - ] + + } } } } @@ -1022,43 +983,71 @@ } } }, - "/address_list_entries/address_list_entry": { + "/address_lists": { "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", + "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", - "Address list entries" + "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": "address_list_entry[id]", + "name": "page", "in": "query", "schema": { - "type": "string" + "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 address list entry to return. All 'address_list_entry[]' 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 details for an address list entry.", + "description": "Returns a list of all global address lists.", "content": { "application/json": { "schema": { "properties": { - "address_list_entry": { - "description": "The address list entry.", - "allOf": [ - { - "$ref": "#/components/schemas/AddressListEntry" - } - ] + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "address_lists": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetAddressLists200ResponseAddressLists" + }, + "description": "A list of all global address lists." } }, "required": [ - "address_list_entry" + "pagination", + "address_lists" ] } } @@ -1070,9 +1059,6 @@ "403": { "$ref": "#/components/responses/APIAuthenticator403Response" }, - "404": { - "$ref": "#/components/responses/AddressListEntryNotFoundResponse" - }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, @@ -1080,120 +1066,111 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, - "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", + } + }, + "/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", - "Address list entries" + "Address lists" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "address_list_entry": { - "$ref": "#/components/schemas/AddressListEntryLookup" - }, - "properties": { - "$ref": "#/components/schemas/AddressListEntryArguments" - } - }, - "required": [ - "address_list_entry", - "properties" - ] - } - } + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/address_lists", + "api.katapult.io/core/v1/address_lists:read" + ] + }, + { + "Authenticator": [ + "address_lists", + "address_lists:read" + ] } - }, - "responses": { - "200": { - "description": "Update an address list entry with new properties.", - "content": { - "application/json": { - "schema": { - "properties": { - "address_list_entry": { - "description": "The address list entry.", - "allOf": [ - { - "$ref": "#/components/schemas/AddressListEntry" - } - ] - } - }, - "required": [ - "address_list_entry" - ] - } - } - } - }, - "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" + ], + "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." }, - "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + { + "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." }, - "404": { - "$ref": "#/components/responses/AddressListEntryNotFoundResponse" + { + "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." }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + { + "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." }, - "429": { - "$ref": "#/components/responses/APIAuthenticator429Response" + { + "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." }, - "503": { - "$ref": "#/components/responses/APIAuthenticator503Response" + { + "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." } - } - }, - "delete": { - "operationId": "delete:address_list_entry", - "summary": "Delete address list entry", - "description": "Delete an address list entry.\n## Scopes\n- `address_lists`\n", - "tags": [ - "Address lists", - "Address list entries" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "address_list_entry": { - "$ref": "#/components/schemas/AddressListEntryLookup" - } - }, - "required": [ - "address_list_entry" - ] - } - } - } - }, "responses": { "200": { - "description": "Delete an address list entry.", + "description": "Returns a list of all address lists for a given organization", "content": { "application/json": { "schema": { "properties": { - "address_list_entry": { - "description": "The address list entry that has been destroyed.", - "allOf": [ - { - "$ref": "#/components/schemas/AddressListEntry" - } - ] + "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": [ - "address_list_entry" + "pagination", + "address_lists" ] } } @@ -1203,10 +1180,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/AddressListEntryNotFoundResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -1215,54 +1192,78 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/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", + "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": [ - "Address lists", - "Address list entries" + "Address lists" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/address_lists" + ] + }, + { + "Authenticator": [ + "address_lists" + ] + } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { - "address_list": { - "$ref": "#/components/schemas/AddressListLookup" + "organization": { + "$ref": "#/components/schemas/OrganizationLookup" }, - "add": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AddressListEntryArguments" - } + "properties": { + "$ref": "#/components/schemas/AddressListArguments" }, - "remove": { + "annotations": { "type": "array", "items": { - "$ref": "#/components/schemas/AddressListEntryArguments" + "$ref": "#/components/schemas/KeyValue" } } }, "required": [ - "address_list" + "organization", + "properties" ] } } } }, "responses": { - "200": { - "description": "Create or delete multiple address list entries for a given address list.", + "201": { + "description": "Create a new address list for a given organization.", "content": { "application/json": { "schema": { "properties": { - - } + "address_list": { + "description": "The address list.", + "allOf": [ + { + "$ref": "#/components/schemas/AddressList" + } + ] + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } + } + }, + "required": [ + "address_list", + "annotations" + ] } } } @@ -1271,10 +1272,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/AddressListNotFoundResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -1288,66 +1289,63 @@ } } }, - "/organizations/organization/certificates": { + "/address_lists/address_list": { "get": { - "operationId": "get:organization_certificates", - "summary": "List certificates", - "description": "Provides a full list of certificates\n## Scopes\n- `certificates`\n- `certificates:read`\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": [ - "Certificates" + "Address lists" ], - "parameters": [ + "security": [ { - "name": "organization[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/address_lists", + "api.katapult.io/core/v1/address_lists:read" + ] }, { - "name": "organization[sub_domain]", + "Authenticator": [ + "address_lists", + "address_lists:read" + ] + } + ], + "parameters": [ + { "in": "query", + "name": "address_list[id]", "schema": { "type": "string" }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } - }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer" - } + "description": "The address list to return. \n\n All 'address_list[]' params are mutually exclusive, only one can be provided." } ], "responses": { "200": { - "description": "Provides a full list of certificates", + "description": "Returns details for a address list.", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" + "address_list": { + "description": "The address list.", + "allOf": [ + { + "$ref": "#/components/schemas/AddressList" + } + ] }, - "certificates": { + "annotations": { "type": "array", "items": { - "$ref": "#/components/schemas/GetOrganizationCertificates200ResponseCertificates" + "$ref": "#/components/schemas/KeyValue" } } }, "required": [ - "pagination", - "certificates" + "address_list", + "annotations" ] } } @@ -1357,10 +1355,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/AddressListNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -1369,42 +1367,77 @@ "$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", + }, + "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": [ - "Certificates" + "Address lists" ], - "parameters": [ + "security": [ { - "name": "certificate[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "All 'certificate[]' params are mutually exclusive, only one can be provided." - } + "OAuth2": [ + "api.katapult.io/core/v1/address_lists" + ] + }, + { + "Authenticator": [ + "address_lists" + ] + } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "address_list": { + "$ref": "#/components/schemas/AddressListLookup" + }, + "properties": { + "$ref": "#/components/schemas/AddressListArguments" + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } + } + }, + "required": [ + "address_list", + "properties" + ] + } + } + } + }, "responses": { "200": { - "description": "Return details for a specific certificate", + "description": "Update a address list with new properties.", "content": { "application/json": { "schema": { "properties": { - "certificate": { + "address_list": { + "description": "The address list.", + "allOf": [ + { + "$ref": "#/components/schemas/AddressList" + } + ] + }, + "annotations": { "type": "array", "items": { - "$ref": "#/components/schemas/Certificate" + "$ref": "#/components/schemas/KeyValue" } } }, "required": [ - "certificate" + "address_list", + "annotations" ] } } @@ -1414,13 +1447,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/CertificateNotFoundResponse" + "$ref": "#/components/responses/AddressListNotFoundResponse" }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -1429,53 +1462,60 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/countries": { - "get": { - "operationId": "get:countries", - "summary": "List countries", - "description": "Return a list of all countries available in Katapult", + }, + "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": [ - "Countries" + "Address lists" ], - "parameters": [ + "security": [ { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } + "OAuth2": [ + "api.katapult.io/core/v1/address_lists" + ] }, { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer" - } + "Authenticator": [ + "address_lists" + ] } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "address_list": { + "$ref": "#/components/schemas/AddressListLookup" + } + }, + "required": [ + "address_list" + ] + } + } + } + }, "responses": { "200": { - "description": "Return a list of all countries available in Katapult", + "description": "Delete a address list.", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "countries": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetCountries200ResponseCountries" - }, - "description": "The list of countries" + "address_list": { + "description": "The address list that has been destroyed.", + "allOf": [ + { + "$ref": "#/components/schemas/AddressList" + } + ] } }, "required": [ - "pagination", - "countries" + "address_list" ] } } @@ -1485,7 +1525,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/AddressListNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -1496,58 +1539,63 @@ } } }, - "/countries/country": { - "get": { - "operationId": "get:country", - "summary": "Get country", - "description": "Return details for a specific country", + "/organizations/organization/object_storage/object_storage_cluster/buckets": { + "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", "tags": [ - "Countries" + "Buckets" ], - "parameters": [ - { - "name": "country[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The country to return. All 'country[]' params are mutually exclusive, only one can be provided." - }, + "security": [ { - "name": "country[iso_code2]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The country to return. All 'country[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/object_storage" + ] }, { - "name": "country[iso_code3]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The country to return. All 'country[]' params are mutually exclusive, only one can be provided." + "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/ObjectStorageBucketArguments" + } + }, + "required": [ + "organization", + "object_storage_cluster", + "properties" + ] + } + } + } + }, "responses": { - "200": { - "description": "Return details for a specific country", + "201": { + "description": "Create a new bucket in an object storage account", "content": { "application/json": { "schema": { "properties": { - "country": { - "description": "The country details", - "allOf": [ - { - "$ref": "#/components/schemas/Country" - } - ] + "object_storage_bucket": { + "$ref": "#/components/schemas/ObjectStorageBucket" } }, "required": [ - "country" + "object_storage_bucket" ] } } @@ -1557,10 +1605,16 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/ObjectStorageAccountNotProvisionedOrganizationSuspendedPermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/CountryNotFoundResponse" + "$ref": "#/components/responses/ObjectStorageAccountNotFoundObjectStorageClusterNotFoundOrganizationNotFound404Res" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -1571,75 +1625,63 @@ } } }, - "/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": { + "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": [ - "Country states" + "Buckets" ], - "parameters": [ - { - "name": "country[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The country to return states for. All 'country[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "country[iso_code2]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The country to return states for. All 'country[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "country[iso_code3]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The country to return states for. All 'country[]' params are mutually exclusive, only one can be provided." - }, + "security": [ { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } + "OAuth2": [ + "api.katapult.io/core/v1/object_storage" + ] }, { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer" - } + "Authenticator": [ + "object_storage" + ] } ], + "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 a list of all country states for a specific country", + "description": "Configure an object storage bucket with new properties", "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" + "object_storage_bucket": { + "$ref": "#/components/schemas/ObjectStorageBucket" } }, "required": [ - "pagination", - "country_states" + "object_storage_bucket" ] } } @@ -1649,56 +1691,80 @@ "$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" } } - } - }, - "/country_states/country_state": { - "get": { - "operationId": "get:country_state", - "summary": "Get country state", - "description": "Return details for a specific country state", + }, + "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": [ - "Country states" + "Buckets" ], - "parameters": [ + "security": [ { - "name": "country_state[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The country state to return. All 'country_state[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/object_storage" + ] + }, + { + "Authenticator": [ + "object_storage" + ] } ], + "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": "Return details for a specific country state", + "description": "Delete an object storage bucket", "content": { "application/json": { "schema": { "properties": { - "country_state": { - "description": "The country state details", - "allOf": [ - { - "$ref": "#/components/schemas/CountryState" - } - ] + "success": { + "type": "boolean" } }, "required": [ - "country_state" + "success" ] } } @@ -1708,65 +1774,78 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/ObjectStorageBucketDeletionErrorPermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/CountryStateNotFoundResponse" + "$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" } } - } - }, - "/currencies": { + }, "get": { - "operationId": "get:currencies", - "summary": "List currencies", - "description": "Return a list of all currencies available in Katapult", + "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": [ - "Currencies" + "Buckets" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/object_storage:read" + ] + }, + { + "Authenticator": [ + "object_storage:read" + ] + } ], "parameters": [ { - "name": "page", "in": "query", + "name": "object_storage_cluster[region]", "schema": { - "type": "integer" - } + "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." }, { - "name": "per_page", "in": "query", + "name": "bucket[name]", "schema": { - "type": "integer" - } + "type": "string" + }, + "description": "The name of the object storage bucket. \n\n All 'bucket[]' params are mutually exclusive, only one can be provided." } ], "responses": { "200": { - "description": "Return a list of all currencies available in Katapult", + "description": "Returns object storage bucket details", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "currencies": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetCurrencies200ResponseCurrencies" - }, - "description": "The list of currencies" + "object_storage_bucket": { + "$ref": "#/components/schemas/ObjectStorageBucket" } }, "required": [ - "pagination", - "currencies" + "object_storage_bucket" ] } } @@ -1776,61 +1855,79 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/ObjectStorageBucketNotFoundObjectStorageClusterNotFound404Res" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, + "500": { + "$ref": "#/components/responses/MultipleObjectStorageBucketsFoundResponse" + }, "503": { "$ref": "#/components/responses/APIAuthenticator503Response" } } } }, - "/currencies/currency": { - "get": { - "operationId": "get:currency", - "summary": "Get currency", - "description": "Return details for a specific currency", + "/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", "tags": [ - "Currencies" + "Buckets" ], - "parameters": [ + "security": [ { - "name": "currency[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The currency to return. All 'currency[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/object_storage" + ] }, { - "name": "currency[iso_code]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The currency to return. All 'currency[]' params are mutually exclusive, only one can be provided." + "Authenticator": [ + "object_storage" + ] } ], + "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": "Return details for a specific currency", + "description": "Revoke presigned URLs for all objects within an object storage bucket", "content": { "application/json": { "schema": { "properties": { - "currency": { - "description": "The currency details", - "allOf": [ - { - "$ref": "#/components/schemas/Currency" - } - ] + "success": { + "type": "boolean" } }, "required": [ - "currency" + "success" ] } } @@ -1840,81 +1937,90 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/CurrencyNotFoundResponse" + "$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" } } } }, - "/organizations/organization/dns_zones": { + "/object_storage/object_storage_cluster/buckets/bucket/object": { "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", + "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": [ - "DNS zones" + "Buckets" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/object_storage:read" + ] + }, + { + "Authenticator": [ + "object_storage:read" + ] + } ], "parameters": [ { - "name": "organization[id]", "in": "query", + "name": "object_storage_cluster[region]", "schema": { "type": "string" }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "The object storage cluster region for the bucket. \n\n All 'object_storage_cluster[]' params are mutually exclusive, only one can be provided." }, { - "name": "organization[sub_domain]", "in": "query", + "name": "bucket[name]", "schema": { "type": "string" }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } + "description": "The name of the object storage bucket. \n\n All 'bucket[]' params are mutually exclusive, only one can be provided." }, { - "name": "per_page", + "name": "path", "in": "query", "schema": { - "type": "integer" - } + "type": "string", + "description": "The name or path for the object" + }, + "description": "The name or path for the object", + "required": true } ], "responses": { "200": { - "description": "Return a list of all DNS zones", + "description": "Returns object storage object details", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "dns_zones": { - "type": "array", - "items": { - "$ref": "#/components/schemas/DNSZone" - }, - "description": "The DNS zones for the provided organization" + "object_details": { + "$ref": "#/components/schemas/ObjectStorageObject" } }, "required": [ - "pagination", - "dns_zones" + "object_details" ] } } @@ -1924,44 +2030,72 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$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" } } - }, + } + }, + "/object_storage/object_storage_cluster/buckets/bucket/presigned_url": { "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", + "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": [ - "DNS zones" + "Buckets" + ], + "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/DNSZoneArguments" + "bucket": { + "$ref": "#/components/schemas/ObjectStorageBucketLookup" }, - "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" + "path": { + "type": "string", + "description": "The name or path for the object" + }, + "properties": { + "$ref": "#/components/schemas/ObjectStorageObjectPresignedURLArguments" } }, "required": [ - "organization", + "object_storage_cluster", + "bucket", + "path", "properties" ] } @@ -1969,23 +2103,18 @@ } }, "responses": { - "201": { - "description": "Create a new DNS zone within an existing organization", + "200": { + "description": "Returns temporary url to download the object storage object", "content": { "application/json": { "schema": { "properties": { - "dns_zone": { - "description": "The new DNS zone that has been created", - "allOf": [ - { - "$ref": "#/components/schemas/DNSZone" - } - ] + "url": { + "type": "string" } }, "required": [ - "dns_zone" + "url" ] } } @@ -1995,10 +2124,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedPermissionDeniedResourceCreationRestricted403Res" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/ObjectStorageBucketNotFoundObjectStorageClusterNotFound404Res" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -2006,54 +2138,128 @@ "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, + "500": { + "$ref": "#/components/responses/MultipleObjectStorageBucketsFoundResponse" + }, "503": { "$ref": "#/components/responses/APIAuthenticator503Response" + }, + "504": { + "$ref": "#/components/responses/NetworkErrorResponse" } } } }, - "/organizations/organization/dns_zones/nameservers": { - "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", + "/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": [ - "DNS zones" + "Build" ], - "parameters": [ + "security": [ { - "name": "organization[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/virtual_machines" + ] }, { - "name": "organization[sub_domain]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + "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 a list of nameservers that should be used for DNS zones within a given organization", + "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": { - "nameservers": { + "task": { + "$ref": "#/components/schemas/PostOrganizationVirtualMachinesBuild201ResponseTask" + }, + "build": { + "description": "Deprecated, please use \"virtual_machine_build\" instead", + "allOf": [ + { + "$ref": "#/components/schemas/PostOrganizationVirtualMachinesBuild201ResponseBuild" + } + ] + }, + "virtual_machine_build": { + "$ref": "#/components/schemas/PostOrganizationVirtualMachinesBuild201ResponseVirtualMachineBuild" + }, + "hostname": { + "type": "string" + }, + "annotations": { "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/KeyValue" } } }, "required": [ - "nameservers" + "task", + "build", + "virtual_machine_build", + "hostname", + "annotations" ] } } @@ -2063,10 +2269,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedPermissionDeniedResourceCreationRestricted403Res" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/DataCenterNotFoundVirtualMachinePackageNotFoundZoneNotFound404Res" + }, + "422": { + "$ref": "#/components/responses/LocationRequiredOneSystemDiskRequiredValidationError422Res" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -2077,130 +2286,102 @@ } } }, - "/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", + "/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": [ - "DNS zones" + "Build" ], - "parameters": [ + "security": [ { - "name": "dns_zone[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "All 'dns_zone[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/virtual_machines" + ] }, { - "name": "dns_zone[name]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "All 'dns_zone[]' params are mutually exclusive, only one can be provided." - } - ], - "responses": { - "200": { - "description": "Return details for a specific 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" - }, - "429": { - "$ref": "#/components/responses/APIAuthenticator429Response" - }, - "503": { - "$ref": "#/components/responses/APIAuthenticator503Response" + "Authenticator": [ + "virtual_machines" + ] } - } - }, - "patch": { - "operationId": "patch:dns_zone", - "summary": "Update DNS zone", - "description": "Update properties for a DNS zone\n## Scopes\n- `dns`\n", - "tags": [ - "DNS zones" ], "requestBody": { "content": { "application/json": { "schema": { "properties": { - "dns_zone": { - "$ref": "#/components/schemas/DNSZoneLookup" + "organization": { + "$ref": "#/components/schemas/OrganizationLookup" }, - "properties": { - "$ref": "#/components/schemas/DNSZoneArguments" + "xml": { + "type": "string" + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } } }, "required": [ - "dns_zone", - "properties" + "organization", + "xml" ] } } } }, "responses": { - "200": { - "description": "Update properties for a DNS zone", + "201": { + "description": "Builds a new virtual machine by receiving a virtual machine spec document", "content": { "application/json": { "schema": { "properties": { - "dns_zone": { - "description": "The DNS zones for the provided organization", + "task": { + "$ref": "#/components/schemas/PostOrganizationVirtualMachinesBuildFromSpec201ResponseTask" + }, + "build": { + "description": "Deprecated, please use \"virtual_machine_build\" instead", "allOf": [ { - "$ref": "#/components/schemas/DNSZone" + "$ref": "#/components/schemas/PostOrganizationVirtualMachinesBuildFromSpec201ResponseBuild" } ] + }, + "virtual_machine_build": { + "$ref": "#/components/schemas/PostOrganizationVirtualMachinesBuildFromSpec201ResponseVirtualMachineBuild" + }, + "hostname": { + "type": "string" + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } } }, "required": [ - "dns_zone" + "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/DNSZoneNotFoundResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -2212,43 +2393,60 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, - "delete": { - "operationId": "delete:dns_zone", - "summary": "Delete DNS zone", - "description": "Delete a DNS zone\n## Scopes\n- `dns`\n", + } + }, + "/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", "tags": [ - "DNS zones" + "Build" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "dns_zone": { - "$ref": "#/components/schemas/DNSZoneLookup" - } - }, - "required": [ - "dns_zone" - ] - } - } + "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_build[id]", + "schema": { + "type": "string" + }, + "description": "All 'virtual_machine_build[]' params are mutually exclusive, only one can be provided." + } + ], "responses": { "200": { - "description": "Delete a DNS zone", + "description": "Return virtual machine build information", "content": { "application/json": { "schema": { "properties": { - "deleted": { - "type": "boolean" + "virtual_machine_build": { + "$ref": "#/components/schemas/GetVirtualMachinesBuildsVirtualMachineBuild200ResponseVirtualMachineBuild" + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } } }, "required": [ - "deleted" + "virtual_machine_build", + "annotations" ] } } @@ -2261,7 +2459,7 @@ "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/DNSZoneNotFoundResponse" + "$ref": "#/components/responses/VirtualMachineBuildNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -2272,48 +2470,86 @@ } } }, - "/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", + "/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", "tags": [ - "DNS zones" + "Certificates" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "dns_zone": { - "$ref": "#/components/schemas/DNSZoneLookup" - } - }, - "required": [ - "dns_zone" - ] - } - } + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/certificates", + "api.katapult.io/core/v1/certificates:read" + ] + }, + { + "Authenticator": [ + "certificates", + "certificates: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." + }, + { + "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": "Attempt to verify the nameservers for a given DNS zone", + "description": "Provides a full list of certificates", "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" + }, + "certificates": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetOrganizationCertificates200ResponseCertificates" + } } }, "required": [ - "dns_zone" + "pagination", + "certificates" ] } } @@ -2323,13 +2559,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" }, "404": { - "$ref": "#/components/responses/DNSZoneNotFoundResponse" - }, - "422": { - "$ref": "#/components/responses/DNSZoneNotVerifiedResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -2340,50 +2573,54 @@ } } }, - "/dns_zones/dns_zone/records": { + "/certificates/certificate": { "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", + "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": [ - "DNS zones", - "Records" + "Certificates" ], - "parameters": [ + "security": [ { - "name": "dns_zone[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "All 'dns_zone[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/certificates", + "api.katapult.io/core/v1/certificates:read" + ] }, { - "name": "dns_zone[name]", + "Authenticator": [ + "certificates", + "certificates:read" + ] + } + ], + "parameters": [ + { "in": "query", + "name": "certificate[id]", "schema": { "type": "string" }, - "description": "All 'dns_zone[]' params are mutually exclusive, only one can be provided." + "description": "All 'certificate[]' params are mutually exclusive, only one can be provided." } ], "responses": { "200": { - "description": "Return a list of all DNS records in a zone", + "description": "Return details for a specific certificate", "content": { "application/json": { "schema": { "properties": { - "dns_records": { + "certificate": { "type": "array", "items": { - "$ref": "#/components/schemas/DNSRecord" - }, - "description": "The DNS record for the provided zone" + "$ref": "#/components/schemas/Certificate" + } } }, "required": [ - "dns_records" + "certificate" ] } } @@ -2393,10 +2630,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/DNSZoneNotFoundResponse" + "$ref": "#/components/responses/CertificateNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -2405,48 +2645,59 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, + } + }, + "/virtual_machines/virtual_machine/console_sessions": { "post": { - "operationId": "post:dns_zone_records", - "summary": "Create DNS record", - "description": "Create a new DNS record\n## Scopes\n- `dns`\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", - "Records" + "Console" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/virtual_machines", + "api.katapult.io/core/v1/virtual_machines:console" + ] + }, + { + "Authenticator": [ + "virtual_machines", + "virtual_machines:console" + ] + } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { - "dns_zone": { - "$ref": "#/components/schemas/DNSZoneLookup" - }, - "properties": { - "$ref": "#/components/schemas/DNSRecordArguments" + "virtual_machine": { + "$ref": "#/components/schemas/VirtualMachineLookup" } }, "required": [ - "dns_zone", - "properties" + "virtual_machine" ] } } } }, "responses": { - "200": { - "description": "Create a new DNS record", + "201": { + "description": "Creates a new console session which can be opened in a browser", "content": { "application/json": { "schema": { "properties": { - "dns_record": { - "$ref": "#/components/schemas/DNSRecord" + "console_session": { + "$ref": "#/components/schemas/PostVirtualMachineConsoleSessions201ResponseConsoleSession" } }, "required": [ - "dns_record" + "console_session" ] } } @@ -2459,7 +2710,10 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/DNSZoneNotFoundResponse" + "$ref": "#/components/responses/VirtualMachineNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashVirtualMachineMustBeStarted406Res" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -2473,43 +2727,57 @@ } } }, - "/dns_records/dns_record": { + "/countries": { "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", + "operationId": "get:countries", + "summary": "List countries", + "description": "Return a list of all countries available in Katapult", "tags": [ - "DNS zones", - "Records" + "Countries" ], "parameters": [ { - "name": "dns_record[id]", + "name": "page", "in": "query", "schema": { - "type": "string" + "type": "integer", + "default": 1, + "minimum": 1 }, - "description": "All 'dns_record[]' 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", + "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 details for a specific DNS record", + "description": "Return a list of all countries available in Katapult", "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" + }, + "countries": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetCountries200ResponseCountries" + }, + "description": "The list of countries" } }, "required": [ - "dns_record" + "pagination", + "countries" ] } } @@ -2521,9 +2789,6 @@ "403": { "$ref": "#/components/responses/APIAuthenticator403Response" }, - "404": { - "$ref": "#/components/responses/DNSRecordNotFoundResponse" - }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, @@ -2531,53 +2796,60 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, - "patch": { - "operationId": "patch:dns_record", - "summary": "Update DNS record", - "description": "Update a DNS record properties\n## Scopes\n- `dns`\n", + } + }, + "/countries/country": { + "get": { + "operationId": "get:country", + "summary": "Get country", + "description": "Return details for a specific country", "tags": [ - "DNS zones", - "Records" + "Countries" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "dns_record": { - "$ref": "#/components/schemas/DNSRecordLookup" - }, - "properties": { - "$ref": "#/components/schemas/DNSRecordArguments" - } - }, - "required": [ - "dns_record", - "properties" - ] - } - } + "parameters": [ + { + "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." + }, + { + "in": "query", + "name": "country[iso_code2]", + "schema": { + "type": "string" + }, + "description": "The country to return. \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. \n\n All 'country[]' params are mutually exclusive, only one can be provided." } - }, + ], "responses": { "200": { - "description": "Update a DNS record properties", + "description": "Return details for a specific country", "content": { "application/json": { "schema": { "properties": { - "dns_record": { - "description": "The DNS record that has been updated", + "country": { + "description": "The country details", "allOf": [ { - "$ref": "#/components/schemas/DNSRecord" + "$ref": "#/components/schemas/Country" } ] } }, "required": [ - "dns_record" + "country" ] } } @@ -2590,10 +2862,7 @@ "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/DNSRecordNotFoundResponse" - }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/CountryNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -2602,44 +2871,83 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, - "delete": { - "operationId": "delete:dns_record", - "summary": "Delete DNS record", - "description": "Delete a DNS record\n## Scopes\n- `dns`\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", - "Records" + "Country states" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "dns_record": { - "$ref": "#/components/schemas/DNSRecordLookup" - } - }, - "required": [ - "dns_record" - ] - } - } + "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." + }, + { + "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": "Delete a DNS record", + "description": "Return a list of all country states for a specific country", "content": { "application/json": { "schema": { "properties": { - "deleted": { - "type": "boolean" + "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": [ - "deleted" + "pagination", + "country_states" ] } } @@ -2652,7 +2960,7 @@ "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/DNSRecordNotFoundResponse" + "$ref": "#/components/responses/CountryNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -2663,33 +2971,42 @@ } } }, - "/data_centers": { + "/country_states/country_state": { "get": { - "operationId": "get:data_centers", - "summary": "List data centers", - "description": "Provides a full list of all data centers", + "operationId": "get:country_state", + "summary": "Get country state", + "description": "Return details for a specific country state", "tags": [ - "Data centers" + "Country states" ], "parameters": [ - + { + "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." + } ], "responses": { "200": { - "description": "Provides a full list of all data centers", + "description": "Return details for a specific country state", "content": { "application/json": { "schema": { "properties": { - "data_centers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetDataCenters200ResponseDataCenters" - } + "country_state": { + "description": "The country state details", + "allOf": [ + { + "$ref": "#/components/schemas/CountryState" + } + ] } }, "required": [ - "data_centers" + "country_state" ] } } @@ -2701,6 +3018,9 @@ "403": { "$ref": "#/components/responses/APIAuthenticator403Response" }, + "404": { + "$ref": "#/components/responses/CountryStateNotFoundResponse" + }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, @@ -2710,45 +3030,57 @@ } } }, - "/data_centers/data_center": { + "/currencies": { "get": { - "operationId": "get:data_center", - "summary": "Get data center", - "description": "Provide details for a specific data center", + "operationId": "get:currencies", + "summary": "List currencies", + "description": "Return a list of all currencies available in Katapult", "tags": [ - "Data centers" + "Currencies" ], "parameters": [ { - "name": "data_center[id]", + "name": "page", "in": "query", "schema": { - "type": "string" + "type": "integer", + "default": 1, + "minimum": 1 }, - "description": "All 'data_center[]' 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": "data_center[permalink]", + "name": "per_page", "in": "query", "schema": { - "type": "string" + "type": "integer", + "default": 30, + "minimum": 1 }, - "description": "All 'data_center[]' 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": "Provide details for a specific data center", + "description": "Return a list of all currencies available in Katapult", "content": { "application/json": { "schema": { "properties": { - "data_center": { - "$ref": "#/components/schemas/GetDataCenter200ResponseDataCenter" + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "currencies": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetCurrencies200ResponseCurrencies" + }, + "description": "The list of currencies" } }, "required": [ - "data_center" + "pagination", + "currencies" ] } } @@ -2760,9 +3092,6 @@ "403": { "$ref": "#/components/responses/APIAuthenticator403Response" }, - "404": { - "$ref": "#/components/responses/DataCenterNotFoundResponse" - }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, @@ -2772,50 +3101,50 @@ } } }, - "/data_centers/data_center/default_network": { + "/currencies/currency": { "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:currency", + "summary": "Get currency", + "description": "Return details for a specific currency", "tags": [ - "Data centers" + "Currencies" ], "parameters": [ { - "name": "data_center[id]", "in": "query", + "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." }, { - "name": "data_center[permalink]", "in": "query", + "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 of default network for a data center", + "description": "Return details for a specific currency", "content": { "application/json": { "schema": { "properties": { - "network": { - "description": "The details for the requested network", + "currency": { + "description": "The currency details", "allOf": [ { - "$ref": "#/components/schemas/GetDataCenterDefaultNetwork200ResponseNetwork" + "$ref": "#/components/schemas/Currency" } ] } }, "required": [ - "network" + "currency" ] } } @@ -2828,7 +3157,7 @@ "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/DataCenterNotFoundResponse" + "$ref": "#/components/responses/CurrencyNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -2839,49 +3168,69 @@ } } }, - "/organizations/organization/disk_io_profiles": { + "/organizations/organization/dns_zones": { "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", + "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": [ - "Disk IO profiles" + "DNS zones" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/dns", + "api.katapult.io/core/v1/dns:read" + ] + }, + { + "Authenticator": [ + "dns", + "dns:read" + ] + } ], "parameters": [ { - "name": "organization[id]", "in": "query", + "name": "organization[id]", "schema": { "type": "string" }, - "description": "The organization to find disk IO profiles for. All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." }, { - "name": "organization[sub_domain]", "in": "query", + "name": "organization[sub_domain]", "schema": { "type": "string" }, - "description": "The organization to find disk IO profiles for. 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", "in": "query", "schema": { - "type": "integer" - } + "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" - } + "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 disk IO profiles available to this organization", + "description": "Return a list of all DNS zones", "content": { "application/json": { "schema": { @@ -2889,17 +3238,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" ] } } @@ -2909,11 +3258,97 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/OrganizationNotFoundResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + }, + "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": [ + "DNS zones" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/dns" + ] + }, + { + "Authenticator": [ + "dns" + ] + } + ], + "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": { + "201": { + "description": "Create a new DNS zone within an existing organization", + "content": { + "application/json": { + "schema": { + "properties": { + "dns_zone": { + "description": "The new DNS zone that has been created", + "allOf": [ + { + "$ref": "#/components/schemas/DNSZone" + } + ] + } + }, + "required": [ + "dns_zone" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/OrganizationNotActivatedPermissionDeniedResourceCreationRestricted403Res" }, "404": { "$ref": "#/components/responses/OrganizationNotFoundResponse" }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" + }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, @@ -2923,67 +3358,62 @@ } } }, - "/organizations/organization/disk_backup_policies": { + "/organizations/organization/dns_zones/nameservers": { "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", + "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/dns", + "api.katapult.io/core/v1/dns:read" + ] + }, + { + "Authenticator": [ + "dns", + "dns:read" + ] + } ], "parameters": [ { - "name": "organization[id]", "in": "query", + "name": "organization[id]", "schema": { "type": "string" }, - "description": "The organization to return disk backup policies for. All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." }, { - "name": "organization[sub_domain]", "in": "query", + "name": "organization[sub_domain]", "schema": { "type": "string" }, - "description": "The organization to return disk backup policies for. All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } - }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer" - } + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." } ], "responses": { "200": { - "description": "Returns a list of all disk backup policies for a given organization", + "description": "Return a list of nameservers that should be used for DNS zones within a given organization", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "disk_backup_policies": { + "nameservers": { "type": "array", "items": { - "$ref": "#/components/schemas/GetOrganizationDiskBackupPolicies200ResponseDiskBackupPolicies" - }, - "description": "The disk backup policies for the provided organization" + "type": "string" + } } }, "required": [ - "pagination", - "disk_backup_policies" + "nameservers" ] } } @@ -3007,76 +3437,64 @@ } } }, - "/virtual_machines/virtual_machine/disk_backup_policies": { + "/dns_zones/dns_zone": { "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", + "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": [ - "Disk backup policies" + "DNS zones" ], - "parameters": [ + "security": [ { - "name": "virtual_machine[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The virtual machine to return disk backup policies for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/dns", + "api.katapult.io/core/v1/dns:read" + ] }, { - "name": "virtual_machine[fqdn]", + "Authenticator": [ + "dns", + "dns:read" + ] + } + ], + "parameters": [ + { "in": "query", + "name": "dns_zone[id]", "schema": { "type": "string" }, - "description": "The virtual machine to return disk backup policies for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided." + "description": "All 'dns_zone[]' params are mutually exclusive, only one can be provided." }, { - "name": "include_disks", "in": "query", + "name": "dns_zone[name]", "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" + "type": "string" }, - "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" - } - }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer" - } + "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" ] } } @@ -3086,13 +3504,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" @@ -3102,27 +3517,39 @@ } } }, - "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", + "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/dns" + ] + }, + { + "Authenticator": [ + "dns" + ] + } ], "requestBody": { "content": { "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" ] } @@ -3131,22 +3558,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" ] } } @@ -3156,13 +3583,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" @@ -3174,61 +3598,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", + }, + "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" ], - "parameters": [ - { - "name": "disk[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The disk to return disk backup policies for. All 'disk[]' params are mutually exclusive, only one can be provided." - }, + "security": [ { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } + "OAuth2": [ + "api.katapult.io/core/v1/dns" + ] }, { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer" - } + "Authenticator": [ + "dns" + ] } ], + "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" ] } } @@ -3238,13 +3656,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" @@ -3253,29 +3668,39 @@ "$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", + "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/dns" + ] + }, + { + "Authenticator": [ + "dns" + ] + } ], "requestBody": { "content": { "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" ] } } @@ -3283,22 +3708,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" ] } } @@ -3308,16 +3733,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" @@ -3328,42 +3750,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", + "operationId": "get:data_centers", + "summary": "List data centers", + "description": "Provides a full list of all data centers", "tags": [ - "Disk backup policies" + "Data centers" ], "parameters": [ - { - "name": "disk_backup_policy[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The disk backup policy to get information for. 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" ] } } @@ -3375,12 +3788,6 @@ "403": { "$ref": "#/components/responses/APIAuthenticator403Response" }, - "404": { - "$ref": "#/components/responses/DiskBackupPolicyNotFoundResponse" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" - }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, @@ -3388,48 +3795,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", + } + }, + "/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" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "disk_backup_policy": { - "$ref": "#/components/schemas/DiskBackupPolicyLookup" - } - }, - "required": [ - "disk_backup_policy" - ] - } - } + "parameters": [ + { + "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." } - }, + ], "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" ] } } @@ -3439,13 +3845,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" @@ -3454,52 +3857,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", + } + }, + "/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" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "disk_backup_policy": { - "$ref": "#/components/schemas/DiskBackupPolicyLookup" - }, - "properties": { - "$ref": "#/components/schemas/DiskBackupPolicyArguments" - } - }, - "required": [ - "disk_backup_policy", - "properties" - ] - } - } + "parameters": [ + { + "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." } - }, + ], "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" ] } } @@ -3509,16 +3912,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" @@ -3529,69 +3926,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", + "/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" ], - "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" - ] - } - } + "parameters": [ + { + "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." + }, + { + "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." } - }, + ], "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" @@ -3602,71 +4016,87 @@ } } }, - "/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", + "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_backup_policies", + "api.katapult.io/core/v1/disk_backup_policies:read" + ] + }, + { + "Authenticator": [ + "disk_backup_policies", + "disk_backup_policies:read" + ] + } ], "parameters": [ { - "name": "disk_template[id]", "in": "query", + "name": "organization[id]", "schema": { "type": "string" }, - "description": "The disk template to return the versions for. 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": "disk_template[permalink]", "in": "query", + "name": "organization[sub_domain]", "schema": { "type": "string" }, - "description": "The disk template to return the versions for. 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", "in": "query", "schema": { - "type": "integer" - } + "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" - } + "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 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" ] } } @@ -3676,10 +4106,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" @@ -3690,42 +4120,96 @@ } } }, - "/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", + "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_backup_policies", + "api.katapult.io/core/v1/disk_backup_policies:read" + ] + }, + { + "Authenticator": [ + "disk_backup_policies", + "disk_backup_policies:read" + ] + } ], "parameters": [ { - "name": "disk_template_version[id]", "in": "query", + "name": "virtual_machine[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." + }, + { + "in": "query", + "name": "virtual_machine[fqdn]", "schema": { "type": "string" }, - "description": "The disk template version to return. All 'disk_template_version[]' params are mutually exclusive, only one can be provided." + "description": "The virtual machine to return disk backup policies for. \n\n All 'virtual_machine[]' params are mutually exclusive, only one can be provided." + }, + { + "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": "Return details for a specific disk template version", + "description": "Returns a list of all disk backup policies for a given virtual machine", "content": { "application/json": { "schema": { "properties": { - "disk_template_version": { - "description": "The disk template version details", - "allOf": [ - { - "$ref": "#/components/schemas/GetDiskTemplateVersion200ResponseDiskTemplateVersion" - } - ] + "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": [ - "disk_template_version" + "pagination", + "disk_backup_policies" ] } } @@ -3735,10 +4219,13 @@ "$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" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -3747,48 +4234,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", + }, + "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" ], - "parameters": [ + "security": [ { - "name": "disk_template_version[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The disk template version to return. All 'disk_template_version[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/disk_backup_policies" + ] + }, + { + "Authenticator": [ + "disk_backup_policies" + ] } ], + "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" ] } } @@ -3798,10 +4301,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" @@ -3812,66 +4321,61 @@ } } }, - "/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", + "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" ], - "parameters": [ - { - "name": "organization[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The organization to find disk templates for. All 'organization[]' params are mutually exclusive, only one can be provided." - }, + "security": [ { - "name": "organization[sub_domain]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The organization to find disk templates for. All 'organization[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/disk_backup_policies", + "api.katapult.io/core/v1/disk_backup_policies:read" + ] }, { - "name": "include_universal", - "in": "query", - "schema": { - "type": "boolean", - "description": "Whether or not to include universal templates" - }, - "description": "Whether or not to include universal templates" - }, + "Authenticator": [ + "disk_backup_policies", + "disk_backup_policies:read" + ] + } + ], + "parameters": [ { - "name": "operating_system[id]", "in": "query", + "name": "disk[id]", "schema": { "type": "string" }, - "description": "An operating system to use to filter disk templates. All 'operating_system[]' params are mutually exclusive, only one can be provided." + "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" - } + "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" - } + "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 disk templates owned by an organization", + "description": "Returns a list of all disk backup policies for a given disk", "content": { "application/json": { "schema": { @@ -3879,17 +4383,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" ] } } @@ -3899,10 +4403,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" @@ -3911,52 +4418,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", + }, + "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" ], - "parameters": [ + "security": [ { - "name": "disk_template[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The disk template to return. All 'disk_template[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/disk_backup_policies" + ] }, { - "name": "disk_template[permalink]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The disk template to return. All 'disk_template[]' params are mutually exclusive, only one can be provided." + "Authenticator": [ + "disk_backup_policies" + ] } ], + "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" ] } } @@ -3966,10 +4485,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" @@ -3980,83 +4505,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", + "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" ], - "parameters": [ - { - "name": "organization[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The organization to find disks for. All 'organization[]' params are mutually exclusive, only one can be provided." - }, + "security": [ { - "name": "organization[sub_domain]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The organization to find disks for. All 'organization[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/disk_backup_policies", + "api.katapult.io/core/v1/disk_backup_policies:read" + ] }, { - "name": "annotations[key]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided." - }, + "Authenticator": [ + "disk_backup_policies", + "disk_backup_policies:read" + ] + } + ], + "parameters": [ { - "name": "annotations[value]", "in": "query", + "name": "disk_backup_policy[id]", "schema": { "type": "string" }, - "description": "An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } - }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer" - } + "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": "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" ] } } @@ -4066,10 +4564,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" @@ -4079,141 +4580,59 @@ } } }, - "post": { - "operationId": "post:organization_disks", - "summary": "Create disk", - "description": "Create a new disk for a given organization.\n## Scopes\n- `disks`\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/disk_backup_policies" + ] + }, + { + "Authenticator": [ + "disk_backup_policies" + ] + } ], "requestBody": { "content": { "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.", - "content": { - "application/json": { - "schema": { - "properties": { - "disk": { - "description": "The disk that has been created.", - "allOf": [ - { - "$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", - "annotations" - ] - } - } - } - }, - "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" - }, - "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" - }, - "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" - }, - "406": { - "$ref": "#/components/responses/TaskQueueingErrorResponse" - }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" - }, - "429": { - "$ref": "#/components/responses/APIAuthenticator429Response" - }, - "503": { - "$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", - "tags": [ - "Disks" - ], - "parameters": [ - { - "name": "disk[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The disk to return. All 'disk[]' params are mutually exclusive, only one can be provided." - } - ], "responses": { "200": { - "description": "Return details for a specific disk", + "description": "Deletes a disk backup policy and moves it to the trash", "content": { "application/json": { "schema": { "properties": { - "disk": { - "description": "The disk details", + "disk_backup_policy": { + "description": "The disk backup policy that has been destroyed", "allOf": [ { - "$ref": "#/components/schemas/GetDisk200ResponseDisk" + "$ref": "#/components/schemas/DeleteDiskBackupPolicy200ResponseDiskBackupPolicy" } ] - }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } } }, "required": [ - "disk", - "annotations" + "disk_backup_policy" ] } } @@ -4223,10 +4642,10 @@ "$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" @@ -4240,32 +4659,38 @@ } }, "patch": { - "operationId": "patch:disk", - "summary": "Update disk", - "description": "Update a disk for a given organization.\n## Scopes\n- `disks`\n", + "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/disk_backup_policies" + ] + }, + { + "Authenticator": [ + "disk_backup_policies" + ] + } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { - "disk": { - "$ref": "#/components/schemas/DiskLookup" + "disk_backup_policy": { + "$ref": "#/components/schemas/DiskBackupPolicyLookup" }, "properties": { - "$ref": "#/components/schemas/DiskArguments" - }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } + "$ref": "#/components/schemas/DiskBackupPolicyArguments" } }, "required": [ - "disk", + "disk_backup_policy", "properties" ] } @@ -4274,30 +4699,22 @@ }, "responses": { "200": { - "description": "Update a disk for a given organization.", + "description": "Updates the disk backup policy with the provided details", "content": { "application/json": { "schema": { "properties": { - "disk": { - "description": "The disk that has been updated.", + "disk_backup_policy": { + "description": "The disk backup policy that has been updated", "allOf": [ { - "$ref": "#/components/schemas/PatchDisk200ResponseDisk" + "$ref": "#/components/schemas/PatchDiskBackupPolicy200ResponseDiskBackupPolicy" } ] - }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - }, - "description": "Annotations for this disk" } }, "required": [ - "disk", - "annotations" + "disk_backup_policy" ] } } @@ -4310,13 +4727,13 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/DiskNotFoundResponse" + "$ref": "#/components/responses/DiskBackupPolicyNotFoundResponse" }, "406": { "$ref": "#/components/responses/ObjectInTrashResponse" }, "422": { - "$ref": "#/components/responses/UnassignedDiskValidationError422Res" + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -4325,25 +4742,44 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, + } + }, + "/disk_backup_policies/disk_backup_policy/schedule": { "delete": { - "operationId": "delete:disk", - "summary": "Delete disk", - "description": "Deletes a disk and moves it to the trash\n## Scopes\n- `disks`\n", + "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/disk_backup_policies" + ] + }, + { + "Authenticator": [ + "disk_backup_policies" + ] + } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { - "disk": { - "$ref": "#/components/schemas/DiskLookup" + "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" + "disk_backup_policy", + "timestamp" ] } } @@ -4351,46 +4787,39 @@ }, "responses": { "200": { - "description": "Deletes a disk and moves it to the trash", + "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 move to the trash.", + "disk_backup_policy": { + "description": "The disk backup policy that has been scheduled for deletion", "allOf": [ { - "$ref": "#/components/schemas/DeleteDisk200ResponseDisk" + "$ref": "#/components/schemas/DeleteDiskBackupPolicySchedule200ResponseDiskBackupPolicy" } ] - }, - "trash_object": { - "$ref": "#/components/schemas/TrashObject" } }, "required": [ - "disk", - "trash_object" + "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/ValidationErrorResponse" - }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, @@ -4400,52 +4829,91 @@ } } }, - "/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", + "/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" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "disk": { - "$ref": "#/components/schemas/DiskLookup" - }, - "virtual_machine": { - "$ref": "#/components/schemas/VirtualMachineLookup" - } - }, - "required": [ - "disk", - "virtual_machine" - ] - } - } + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/disk_templates", + "api.katapult.io/core/v1/disk_templates:read" + ] + }, + { + "Authenticator": [ + "disk_templates", + "disk_templates:read" + ] } - }, + ], + "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": "Assign a disk to a virtual machine.", + "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 assigned to a virtual machine.", - "allOf": [ - { - "$ref": "#/components/schemas/PostDiskAssign200ResponseDisk" - } - ] + "disk_template": { + "$ref": "#/components/schemas/GetDiskTemplateVersions200ResponseDiskTemplate" + }, + "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" + "disk_template", + "pagination", + "disk_template_versions" ] } } @@ -4455,16 +4923,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/DiskTemplateNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -4475,48 +4937,56 @@ } } }, - "/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", + "/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" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "disk": { - "$ref": "#/components/schemas/DiskLookup" - } - }, - "required": [ - "disk" - ] - } - } + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/disk_templates", + "api.katapult.io/core/v1/disk_templates:read" + ] + }, + { + "Authenticator": [ + "disk_templates", + "disk_templates:read" + ] } - }, + ], + "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." + } + ], "responses": { "200": { - "description": "Unassign a disk from a virtual machine.", + "description": "Return details for a specific disk template version", "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/GetDiskTemplateVersion200ResponseDiskTemplateVersion" } ] } }, "required": [ - "disk" + "disk_template_version" ] } } @@ -4526,16 +4996,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" @@ -4546,52 +5010,60 @@ } } }, - "/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", + "/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" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "disk": { - "$ref": "#/components/schemas/DiskLookup" - } - }, - "required": [ - "disk" - ] - } - } + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/disk_templates", + "api.katapult.io/core/v1/disk_templates:read" + ] + }, + { + "Authenticator": [ + "disk_templates", + "disk_templates:read" + ] } - }, + ], + "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." + } + ], "responses": { "200": { - "description": "Attach a disk to its virtual machine.", + "description": "Return details provided by this template's specification", "content": { "application/json": { "schema": { "properties": { - "disk": { - "description": "The disk that will be attached to its virtual machine.", + "disk_template_version": { + "description": "The disk template version details", "allOf": [ { - "$ref": "#/components/schemas/PostDiskAttach200ResponseDisk" + "$ref": "#/components/schemas/GetDiskTemplateVersionSpec200ResponseDiskTemplateVersion" } ] }, - "task": { - "$ref": "#/components/schemas/Task" + "spec": { + "$ref": "#/components/schemas/TemplateSpec" } }, "required": [ - "disk", - "task" + "disk_template_version", + "spec" ] } } @@ -4601,16 +5073,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/DiskTemplateVersionNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -4621,134 +5087,104 @@ } } }, - "/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", + "/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" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "disk": { - "$ref": "#/components/schemas/DiskLookup" - } - }, - "required": [ - "disk" - ] - } - } - } - }, - "responses": { - "200": { - "description": "Detach a disk from its virtual machine.", - "content": { - "application/json": { - "schema": { - "properties": { - "disk": { - "description": "The disk that will be detached from its virtual machine.", - "allOf": [ - { - "$ref": "#/components/schemas/PostDiskDetach200ResponseDisk" - } - ] - }, - "task": { - "$ref": "#/components/schemas/Task" - } - }, - "required": [ - "disk", - "task" - ] - } - } - } - }, - "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" - }, - "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/disk_templates", + "api.katapult.io/core/v1/disk_templates:read" + ] }, - "404": { - "$ref": "#/components/responses/DiskNotFoundResponse" + { + "Authenticator": [ + "disk_templates", + "disk_templates: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." }, - "406": { - "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" + { + "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." }, - "422": { - "$ref": "#/components/responses/UnassignedDiskResponse" + { + "name": "include_universal", + "in": "query", + "schema": { + "type": "boolean", + "description": "Whether or not to include universal templates" + }, + "description": "Whether or not to include universal templates" }, - "429": { - "$ref": "#/components/responses/APIAuthenticator429Response" + { + "in": "query", + "name": "operating_system[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." }, - "503": { - "$ref": "#/components/responses/APIAuthenticator503Response" + { + "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." } - } - } - }, - "/disks/disk/resize": { - "put": { - "operationId": "put:disk_resize", - "summary": "Resize disk", - "description": "Resize a disk.\n## Scopes\n- `disks`\n", - "tags": [ - "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": "Resize a disk.", + "description": "Return a list of all disk templates 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_templates": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetOrganizationDiskTemplates200ResponseDiskTemplates" + }, + "description": "The list of disk templates" } }, "required": [ - "disk", - "task" + "pagination", + "disk_templates" ] } } @@ -4758,16 +5194,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/OperatingSystemNotFoundOrganizationNotFound404Res" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -4778,56 +5208,64 @@ } } }, - "/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", + "/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" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "disk": { - "$ref": "#/components/schemas/DiskLookup" - }, - "io_profile": { - "$ref": "#/components/schemas/DiskIOProfileLookup" - } - }, - "required": [ - "disk", - "io_profile" - ] - } - } + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/disk_templates", + "api.katapult.io/core/v1/disk_templates:read" + ] + }, + { + "Authenticator": [ + "disk_templates", + "disk_templates:read" + ] } - }, + ], + "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": "Change disk IO profile.", + "description": "Return details for a specific disk template", "content": { "application/json": { "schema": { "properties": { - "disk": { - "description": "The disk that has been updated.", + "disk_template": { + "description": "The disk template details", "allOf": [ { - "$ref": "#/components/schemas/PutDiskIOProfile200ResponseDisk" + "$ref": "#/components/schemas/GetDiskTemplate200ResponseDiskTemplate" } ] - }, - "task": { - "$ref": "#/components/schemas/Task" } }, "required": [ - "disk", - "task" + "disk_template" ] } } @@ -4837,13 +5275,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/DiskIOProfileNotFoundDiskNotFound404Res" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" + "$ref": "#/components/responses/DiskTemplateNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -4854,49 +5289,91 @@ } } }, - "/virtual_machines/virtual_machine/disks": { + "/organizations/organization/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", + "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:read" + ] + }, + { + "Authenticator": [ + "disks", + "disks:read" + ] + } + ], "parameters": [ { - "name": "virtual_machine[id]", "in": "query", + "name": "organization[id]", "schema": { "type": "string" }, - "description": "The virtual machine to find disks for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided." + "description": "The organization to find disks for. \n\n All 'organization[]' params are mutually exclusive, only one can be provided." }, { - "name": "virtual_machine[fqdn]", "in": "query", + "name": "organization[sub_domain]", "schema": { "type": "string" }, - "description": "The virtual machine to find disks for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided." + "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" - } + "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" - } + "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 disks for a given virtual machine", + "description": "Return a list of all disks owned by an organization", "content": { "application/json": { "schema": { @@ -4904,17 +5381,17 @@ "pagination": { "$ref": "#/components/schemas/PaginationObject" }, - "disks": { + "disk": { "type": "array", "items": { - "$ref": "#/components/schemas/GetVirtualMachineDisks200ResponseDisks" + "$ref": "#/components/schemas/GetOrganizationDisks200ResponseDisk" }, "description": "The list of disks" } }, "required": [ "pagination", - "disks" + "disk" ] } } @@ -4924,13 +5401,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" }, "404": { - "$ref": "#/components/responses/VirtualMachineNotFoundResponse" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -4939,113 +5413,25 @@ "$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", + }, + "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": [ - "File storage volumes" + "Disks" ], - "parameters": [ + "security": [ { - "name": "organization[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The organization to return all file storage volumes for. All 'organization[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/disks" + ] }, { - "name": "organization[sub_domain]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The organization to return all file storage volumes for. All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "annotations[key]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "annotations[value]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } - }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer" - } - } - ], - "responses": { - "200": { - "description": "Returns a list of all file storage volumes for a given organization", - "content": { - "application/json": { - "schema": { - "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "file_storage_volumes": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetOrganizationFileStorageVolumes200ResponseFileStorageVolumes" - }, - "description": "A list of all file storage volumes for the given organization." - } - }, - "required": [ - "pagination", - "file_storage_volumes" - ] - } - } - } - }, - "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" + "Authenticator": [ + "disks" + ] } - } - }, - "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", - "tags": [ - "File storage volumes" ], "requestBody": { "content": { @@ -5056,7 +5442,7 @@ "$ref": "#/components/schemas/OrganizationLookup" }, "properties": { - "$ref": "#/components/schemas/FileStorageVolumeArguments" + "$ref": "#/components/schemas/DiskArguments" }, "annotations": { "type": "array", @@ -5075,28 +5461,33 @@ }, "responses": { "201": { - "description": "Create a new file storage volume for a given organization.", + "description": "Create a new disk for a given organization.", "content": { "application/json": { "schema": { "properties": { - "file_storage_volume": { - "description": "The file storage volume.", + "disk": { + "description": "The disk that has been created.", "allOf": [ { - "$ref": "#/components/schemas/PostOrganizationFileStorageVolumes201ResponseFileStorageVolume" + "$ref": "#/components/schemas/PostOrganizationDisks201ResponseDisk" } ] }, + "task": { + "$ref": "#/components/schemas/Task" + }, "annotations": { "type": "array", "items": { "$ref": "#/components/schemas/KeyValue" - } + }, + "description": "Annotations for this disk" } }, "required": [ - "file_storage_volume", + "disk", + "task", "annotations" ] } @@ -5107,11 +5498,14 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedPermissionDeniedResourceCreationRestricted403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" }, "404": { "$ref": "#/components/responses/OrganizationNotFoundResponse" }, + "406": { + "$ref": "#/components/responses/TaskQueueingErrorResponse" + }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" }, @@ -5124,36 +5518,50 @@ } } }, - "/file_storage_volumes/file_storage_volume": { + "/disks/disk": { "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", + "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": [ - "File storage volumes" + "Disks" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/disks", + "api.katapult.io/core/v1/disks:read" + ] + }, + { + "Authenticator": [ + "disks", + "disks:read" + ] + } ], "parameters": [ { - "name": "file_storage_volume[id]", "in": "query", + "name": "disk[id]", "schema": { "type": "string" }, - "description": "The file storage volume to return. All 'file_storage_volume[]' params are mutually exclusive, only one can be provided." + "description": "The disk to return. \n\n All 'disk[]' params are mutually exclusive, only one can be provided." } ], "responses": { "200": { - "description": "Returns details for a file storage volume.", + "description": "Return details for a specific disk", "content": { "application/json": { "schema": { "properties": { - "file_storage_volume": { - "description": "The file storage volume.", + "disk": { + "description": "The disk details", "allOf": [ { - "$ref": "#/components/schemas/GetFileStorageVolume200ResponseFileStorageVolume" + "$ref": "#/components/schemas/GetDisk200ResponseDisk" } ] }, @@ -5165,7 +5573,7 @@ } }, "required": [ - "file_storage_volume", + "disk", "annotations" ] } @@ -5176,10 +5584,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/FileStorageVolumeNotFoundResponse" + "$ref": "#/components/responses/DiskNotFoundResponse" }, "406": { "$ref": "#/components/responses/ObjectInTrashResponse" @@ -5193,22 +5601,34 @@ } }, "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", + "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/disks" + ] + }, + { + "Authenticator": [ + "disks" + ] + } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { - "file_storage_volume": { - "$ref": "#/components/schemas/FileStorageVolumeLookup" + "disk": { + "$ref": "#/components/schemas/DiskLookup" }, "properties": { - "$ref": "#/components/schemas/FileStorageVolumeArguments" + "$ref": "#/components/schemas/DiskArguments" }, "annotations": { "type": "array", @@ -5218,7 +5638,7 @@ } }, "required": [ - "file_storage_volume", + "disk", "properties" ] } @@ -5227,16 +5647,16 @@ }, "responses": { "200": { - "description": "Update a file storage volume with new properties.", + "description": "Update a disk for a given organization.", "content": { "application/json": { "schema": { "properties": { - "file_storage_volume": { - "description": "The file storage volume.", + "disk": { + "description": "The disk that has been updated.", "allOf": [ { - "$ref": "#/components/schemas/PatchFileStorageVolume200ResponseFileStorageVolume" + "$ref": "#/components/schemas/PatchDisk200ResponseDisk" } ] }, @@ -5244,11 +5664,12 @@ "type": "array", "items": { "$ref": "#/components/schemas/KeyValue" - } + }, + "description": "Annotations for this disk" } }, "required": [ - "file_storage_volume", + "disk", "annotations" ] } @@ -5262,13 +5683,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/UnassignedDiskValidationError422Res" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -5279,23 +5700,35 @@ } }, "delete": { - "operationId": "delete:file_storage_volume", - "summary": "Delete file storage volume", - "description": "Delete a file storage volume.\n## Scopes\n- `file_storage_volumes`\n", + "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/disks" + ] + }, + { + "Authenticator": [ + "disks" + ] + } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { - "file_storage_volume": { - "$ref": "#/components/schemas/FileStorageVolumeLookup" + "disk": { + "$ref": "#/components/schemas/DiskLookup" } }, "required": [ - "file_storage_volume" + "disk" ] } } @@ -5303,26 +5736,26 @@ }, "responses": { "200": { - "description": "Delete a file storage volume.", + "description": "Deletes a disk and moves it to the trash", "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 has been move to the trash.", "allOf": [ { - "$ref": "#/components/schemas/DeleteFileStorageVolume200ResponseFileStorageVolume" + "$ref": "#/components/schemas/DeleteDisk200ResponseDisk" } ] + }, + "trash_object": { + "$ref": "#/components/schemas/TrashObject" } }, "required": [ - "trash_object", - "file_storage_volume" + "disk", + "trash_object" ] } } @@ -5335,7 +5768,7 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/FileStorageVolumeNotFoundResponse" + "$ref": "#/components/responses/DiskNotFoundResponse" }, "406": { "$ref": "#/components/responses/ObjectInTrashResponse" @@ -5352,50 +5785,64 @@ } } }, - "/gpu_types": { - "get": { - "operationId": "get:gpu_types", - "summary": "List GPU types", - "description": "Provides a full list of all GPU types", + "/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": [ - "GPU types" + "Disks" ], - "parameters": [ + "security": [ { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } + "OAuth2": [ + "api.katapult.io/core/v1/disks" + ] }, { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer" - } + "Authenticator": [ + "disks" + ] } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "disk": { + "$ref": "#/components/schemas/DiskLookup" + }, + "virtual_machine": { + "$ref": "#/components/schemas/VirtualMachineLookup" + } + }, + "required": [ + "disk", + "virtual_machine" + ] + } + } + } + }, "responses": { "200": { - "description": "Provides a full list of all GPU types", + "description": "Assign a disk to a virtual machine.", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "gpu_types": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetGPUTypes200ResponseGPUTypes" - } + "disk": { + "description": "The disk that has been assigned to a virtual machine.", + "allOf": [ + { + "$ref": "#/components/schemas/PostDiskAssign200ResponseDisk" + } + ] } }, "required": [ - "pagination", - "gpu_types" + "disk" ] } } @@ -5405,7 +5852,16 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/DiskNotFoundVirtualMachineNotFound404Res" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" + }, + "422": { + "$ref": "#/components/responses/UnableToAssignResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -5416,45 +5872,60 @@ } } }, - "/gpu_types/gpu_type": { - "get": { - "operationId": "get:gpu_type", - "summary": "Get GPU type", - "description": "Provide details for a specific GPU type", + "/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": [ - "GPU types" + "Disks" ], - "parameters": [ + "security": [ { - "name": "gpu_type[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "All 'gpu_type[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/disks" + ] }, { - "name": "gpu_type[permalink]", - "in": "query", - "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" + } + }, + "required": [ + "disk" + ] + } + } + } + }, "responses": { "200": { - "description": "Provide details for a specific GPU type", + "description": "Unassign a disk from a virtual machine.", "content": { "application/json": { "schema": { "properties": { - "gpu_type": { - "$ref": "#/components/schemas/GetGPUType200ResponseGPUType" + "disk": { + "description": "The disk that has been unassigned from a virtual machine.", + "allOf": [ + { + "$ref": "#/components/schemas/PostDiskUnassign200ResponseDisk" + } + ] } }, "required": [ - "gpu_type" + "disk" ] } } @@ -5464,10 +5935,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/ObjectInTrashResponse" + }, + "422": { + "$ref": "#/components/responses/UnableToUnassignResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -5478,66 +5955,64 @@ } } }, - "/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/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": [ - "GPU types" + "Disks" ], - "parameters": [ - { - "name": "data_center[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The data center to list GPU types for. All 'data_center[]' params are mutually exclusive, only one can be provided." - }, + "security": [ { - "name": "data_center[permalink]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The data center to list GPU types for. All 'data_center[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } + "OAuth2": [ + "api.katapult.io/core/v1/disks" + ] }, { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer" - } + "Authenticator": [ + "disks" + ] } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "disk": { + "$ref": "#/components/schemas/DiskLookup" + } + }, + "required": [ + "disk" + ] + } + } + } + }, "responses": { "200": { - "description": "Provides a list of all GPU types available in a given data center", + "description": "Attach a disk to its virtual machine.", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" + "disk": { + "description": "The disk that will be attached to its virtual machine.", + "allOf": [ + { + "$ref": "#/components/schemas/PostDiskAttach200ResponseDisk" + } + ] }, - "gpu_types": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetDataCenterGPUTypes200ResponseGPUTypes" - } + "task": { + "$ref": "#/components/schemas/Task" } }, "required": [ - "pagination", - "gpu_types" + "disk", + "task" ] } } @@ -5547,10 +6022,16 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/DataCenterNotFoundResponse" + "$ref": "#/components/responses/DiskNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" + }, + "422": { + "$ref": "#/components/responses/UnassignedDiskResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -5561,76 +6042,64 @@ } } }, - "/organizations/organization/ip_addresses": { - "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", + "/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": [ - "IP addresses" + "Disks" ], - "parameters": [ - { - "name": "organization[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The organization to use when looking up IP addresses. All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "organization[sub_domain]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The organization to use when looking up IP addresses. 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." - }, + "security": [ { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } + "OAuth2": [ + "api.katapult.io/core/v1/disks" + ] }, { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer" - } + "Authenticator": [ + "disks" + ] } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "disk": { + "$ref": "#/components/schemas/DiskLookup" + } + }, + "required": [ + "disk" + ] + } + } + } + }, "responses": { "200": { - "description": "Returns a list of all IP addresses belonging to an organization", + "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" + } + ] }, - "ip_addresses": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetOrganizationIPAddresses200ResponseIPAddresses" - }, - "description": "The IP addresses belonging to this organization" + "task": { + "$ref": "#/components/schemas/Task" } }, "required": [ - "pagination", - "ip_addresses" + "disk", + "task" ] } } @@ -5640,10 +6109,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/ObjectInTrashTaskQueueingError406Res" + }, + "422": { + "$ref": "#/components/responses/UnassignedDiskResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -5652,41 +6127,46 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, - "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", + } + }, + "/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": [ - "IP addresses" + "Disks" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/disks" + ] + }, + { + "Authenticator": [ + "disks" + ] + } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { - "organization": { - "$ref": "#/components/schemas/OrganizationLookup" - }, - "network": { - "$ref": "#/components/schemas/NetworkLookup" - }, - "version": { - "$ref": "#/components/schemas/IPAddressVersionEnum" + "disk": { + "$ref": "#/components/schemas/DiskLookup" }, - "vip": { - "type": "boolean", - "description": "Whether or not to set this address as a VIP" + "size_in_gb": { + "type": "integer" }, - "label": { - "type": "string", - "description": "The label to give this address if setting it as a VIP" + "resize_method": { + "$ref": "#/components/schemas/ResizeMethodEnum" } }, "required": [ - "organization", - "network", - "version" + "disk", + "size_in_gb" ] } } @@ -5694,22 +6174,26 @@ }, "responses": { "200": { - "description": "Creates a new IP address on this organization", + "description": "Resize a disk.", "content": { "application/json": { "schema": { "properties": { - "ip_address": { - "description": "The newly allocated IP address", + "disk": { + "description": "The disk that has been resized.", "allOf": [ { - "$ref": "#/components/schemas/IPAddress" + "$ref": "#/components/schemas/PutDiskResize200ResponseDisk" } ] + }, + "task": { + "$ref": "#/components/schemas/Task" } }, "required": [ - "ip_address" + "disk", + "task" ] } } @@ -5719,10 +6203,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/NetworkNotFoundOrganizationNotFound404Res" + "$ref": "#/components/responses/DiskNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -5731,65 +6218,73 @@ "$ref": "#/components/responses/APIAuthenticator429Response" }, "503": { - "$ref": "#/components/responses/NoAvailableAddresses503Res" + "$ref": "#/components/responses/APIAuthenticator503Response" } } } }, - "/ip_addresses/ip_address": { - "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", + "/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": [ - "IP addresses" + "Disks" ], - "parameters": [ + "security": [ { - "name": "ip_address[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The IP address to find. All 'ip_address[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/disks" + ] }, { - "name": "ip_address[address]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The IP address to find. All 'ip_address[]' params are mutually exclusive, only one can be provided." + "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": "Returns information about a specific IP address", + "description": "Change disk IO profile.", "content": { "application/json": { "schema": { "properties": { - "ip_address": { - "description": "The IP address that has been located", + "disk": { + "description": "The disk that has been updated.", "allOf": [ { - "$ref": "#/components/schemas/IPAddress" + "$ref": "#/components/schemas/PutDiskIOProfile200ResponseDisk" } ] }, - "allocation": { - "allOf": [ - { - "$ref": "#/components/schemas/GetIPAddress200ResponseAllocation" - } - ], - "description": "The resource this address is allocated to", - "nullable": true + "task": { + "$ref": "#/components/schemas/Task" } }, "required": [ - "ip_address", - "allocation" + "disk", + "task" ] } } @@ -5799,10 +6294,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/IPAddressNotFoundResponse" + "$ref": "#/components/responses/DiskIOProfileNotFoundDiskNotFound404Res" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -5811,60 +6309,89 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, - "patch": { - "operationId": "patch:ip_address", - "summary": "Update IP address", - "description": "Updates the details on an IP address\n## Scopes\n- `ip_addresses`\n", + } + }, + "/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": [ - "IP addresses" + "Disks" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "ip_address": { - "$ref": "#/components/schemas/IPAddressLookup" - }, - "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" - }, - "reverse_dns": { - "type": "string", - "description": "The reverse DNS to set for this IP address" - } - }, - "required": [ - "ip_address" - ] - } - } + "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": "virtual_machine[fqdn]", + "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." + } + ], "responses": { "200": { - "description": "Updates the details on an IP address", + "description": "Return a list of all disks for a given virtual machine", "content": { "application/json": { "schema": { "properties": { - "ip_address": { - "description": "The IP address that has been updated", - "allOf": [ - { - "$ref": "#/components/schemas/IPAddress" - } - ] + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "disks": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetVirtualMachineDisks200ResponseDisks" + }, + "description": "The list of disks" } }, "required": [ - "ip_address" + "pagination", + "disks" ] } } @@ -5874,69 +6401,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/IPAddressNotFoundResponse" + "$ref": "#/components/responses/VirtualMachineNotFoundResponse" }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" - }, - "429": { - "$ref": "#/components/responses/APIAuthenticator429Response" - }, - "503": { - "$ref": "#/components/responses/APIAuthenticator503Response" - } - } - }, - "delete": { - "operationId": "delete:ip_address", - "summary": "Release an IP address", - "description": "Release an IP address from its organization\n## Scopes\n- `ip_addresses`\n", - "tags": [ - "IP addresses" - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "ip_address": { - "$ref": "#/components/schemas/IPAddressLookup" - } - }, - "required": [ - "ip_address" - ] - } - } - } - }, - "responses": { - "200": { - "description": "Release an IP address from its organization", - "content": { - "application/json": { - "schema": { - "properties": { - - } - } - } - } - }, - "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" - }, - "403": { - "$ref": "#/components/responses/PermissionDenied403Res" - }, - "404": { - "$ref": "#/components/responses/IPAddressNotFoundResponse" - }, - "409": { - "$ref": "#/components/responses/ResourceDoesNotSupportUnallocationResponse" + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -5947,126 +6418,91 @@ } } }, - "/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", + "/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", "tags": [ - "IP addresses" + "File storage volumes" ], - "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", - "content": { - "application/json": { - "schema": { - "properties": { - - } - } - } - } - }, - "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" - }, - "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" + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/file_storage_volumes", + "api.katapult.io/core/v1/file_storage_volumes:read" + ] }, - "503": { - "$ref": "#/components/responses/APIAuthenticator503Response" + { + "Authenticator": [ + "file_storage_volumes", + "file_storage_volumes:read" + ] } - } - } - }, - "/organizations/organization/load_balancers": { - "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", - "tags": [ - "Load balancers" ], "parameters": [ { - "name": "organization[id]", "in": "query", + "name": "organization[id]", "schema": { "type": "string" }, - "description": "The organization to return all load balancers for. 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": "organization[sub_domain]", "in": "query", + "name": "organization[sub_domain]", "schema": { "type": "string" }, - "description": "The organization to return all load balancers for. 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": "annotations[key]", "in": "query", + "name": "annotations[][key]", "schema": { - "type": "string" + "type": "array", + "items": { + "type": "string" + } }, - "description": "An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided." + "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": "annotations[value]", "in": "query", + "name": "annotations[][value]", "schema": { - "type": "string" + "type": "array", + "items": { + "type": "string" + } }, - "description": "An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided." + "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" - } + "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" - } + "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 load balancers for a given organization", + "description": "Returns a list of all file storage volumes for a given organization", "content": { "application/json": { "schema": { @@ -6074,17 +6510,17 @@ "pagination": { "$ref": "#/components/schemas/PaginationObject" }, - "load_balancers": { + "file_storage_volumes": { "type": "array", "items": { - "$ref": "#/components/schemas/GetOrganizationLoadBalancers200ResponseLoadBalancers" + "$ref": "#/components/schemas/GetOrganizationFileStorageVolumes200ResponseFileStorageVolumes" }, - "description": "The load balancers owned by this organization" + "description": "A list of all file storage volumes for the given organization." } }, "required": [ "pagination", - "load_balancers" + "file_storage_volumes" ] } } @@ -6108,11 +6544,23 @@ } }, "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", + "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": [ - "Load balancers" + "File storage volumes" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/file_storage_volumes" + ] + }, + { + "Authenticator": [ + "file_storage_volumes" + ] + } ], "requestBody": { "content": { @@ -6123,7 +6571,7 @@ "$ref": "#/components/schemas/OrganizationLookup" }, "properties": { - "$ref": "#/components/schemas/LoadBalancerArguments" + "$ref": "#/components/schemas/FileStorageVolumeArguments" }, "annotations": { "type": "array", @@ -6142,16 +6590,16 @@ }, "responses": { "201": { - "description": "Create a new load balancer for a given organization", + "description": "Create a new file storage volume for a given organization.", "content": { "application/json": { "schema": { "properties": { - "load_balancer": { - "description": "The load balancer that has been created", + "file_storage_volume": { + "description": "The file storage volume.", "allOf": [ { - "$ref": "#/components/schemas/PostOrganizationLoadBalancers201ResponseLoadBalancer" + "$ref": "#/components/schemas/PostOrganizationFileStorageVolumes201ResponseFileStorageVolume" } ] }, @@ -6163,7 +6611,7 @@ } }, "required": [ - "load_balancer", + "file_storage_volume", "annotations" ] } @@ -6191,44 +6639,50 @@ } } }, - "/load_balancers/load_balancer": { + "/file_storage_volumes/file_storage_volume": { "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", + "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": [ - "Load balancers" + "File storage volumes" ], - "parameters": [ + "security": [ { - "name": "load_balancer[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The load balancer to return the details for. All 'load_balancer[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/file_storage_volumes", + "api.katapult.io/core/v1/file_storage_volumes:read" + ] }, { - "name": "load_balancer[api_reference]", + "Authenticator": [ + "file_storage_volumes", + "file_storage_volumes:read" + ] + } + ], + "parameters": [ + { "in": "query", + "name": "file_storage_volume[id]", "schema": { "type": "string" }, - "description": "The load balancer to return the details for. All 'load_balancer[]' params are mutually exclusive, only one can be provided." + "description": "The file storage volume to return. \n\n All 'file_storage_volume[]' params are mutually exclusive, only one can be provided." } ], "responses": { "200": { - "description": "Returns details about a load balancer", + "description": "Returns details for a file storage volume.", "content": { "application/json": { "schema": { "properties": { - "load_balancer": { - "description": "The load balancer", + "file_storage_volume": { + "description": "The file storage volume.", "allOf": [ { - "$ref": "#/components/schemas/GetLoadBalancer200ResponseLoadBalancer" + "$ref": "#/components/schemas/GetFileStorageVolume200ResponseFileStorageVolume" } ] }, @@ -6240,7 +6694,7 @@ } }, "required": [ - "load_balancer", + "file_storage_volume", "annotations" ] } @@ -6251,10 +6705,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/LoadBalancerNotFoundResponse" + "$ref": "#/components/responses/FileStorageVolumeNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -6265,22 +6722,34 @@ } }, "patch": { - "operationId": "patch:load_balancer", - "summary": "Update load balancer", - "description": "Updates a load balancer with new properties\n## Scopes\n- `load_balancers`\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": [ - "Load balancers" + "File storage volumes" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/file_storage_volumes" + ] + }, + { + "Authenticator": [ + "file_storage_volumes" + ] + } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { - "load_balancer": { - "$ref": "#/components/schemas/LoadBalancerLookup" + "file_storage_volume": { + "$ref": "#/components/schemas/FileStorageVolumeLookup" }, "properties": { - "$ref": "#/components/schemas/LoadBalancerArguments" + "$ref": "#/components/schemas/FileStorageVolumeArguments" }, "annotations": { "type": "array", @@ -6290,7 +6759,7 @@ } }, "required": [ - "load_balancer", + "file_storage_volume", "properties" ] } @@ -6299,16 +6768,16 @@ }, "responses": { "200": { - "description": "Updates a load balancer with new properties", + "description": "Update a file storage volume with new properties.", "content": { "application/json": { "schema": { "properties": { - "load_balancer": { - "description": "The load balancer that has been updated", + "file_storage_volume": { + "description": "The file storage volume.", "allOf": [ { - "$ref": "#/components/schemas/PatchLoadBalancer200ResponseLoadBalancer" + "$ref": "#/components/schemas/PatchFileStorageVolume200ResponseFileStorageVolume" } ] }, @@ -6320,7 +6789,7 @@ } }, "required": [ - "load_balancer", + "file_storage_volume", "annotations" ] } @@ -6334,7 +6803,10 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/LoadBalancerNotFoundResponse" + "$ref": "#/components/responses/FileStorageVolumeNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -6348,23 +6820,35 @@ } }, "delete": { - "operationId": "delete:load_balancer", - "summary": "Delete load balancer", - "description": "Delete a load balancer\n## Scopes\n- `load_balancers`\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": [ - "Load balancers" + "File storage volumes" ], - "requestBody": { - "content": { - "application/json": { + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/file_storage_volumes" + ] + }, + { + "Authenticator": [ + "file_storage_volumes" + ] + } + ], + "requestBody": { + "content": { + "application/json": { "schema": { "properties": { - "load_balancer": { - "$ref": "#/components/schemas/LoadBalancerLookup" + "file_storage_volume": { + "$ref": "#/components/schemas/FileStorageVolumeLookup" } }, "required": [ - "load_balancer" + "file_storage_volume" ] } } @@ -6372,22 +6856,26 @@ }, "responses": { "200": { - "description": "Delete a load balancer", + "description": "Delete a file storage volume.", "content": { "application/json": { "schema": { "properties": { - "load_balancer": { - "description": "The load balancer that has been destroyed", + "trash_object": { + "$ref": "#/components/schemas/TrashObject" + }, + "file_storage_volume": { + "description": "The file storage volume that has been destroyed.", "allOf": [ { - "$ref": "#/components/schemas/DeleteLoadBalancer200ResponseLoadBalancer" + "$ref": "#/components/schemas/DeleteFileStorageVolume200ResponseFileStorageVolume" } ] } }, "required": [ - "load_balancer" + "trash_object", + "file_storage_volume" ] } } @@ -6400,7 +6888,10 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/LoadBalancerNotFoundResponse" + "$ref": "#/components/responses/FileStorageVolumeNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -6414,50 +6905,39 @@ } } }, - "/load_balancers/load_balancer/rules": { + "/gpu_types": { "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", + "operationId": "get:gpu_types", + "summary": "List GPU types", + "description": "Provides a full list of all GPU types", "tags": [ - "Load balancers", - "Load balancer rules" + "GPU types" ], "parameters": [ - { - "name": "load_balancer[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The load balancer to return all load rules for. All 'load_balancer[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "load_balancer[api_reference]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The load balancer to return all load rules for. All 'load_balancer[]' params are mutually exclusive, only one can be provided." - }, { "name": "page", "in": "query", "schema": { - "type": "integer" - } + "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" - } + "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 rules for a given load balancer", + "description": "Provides a full list of all GPU types", "content": { "application/json": { "schema": { @@ -6465,17 +6945,16 @@ "pagination": { "$ref": "#/components/schemas/PaginationObject" }, - "load_balancer_rules": { + "gpu_types": { "type": "array", "items": { - "$ref": "#/components/schemas/GetLoadBalancerRules200ResponseLoadBalancerRules" - }, - "description": "The load balancer rules for this load balancer" + "$ref": "#/components/schemas/GetGPUTypes200ResponseGPUTypes" + } } }, "required": [ "pagination", - "load_balancer_rules" + "gpu_types" ] } } @@ -6485,10 +6964,7 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" - }, - "404": { - "$ref": "#/components/responses/LoadBalancerNotFoundResponse" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -6497,53 +6973,47 @@ "$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", + } + }, + "/gpu_types/gpu_type": { + "get": { + "operationId": "get:gpu_type", + "summary": "Get GPU type", + "description": "Provide details for a specific GPU type", "tags": [ - "Load balancers", - "Load balancer rules" + "GPU types" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "load_balancer": { - "$ref": "#/components/schemas/LoadBalancerLookup" - }, - "properties": { - "$ref": "#/components/schemas/LoadBalancerRuleArguments" - } - }, - "required": [ - "load_balancer", - "properties" - ] - } - } + "parameters": [ + { + "in": "query", + "name": "gpu_type[id]", + "schema": { + "type": "string" + }, + "description": "All 'gpu_type[]' params are mutually exclusive, only one can be provided." + }, + { + "in": "query", + "name": "gpu_type[permalink]", + "schema": { + "type": "string" + }, + "description": "All 'gpu_type[]' params are mutually exclusive, only one can be provided." } - }, + ], "responses": { "200": { - "description": "Create a new load balancer rule", + "description": "Provide details for a specific GPU type", "content": { "application/json": { "schema": { "properties": { - "load_balancer_rule": { - "description": "The load balancer rule that has been created", - "allOf": [ - { - "$ref": "#/components/schemas/PostLoadBalancerRules200ResponseLoadBalancerRule" - } - ] + "gpu_type": { + "$ref": "#/components/schemas/GetGPUType200ResponseGPUType" } }, "required": [ - "load_balancer_rule" + "gpu_type" ] } } @@ -6553,13 +7023,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/GPUTypeNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -6570,43 +7037,72 @@ } } }, - "/load_balancers/rules/load_balancer_rule": { + "/data_centers/data_center/gpu_types": { "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", + "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 balancers", - "Load balancer rules" + "GPU types" ], "parameters": [ { - "name": "load_balancer_rule[id]", "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." + }, + { + "in": "query", + "name": "data_center[permalink]", "schema": { "type": "string" }, - "description": "The load balancer rule to return the details for. All 'load_balancer_rule[]' params are mutually exclusive, only one can be provided." + "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." } ], "responses": { "200": { - "description": "Returns details about a 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 resolved load balancer rule", - "allOf": [ - { - "$ref": "#/components/schemas/GetLoadBalancersRulesLoadBalancerRule200ResponseLoadBalancerRule" - } - ] + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "gpu_types": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetDataCenterGPUTypes200ResponseGPUTypes" + } } }, "required": [ - "load_balancer_rule" + "pagination", + "gpu_types" ] } } @@ -6619,7 +7115,7 @@ "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/LoadBalancerRuleNotFoundResponse" + "$ref": "#/components/responses/DataCenterNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -6628,189 +7124,80 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, - "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", + } + }, + "/organizations/organization/ip_addresses": { + "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", "tags": [ - "Load balancers", - "Load balancer rules" + "IP addresses" ], - "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": "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" - } - ] - } - }, - "required": [ - "load_balancer_rule" - ] - } - } - } + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/ip_addresses", + "api.katapult.io/core/v1/ip_addresses:read" + ] }, - "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", - "tags": [ - "Load balancers", - "Load balancer rules" - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "load_balancer_rule": { - "$ref": "#/components/schemas/LoadBalancerRuleLookup" - } - }, - "required": [ - "load_balancer_rule" - ] - } - } - } - }, - "responses": { - "200": { - "description": "Delete a load balancer rule", - "content": { - "application/json": { - "schema": { - "properties": { - "load_balancer_rule": { - "description": "The load balancer rule that has been destroyed", - "allOf": [ - { - "$ref": "#/components/schemas/DeleteLoadBalancersRulesLoadBalancerRule200ResponseLoadBalancerRule" - } - ] - } - }, - "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" + { + "Authenticator": [ + "ip_addresses", + "ip_addresses:read" + ] } - } - } - }, - "/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": [ - "Network speed profiles" ], "parameters": [ { - "name": "organization[id]", "in": "query", + "name": "organization[id]", "schema": { "type": "string" }, - "description": "The organization to use when looking up network speed profiles. All 'organization[]' 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": "organization[sub_domain]", "in": "query", + "name": "organization[sub_domain]", "schema": { "type": "string" }, - "description": "The organization to use when looking up network speed profiles. All 'organization[]' 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" - } + "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" - } + "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 network speed profiles available to an organization", + "description": "Returns a list of all IP addresses belonging to an organization", "content": { "application/json": { "schema": { @@ -6818,17 +7205,17 @@ "pagination": { "$ref": "#/components/schemas/PaginationObject" }, - "network_speed_profiles": { + "ip_addresses": { "type": "array", "items": { - "$ref": "#/components/schemas/NetworkSpeedProfile" + "$ref": "#/components/schemas/GetOrganizationIPAddresses200ResponseIPAddresses" }, - "description": "The network speed profiles available to this organization" + "description": "The IP addresses belonging to this organization" } }, "required": [ "pagination", - "network_speed_profiles" + "ip_addresses" ] } } @@ -6838,7 +7225,7 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" }, "404": { "$ref": "#/components/responses/OrganizationNotFoundResponse" @@ -6850,57 +7237,76 @@ "$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", + }, + "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": [ - "Networks" + "IP addresses" ], - "parameters": [ + "security": [ { - "name": "organization[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/ip_addresses" + ] }, { - "name": "organization[sub_domain]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + "Authenticator": [ + "ip_addresses" + ] } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "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" + }, + "label": { + "type": "string", + "description": "The label to give this address if setting it as a VIP" + } + }, + "required": [ + "organization", + "network", + "version" + ] + } + } + } + }, "responses": { "200": { - "description": "Returns a list of all networks available for an organization", + "description": "Creates a new IP address on this organization", "content": { "application/json": { "schema": { "properties": { - "networks": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetOrganizationAvailableNetworks200ResponseNetworks" - } - }, - "virtual_networks": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetOrganizationAvailableNetworks200ResponseVirtualNetworks" - } + "ip_address": { + "description": "The newly allocated IP address", + "allOf": [ + { + "$ref": "#/components/schemas/IPAddress" + } + ] } }, "required": [ - "networks", - "virtual_networks" + "ip_address" ] } } @@ -6910,64 +7316,91 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/NetworkNotFoundOrganizationNotFound404Res" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, "503": { - "$ref": "#/components/responses/APIAuthenticator503Response" + "$ref": "#/components/responses/NoAvailableAddresses503Res" } } } }, - "/networks/network": { + "/ip_addresses/ip_address": { "get": { - "operationId": "get:network", - "summary": "Get Network", - "description": "Returns details for a specific network", + "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": [ - "Networks" + "IP addresses" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/ip_addresses", + "api.katapult.io/core/v1/ip_addresses:read" + ] + }, + { + "Authenticator": [ + "ip_addresses", + "ip_addresses:read" + ] + } ], "parameters": [ { - "name": "network[id]", "in": "query", + "name": "ip_address[id]", "schema": { "type": "string" }, - "description": "The network to return. All 'network[]' 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." }, { - "name": "network[permalink]", "in": "query", + "name": "ip_address[address]", "schema": { "type": "string" }, - "description": "The network to return. All 'network[]' 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." } ], "responses": { "200": { - "description": "Returns details for a specific network", + "description": "Returns information about a specific IP address", "content": { "application/json": { "schema": { "properties": { - "network": { - "description": "The details for the requested network", + "ip_address": { + "description": "The IP address that has been located", "allOf": [ { - "$ref": "#/components/schemas/Network" + "$ref": "#/components/schemas/IPAddress" } ] + }, + "allocation": { + "allOf": [ + { + "$ref": "#/components/schemas/GetIPAddress200ResponseAllocation" + } + ], + "description": "The resource this address is allocated to", + "nullable": true } }, "required": [ - "network" + "ip_address", + "allocation" ] } } @@ -6980,7 +7413,7 @@ "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/NetworkNotFoundResponse" + "$ref": "#/components/responses/IPAddressNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -6989,53 +7422,72 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/operating_systems": { - "get": { - "operationId": "get:operating_systems", - "summary": "List operating systems", - "description": "Return a list of all operating systems", + }, + "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": [ - "Operating systems" + "IP addresses" ], - "parameters": [ + "security": [ { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } + "OAuth2": [ + "api.katapult.io/core/v1/ip_addresses" + ] }, { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer" - } + "Authenticator": [ + "ip_addresses" + ] } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "ip_address": { + "$ref": "#/components/schemas/IPAddressLookup" + }, + "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" + }, + "reverse_dns": { + "type": "string", + "description": "The reverse DNS to set for this IP address" + } + }, + "required": [ + "ip_address" + ] + } + } + } + }, "responses": { "200": { - "description": "Return a list of all operating systems", + "description": "Updates the details on an IP address", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "operating_systems": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetOperatingSystems200ResponseOperatingSystems" - }, - "description": "The list of available operating systems" + "ip_address": { + "description": "The IP address that has been updated", + "allOf": [ + { + "$ref": "#/components/schemas/IPAddress" + } + ] } }, "required": [ - "pagination", - "operating_systems" + "ip_address" ] } } @@ -7045,7 +7497,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/IPAddressNotFoundResponse" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -7054,45 +7512,51 @@ "$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", + }, + "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": [ - "Operating systems" + "IP addresses" ], - "parameters": [ + "security": [ { - "name": "operating_system[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The operating system to return. All 'operating_system[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/ip_addresses" + ] + }, + { + "Authenticator": [ + "ip_addresses" + ] } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "ip_address": { + "$ref": "#/components/schemas/IPAddressLookup" + } + }, + "required": [ + "ip_address" + ] + } + } + } + }, "responses": { "200": { - "description": "Return details for a specific operating system", + "description": "Release an IP address from its organization", "content": { "application/json": { "schema": { "properties": { - "operating_system": { - "description": "The operating system details", - "allOf": [ - { - "$ref": "#/components/schemas/OperatingSystem" - } - ] - } - }, - "required": [ - "operating_system" - ] + + } } } } @@ -7101,10 +7565,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/OperatingSystemNotFoundResponse" + "$ref": "#/components/responses/IPAddressNotFoundResponse" + }, + "409": { + "$ref": "#/components/responses/ResourceDoesNotSupportUnallocationResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -7115,34 +7582,51 @@ } } }, - "/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", + "/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": [ - "Organizations" + "IP addresses" ], - "parameters": [ - + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/ip_addresses" + ] + }, + { + "Authenticator": [ + "ip_addresses" + ] + } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "ip_address": { + "$ref": "#/components/schemas/IPAddressLookup" + } + }, + "required": [ + "ip_address" + ] + } + } + } + }, "responses": { "200": { - "description": "This will return a list of all organizations the authenticated identity has access to", + "description": "Unallocate an IP address from its resource", "content": { "application/json": { "schema": { "properties": { - "organizations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetOrganizations200ResponseOrganizations" - } - } - }, - "required": [ - "organizations" - ] + + } } } } @@ -7153,6 +7637,15 @@ "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" }, @@ -7162,45 +7655,87 @@ } } }, - "/organizations/organization": { + "/load_balancers/load_balancer/rules": { "get": { - "operationId": "get:organization", - "summary": "Get organization", - "description": "Returns information about a specific organization\n## Scopes\n- `organizations:read`\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": [ - "Organizations" + "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" + ] + } ], "parameters": [ { - "name": "organization[id]", "in": "query", + "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." }, { - "name": "organization[sub_domain]", "in": "query", + "name": "load_balancer[api_reference]", "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." + }, + { + "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 information about a specific organization", + "description": "Returns a list of all rules for a given load balancer", "content": { "application/json": { "schema": { "properties": { - "organization": { - "$ref": "#/components/schemas/Organization" + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "load_balancer_rules": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetLoadBalancerRules200ResponseLoadBalancerRules" + }, + "description": "The load balancer rules for this load balancer" } }, "required": [ - "organization" + "pagination", + "load_balancer_rules" ] } } @@ -7210,10 +7745,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" @@ -7222,80 +7757,80 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/organizations/organization/policy": { - "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", + }, + "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", "tags": [ - "Organizations" + "Load balancer rules" ], - "parameters": [ + "security": [ { - "name": "organization[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/load_balancers" + ] }, { - "name": "organization[sub_domain]", - "in": "query", - "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": { + "$ref": "#/components/schemas/LoadBalancerLookup" + }, + "properties": { + "$ref": "#/components/schemas/LoadBalancerRuleArguments" + } + }, + "required": [ + "load_balancer", + "properties" + ] + } + } + } + }, "responses": { "200": { - "description": "Returns the computed policy limits for a organization", + "description": "Create a new load balancer rule", "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" - } + "load_balancer_rule": { + "description": "The load balancer rule that has been created", + "allOf": [ + { + "$ref": "#/components/schemas/PostLoadBalancerRules200ResponseLoadBalancerRule" + } + ] } }, "required": [ - "policy_type", - "policy_name", - "limits", - "features", - "reasons_for_disallowing_resource_creation" + "load_balancer_rule" ] } } } }, "400": { - "$ref": "#/components/responses/PolicyNotAvailableForManagedOrganizations400Res" + "$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" @@ -7306,45 +7841,56 @@ } } }, - "/organizations/organization/policy_limits": { + "/load_balancers/rules/load_balancer_rule": { "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", + "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": [ - "Organizations" + "Load balancer rules" ], - "parameters": [ + "security": [ { - "name": "organization[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/load_balancers", + "api.katapult.io/core/v1/load_balancers:read" + ] }, { - "name": "organization[sub_domain]", + "Authenticator": [ + "load_balancers", + "load_balancers:read" + ] + } + ], + "parameters": [ + { "in": "query", + "name": "load_balancer_rule[id]", "schema": { "type": "string" }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + "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." } ], "responses": { "200": { - "description": "Returns the computed policy limits for a organization", + "description": "Returns details about a load balancer rule", "content": { "application/json": { "schema": { "properties": { - "policy_limits": { - "$ref": "#/components/schemas/OrganizationPolicy" + "load_balancer_rule": { + "description": "The resolved load balancer rule", + "allOf": [ + { + "$ref": "#/components/schemas/GetLoadBalancersRulesLoadBalancerRule200ResponseLoadBalancerRule" + } + ] } }, "required": [ - "policy_limits" + "load_balancer_rule" ] } } @@ -7354,10 +7900,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/LoadBalancerRuleNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -7366,68 +7912,80 @@ "$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", + }, + "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": [ - "Organizations" + "Load balancer rules" ], - "parameters": [ + "security": [ { - "name": "organization[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/load_balancers" + ] }, { - "name": "organization[sub_domain]", - "in": "query", - "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" + }, + "properties": { + "$ref": "#/components/schemas/LoadBalancerRuleArguments" + } + }, + "required": [ + "load_balancer_rule", + "properties" + ] + } + } + } + }, "responses": { "200": { - "description": "Returns the active prices for an organization", + "description": "Updates a load balancer rule with new properties", "content": { "application/json": { "schema": { "properties": { - "currency": { - "$ref": "#/components/schemas/Currency" - }, - "prices": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PriceResourceWithSinglePriceVariant" - }, - "description": "The prices in the default price plan" + "load_balancer_rule": { + "description": "The load balancer that has been updated", + "allOf": [ + { + "$ref": "#/components/schemas/PatchLoadBalancersRulesLoadBalancerRule200ResponseLoadBalancerRule" + } + ] } }, "required": [ - "currency", - "prices" + "load_balancer_rule" ] } } } }, "400": { - "$ref": "#/components/responses/PricesNotAvailableForManagedOrganizations400Res" + "$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" @@ -7436,48 +7994,61 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/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", + }, + "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": [ - "Organizations" + "Load balancer rules" ], - "parameters": [ + "security": [ { - "name": "organization[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/load_balancers" + ] }, { - "name": "organization[sub_domain]", - "in": "query", - "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 details of the steps which must be performed before an organization can be deleted", + "description": "Delete a load balancer rule", "content": { "application/json": { "schema": { "properties": { - "steps": { - "$ref": "#/components/schemas/OrganizationDeletionSteps" - } - }, - "required": [ - "steps" - ] + "load_balancer_rule": { + "description": "The load balancer rule that has been destroyed", + "allOf": [ + { + "$ref": "#/components/schemas/DeleteLoadBalancersRulesLoadBalancerRule200ResponseLoadBalancerRule" + } + ] + } + }, + "required": [ + "load_balancer_rule" + ] } } } @@ -7486,10 +8057,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/LoadBalancerRuleNotFoundResponse" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -7500,150 +8074,91 @@ } } }, - "/organizations/organization/users_with_access": { + "/organizations/organization/load_balancers": { "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", + "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": [ - "Organizations", - "Organization users" + "Load balancers" ], - "parameters": [ - { - "name": "organization[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "organization[sub_domain]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." - }, + "security": [ { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } + "OAuth2": [ + "api.katapult.io/core/v1/load_balancers", + "api.katapult.io/core/v1/load_balancers:read" + ] }, { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer" - } - } - ], - "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", - "content": { - "application/json": { - "schema": { - "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "users": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetOrganizationUsersWithAccess200ResponseUsers" - } - } - }, - "required": [ - "pagination", - "users" - ] - } - } - } - }, - "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" + "Authenticator": [ + "load_balancers", + "load_balancers:read" + ] } - } - } - }, - "/organizations/organization/managed": { - "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", - "tags": [ - "Organizations", - "Managed organizations" ], "parameters": [ { - "name": "organization[id]", "in": "query", + "name": "organization[id]", "schema": { "type": "string" }, - "description": "All 'organization[]' 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." }, { - "name": "organization[sub_domain]", "in": "query", + "name": "organization[sub_domain]", "schema": { "type": "string" }, - "description": "All 'organization[]' 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." }, { - "name": "annotations[key]", "in": "query", + "name": "annotations[][key]", "schema": { - "type": "string" + "type": "array", + "items": { + "type": "string" + } }, - "description": "An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided." + "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": "annotations[value]", "in": "query", + "name": "annotations[][value]", "schema": { - "type": "string" + "type": "array", + "items": { + "type": "string" + } }, - "description": "An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided." + "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" - } + "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" - } + "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": "List all managed organizations owned by the given organization", + "description": "Returns a list of all load balancers for a given organization", "content": { "application/json": { "schema": { @@ -7651,16 +8166,17 @@ "pagination": { "$ref": "#/components/schemas/PaginationObject" }, - "organizations": { + "load_balancers": { "type": "array", "items": { - "$ref": "#/components/schemas/GetOrganizationManaged200ResponseOrganizations" - } + "$ref": "#/components/schemas/GetOrganizationLoadBalancers200ResponseLoadBalancers" + }, + "description": "The load balancers owned by this organization" } }, "required": [ "pagination", - "organizations" + "load_balancers" ] } } @@ -7670,7 +8186,7 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" }, "404": { "$ref": "#/components/responses/OrganizationNotFoundResponse" @@ -7684,12 +8200,23 @@ } }, "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", + "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": [ - "Organizations", - "Managed organizations" + "Load balancers" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/load_balancers" + ] + }, + { + "Authenticator": [ + "load_balancers" + ] + } ], "requestBody": { "content": { @@ -7699,11 +8226,8 @@ "organization": { "$ref": "#/components/schemas/OrganizationLookup" }, - "name": { - "type": "string" - }, - "sub_domain": { - "type": "string" + "properties": { + "$ref": "#/components/schemas/LoadBalancerArguments" }, "annotations": { "type": "array", @@ -7714,8 +8238,7 @@ }, "required": [ "organization", - "name", - "sub_domain" + "properties" ] } } @@ -7723,13 +8246,18 @@ }, "responses": { "201": { - "description": "Create a new managed organization within an existing organization", + "description": "Create a new load balancer for a given organization", "content": { "application/json": { "schema": { "properties": { - "organization": { - "$ref": "#/components/schemas/Organization" + "load_balancer": { + "description": "The load balancer that has been created", + "allOf": [ + { + "$ref": "#/components/schemas/PostOrganizationLoadBalancers201ResponseLoadBalancer" + } + ] }, "annotations": { "type": "array", @@ -7739,7 +8267,7 @@ } }, "required": [ - "organization", + "load_balancer", "annotations" ] } @@ -7750,13 +8278,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" + "$ref": "#/components/responses/OrganizationNotActivatedPermissionDeniedResourceCreationRestricted403Res" }, "404": { "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "422": { - "$ref": "#/components/responses/OrganizationLimitReachedValidationError422Res" + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -7767,44 +8295,71 @@ } } }, - "/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", + "/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": [ - "Organizations", - "Managed organizations" + "Load balancers" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "organization": { - "$ref": "#/components/schemas/OrganizationLookup" - } - }, - "required": [ - "organization" - ] - } - } + "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": "Delete a managed organization. All resources must be removed first.", + "description": "Returns details about a load balancer", "content": { "application/json": { "schema": { "properties": { - "success": { - "type": "boolean" + "load_balancer": { + "description": "The load balancer", + "allOf": [ + { + "$ref": "#/components/schemas/GetLoadBalancer200ResponseLoadBalancer" + } + ] + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } } }, "required": [ - "success" + "load_balancer", + "annotations" ] } } @@ -7814,148 +8369,89 @@ "$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/LoadBalancerNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, - "500": { - "$ref": "#/components/responses/DeletionFailedResponse" - }, "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" + }, + "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": [ + "Load balancers" ], - "parameters": [ - { - "name": "organization[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The organization to list SSH keys for. All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "organization[sub_domain]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The organization to list SSH keys for. All 'organization[]' params are mutually exclusive, only one can be provided." - }, + "security": [ { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } + "OAuth2": [ + "api.katapult.io/core/v1/load_balancers" + ] }, { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer" - } - } - ], - "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" + "Authenticator": [ + "load_balancers" + ] } - } - }, - "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": { - "organization": { - "$ref": "#/components/schemas/OrganizationLookup" + "load_balancer": { + "$ref": "#/components/schemas/LoadBalancerLookup" }, - "ssh_key": { - "$ref": "#/components/schemas/AuthSSHKeyProperties" + "properties": { + "$ref": "#/components/schemas/LoadBalancerArguments" + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } } }, "required": [ - "organization", - "ssh_key" + "load_balancer", + "properties" ] } } } }, "responses": { - "201": { - "description": "Add an SSH key to an organization", + "200": { + "description": "Updates a load balancer with new properties", "content": { "application/json": { "schema": { "properties": { - "ssh_key": { - "$ref": "#/components/schemas/AuthSSHKey" + "load_balancer": { + "description": "The load balancer that has been updated", + "allOf": [ + { + "$ref": "#/components/schemas/PatchLoadBalancer200ResponseLoadBalancer" + } + ] + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } } }, "required": [ - "ssh_key" + "load_balancer", + "annotations" ] } } @@ -7965,10 +8461,10 @@ "$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" @@ -7980,27 +8476,37 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/ssh_keys/ssh_key": { + }, "delete": { - "operationId": "delete:ssh_key", - "summary": "Delete SSH key", - "description": "Delete an SSH key", + "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": [ - "SSH keys" + "Load balancers" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/load_balancers" + ] + }, + { + "Authenticator": [ + "load_balancers" + ] + } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { - "ssh_key": { - "$ref": "#/components/schemas/AuthSSHKeyLookup" + "load_balancer": { + "$ref": "#/components/schemas/LoadBalancerLookup" } }, "required": [ - "ssh_key" + "load_balancer" ] } } @@ -8008,17 +8514,22 @@ }, "responses": { "200": { - "description": "Delete an SSH key", + "description": "Delete a load balancer", "content": { "application/json": { "schema": { "properties": { - "ssh_key": { - "$ref": "#/components/schemas/AuthSSHKey" + "load_balancer": { + "description": "The load balancer that has been destroyed", + "allOf": [ + { + "$ref": "#/components/schemas/DeleteLoadBalancer200ResponseLoadBalancer" + } + ] } }, "required": [ - "ssh_key" + "load_balancer" ] } } @@ -8031,10 +8542,10 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/SSHKeyNotFoundResponse" + "$ref": "#/components/responses/LoadBalancerNotFoundResponse" }, - "409": { - "$ref": "#/components/responses/DeletionRestrictedResponse" + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -8045,65 +8556,89 @@ } } }, - "/organizations/organization/security_groups": { + "/organizations/organization/managed": { "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", + "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": [ - "Security groups" + "Managed organizations" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/managed_organizations" + ] + }, + { + "Authenticator": [ + "managed_organizations" + ] + } ], "parameters": [ { - "name": "organization[id]", "in": "query", + "name": "organization[id]", "schema": { "type": "string" }, - "description": "The organization to return all security groups for. All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." }, { - "name": "organization[sub_domain]", "in": "query", + "name": "organization[sub_domain]", "schema": { "type": "string" }, - "description": "The organization to return all security groups for. All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." }, { - "name": "annotations[key]", "in": "query", + "name": "annotations[][key]", "schema": { - "type": "string" + "type": "array", + "items": { + "type": "string" + } }, - "description": "An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided." + "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": "annotations[value]", "in": "query", + "name": "annotations[][value]", "schema": { - "type": "string" + "type": "array", + "items": { + "type": "string" + } }, - "description": "An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided." + "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" - } + "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" - } + "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": "List all managed organizations owned by the given organization", "content": { "application/json": { "schema": { @@ -8111,17 +8646,16 @@ "pagination": { "$ref": "#/components/schemas/PaginationObject" }, - "security_groups": { + "organizations": { "type": "array", "items": { - "$ref": "#/components/schemas/SecurityGroup" - }, - "description": "The security groups owned by this organization" + "$ref": "#/components/schemas/GetOrganizationManaged200ResponseOrganizations" + } } }, "required": [ "pagination", - "security_groups" + "organizations" ] } } @@ -8131,7 +8665,7 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" }, "404": { "$ref": "#/components/responses/OrganizationNotFoundResponse" @@ -8145,11 +8679,23 @@ } }, "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", + "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": [ - "Security groups" + "Managed organizations" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/managed_organizations" + ] + }, + { + "Authenticator": [ + "managed_organizations" + ] + } ], "requestBody": { "content": { @@ -8159,8 +8705,11 @@ "organization": { "$ref": "#/components/schemas/OrganizationLookup" }, - "properties": { - "$ref": "#/components/schemas/SecurityGroupArguments" + "name": { + "type": "string" + }, + "sub_domain": { + "type": "string" }, "annotations": { "type": "array", @@ -8171,26 +8720,22 @@ }, "required": [ "organization", - "properties" + "name", + "sub_domain" ] } } } }, "responses": { - "200": { - "description": "Create a new security group for a given organization", + "201": { + "description": "Create a new managed organization within an existing organization", "content": { "application/json": { "schema": { "properties": { - "security_group": { - "description": "The security group that has been created", - "allOf": [ - { - "$ref": "#/components/schemas/SecurityGroup" - } - ] + "organization": { + "$ref": "#/components/schemas/Organization" }, "annotations": { "type": "array", @@ -8200,7 +8745,7 @@ } }, "required": [ - "security_group", + "organization", "annotations" ] } @@ -8211,13 +8756,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedPermissionDeniedResourceCreationRestricted403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" }, "404": { "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/OrganizationLimitReachedValidationError422Res" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -8228,99 +8773,37 @@ } } }, - "/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", + "/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": [ - "Security groups" + "Managed organizations" ], - "parameters": [ + "security": [ { - "name": "security_group[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The security group to return the details for. All 'security_group[]' params are mutually exclusive, only one can be provided." - } - ], - "responses": { - "200": { - "description": "Returns details about a security group", - "content": { - "application/json": { - "schema": { - "properties": { - "security_group": { - "description": "The security group", - "allOf": [ - { - "$ref": "#/components/schemas/SecurityGroup" - } - ] - }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } - } - }, - "required": [ - "security_group", - "annotations" - ] - } - } - } - }, - "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" - }, - "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" - }, - "404": { - "$ref": "#/components/responses/SecurityGroupNotFoundResponse" - }, - "429": { - "$ref": "#/components/responses/APIAuthenticator429Response" + "OAuth2": [ + "api.katapult.io/core/v1/managed_organizations:delete" + ] }, - "503": { - "$ref": "#/components/responses/APIAuthenticator503Response" + { + "Authenticator": [ + "managed_organizations:delete" + ] } - } - }, - "patch": { - "operationId": "patch:security_group", - "summary": "Update security group", - "description": "Updates a security group with new properties\n## Scopes\n- `security_groups`\n", - "tags": [ - "Security groups" ], "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" - } + "organization": { + "$ref": "#/components/schemas/OrganizationLookup" } }, "required": [ - "security_group", - "properties" + "organization" ] } } @@ -8328,29 +8811,17 @@ }, "responses": { "200": { - "description": "Updates a security group with new properties", + "description": "Delete a managed organization. All resources must be removed first.", "content": { "application/json": { "schema": { "properties": { - "security_group": { - "description": "The security group that has been updated", - "allOf": [ - { - "$ref": "#/components/schemas/SecurityGroup" - } - ] - }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } + "success": { + "type": "boolean" } }, "required": [ - "security_group", - "annotations" + "success" ] } } @@ -8360,63 +8831,93 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/SecurityGroupNotFoundResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "409": { + "$ref": "#/components/responses/DeletionStepsNotSatisfiedManagedOrganizationRequired409Res" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" }, + "500": { + "$ref": "#/components/responses/DeletionFailedResponse" + }, "503": { "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, - "delete": { - "operationId": "delete:security_group", - "summary": "Delete security group", - "description": "Delete a security group\n## Scopes\n- `security_group`\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": [ - "Security groups" + "Network speed profiles" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "security_group": { - "$ref": "#/components/schemas/SecurityGroupLookup" - } - }, - "required": [ - "security_group" - ] - } - } + "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." + }, + { + "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": "Delete a security group", + "description": "Returns a list of all network speed profiles available to an organization", "content": { "application/json": { "schema": { "properties": { - "security_group": { - "description": "The security group that has been destroyed", - "allOf": [ - { - "$ref": "#/components/schemas/DeleteSecurityGroup200ResponseSecurityGroup" - } - ] + "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": [ - "security_group" + "pagination", + "network_speed_profiles" ] } } @@ -8426,16 +8927,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" }, "404": { - "$ref": "#/components/responses/SecurityGroupNotFoundResponse" - }, - "409": { - "$ref": "#/components/responses/DeletionRestrictedResponse" - }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -8446,60 +8941,55 @@ } } }, - "/security_groups/security_group/rules": { + "/organizations/organization/available_networks": { "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", + "operationId": "get:organization_available_networks", + "summary": "List networks", + "description": "Returns a list of all networks available for an organization", "tags": [ - "Security groups", - "Security group rules" + "Networks" ], "parameters": [ { - "name": "security_group[id]", "in": "query", + "name": "organization[id]", "schema": { "type": "string" }, - "description": "The security group to return all load rules for. All 'security_group[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." }, { - "name": "per_page", "in": "query", + "name": "organization[sub_domain]", "schema": { - "type": "integer" - } + "type": "string" + }, + "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 a list of all networks available for an organization", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" + "networks": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetOrganizationAvailableNetworks200ResponseNetworks" + } }, - "security_group_rules": { + "virtual_networks": { "type": "array", "items": { - "$ref": "#/components/schemas/GetSecurityGroupRules200ResponseSecurityGroupRules" - }, - "description": "The security group rules for this security group" + "$ref": "#/components/schemas/GetOrganizationAvailableNetworks200ResponseVirtualNetworks" + } } }, "required": [ - "pagination", - "security_group_rules" + "networks", + "virtual_networks" ] } } @@ -8509,81 +8999,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" }, "404": { - "$ref": "#/components/responses/SecurityGroupNotFoundResponse" - }, - "429": { - "$ref": "#/components/responses/APIAuthenticator429Response" - }, - "503": { - "$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", - "tags": [ - "Security groups", - "Security group rules" - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "security_group": { - "$ref": "#/components/schemas/SecurityGroupLookup" - }, - "properties": { - "$ref": "#/components/schemas/SecurityGroupRuleArguments" - } - }, - "required": [ - "security_group", - "properties" - ] - } - } - } - }, - "responses": { - "200": { - "description": "Create a new security group rule", - "content": { - "application/json": { - "schema": { - "properties": { - "security_group_rule": { - "description": "The security group rule that has been created", - "allOf": [ - { - "$ref": "#/components/schemas/PostSecurityGroupRules200ResponseSecurityGroupRule" - } - ] - } - }, - "required": [ - "security_group_rule" - ] - } - } - } - }, - "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" - }, - "403": { - "$ref": "#/components/responses/PermissionDenied403Res" - }, - "404": { - "$ref": "#/components/responses/SecurityGroupNotFoundResponse" - }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -8594,43 +9013,50 @@ } } }, - "/security_groups/rules/security_group_rule": { + "/networks/network": { "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", + "operationId": "get:network", + "summary": "Get Network", + "description": "Returns details for a specific network", "tags": [ - "Security groups", - "Security group rules" + "Networks" ], "parameters": [ { - "name": "security_group_rule[id]", "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." + }, + { + "in": "query", + "name": "network[permalink]", "schema": { "type": "string" }, - "description": "The security group rule to return the details for. All 'security_group_rule[]' params are mutually exclusive, only one can be provided." + "description": "The network to return. \n\n All 'network[]' params are mutually exclusive, only one can be provided." } ], "responses": { "200": { - "description": "Returns details about a security group rule", + "description": "Returns details for a specific network", "content": { "application/json": { "schema": { "properties": { - "security_group_rule": { - "description": "The resolved security group rule", + "network": { + "description": "The details for the requested network", "allOf": [ { - "$ref": "#/components/schemas/GetSecurityGroupsRulesSecurityGroupRule200ResponseSecurityGroupRule" + "$ref": "#/components/schemas/Network" } ] } }, "required": [ - "security_group_rule" + "network" ] } } @@ -8640,10 +9066,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/SecurityGroupRuleNotFoundResponse" + "$ref": "#/components/responses/NetworkNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -8652,53 +9078,59 @@ "$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", + } + }, + "/operating_systems": { + "get": { + "operationId": "get:operating_systems", + "summary": "List operating systems", + "description": "Return a list of all operating systems", "tags": [ - "Security groups", - "Security group rules" + "Operating systems" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "security_group_rule": { - "$ref": "#/components/schemas/SecurityGroupRuleLookup" - }, - "properties": { - "$ref": "#/components/schemas/SecurityGroupRuleArguments" - } - }, - "required": [ - "security_group_rule", - "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": "Updates a security group rule with new properties", + "description": "Return a list of all operating systems", "content": { "application/json": { "schema": { "properties": { - "security_group_rule": { - "description": "The security group that has been updated", - "allOf": [ - { - "$ref": "#/components/schemas/PatchSecurityGroupsRulesSecurityGroupRule200ResponseSecurityGroupRule" - } - ] + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "operating_systems": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetOperatingSystems200ResponseOperatingSystems" + }, + "description": "The list of available operating systems" } }, "required": [ - "security_group_rule" + "pagination", + "operating_systems" ] } } @@ -8708,13 +9140,7 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" - }, - "404": { - "$ref": "#/components/responses/SecurityGroupRuleNotFoundResponse" - }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -8723,49 +9149,44 @@ "$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", + } + }, + "/operating_systems/operating_system": { + "get": { + "operationId": "get:operating_system", + "summary": "Get operating system", + "description": "Return details for a specific operating system", "tags": [ - "Security groups", - "Security group rules" + "Operating systems" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "security_group_rule": { - "$ref": "#/components/schemas/SecurityGroupRuleLookup" - } - }, - "required": [ - "security_group_rule" - ] - } - } + "parameters": [ + { + "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." } - }, + ], "responses": { "200": { - "description": "Delete a security group rule", + "description": "Return details for a specific operating system", "content": { "application/json": { "schema": { "properties": { - "security_group_rule": { - "description": "The security group rule that has been destroyed", + "operating_system": { + "description": "The operating system details", "allOf": [ { - "$ref": "#/components/schemas/DeleteSecurityGroupsRulesSecurityGroupRule200ResponseSecurityGroupRule" + "$ref": "#/components/schemas/OperatingSystem" } ] } }, "required": [ - "security_group_rule" + "operating_system" ] } } @@ -8775,13 +9196,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/SecurityGroupRuleNotFoundResponse" - }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/OperatingSystemNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -8792,49 +9210,67 @@ } } }, - "/organizations/organization/tags": { + "/organizations/organization/users_with_access": { "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", + "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": [ - "Tags" + "Organization users" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/organizations:read" + ] + }, + { + "Authenticator": [ + "organizations:read" + ] + } ], "parameters": [ { - "name": "organization[id]", "in": "query", + "name": "organization[id]", "schema": { "type": "string" }, - "description": "The organization to list the tags for. All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." }, { - "name": "organization[sub_domain]", "in": "query", + "name": "organization[sub_domain]", "schema": { "type": "string" }, - "description": "The organization to list the tags for. 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", "in": "query", "schema": { - "type": "integer" - } + "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" - } + "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 tags 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": { @@ -8842,17 +9278,16 @@ "pagination": { "$ref": "#/components/schemas/PaginationObject" }, - "tags": { + "users": { "type": "array", "items": { - "$ref": "#/components/schemas/GetOrganizationTags200ResponseTags" - }, - "description": "The details for the tags on the organization" + "$ref": "#/components/schemas/GetOrganizationUsersWithAccess200ResponseUsers" + } } }, "required": [ "pagination", - "tags" + "users" ] } } @@ -8874,52 +9309,47 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, - "post": { - "operationId": "post:organization_tags", - "summary": "Create a tag", - "description": "Creates a new tag with the provided properties\n## Scopes\n- `tags`\n", + } + }, + "/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": [ - "Tags" + "Organizations" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "organization": { - "$ref": "#/components/schemas/OrganizationLookup" - }, - "properties": { - "$ref": "#/components/schemas/TagArguments" - } - }, - "required": [ - "organization", - "properties" - ] - } - } + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/organizations:read" + ] + }, + { + "Authenticator": [ + "organizations:read" + ] } - }, + ], + "parameters": [ + + ], "responses": { "200": { - "description": "Creates a new tag with the provided properties", + "description": "This will return a list of all organizations the authenticated identity has access to", "content": { "application/json": { "schema": { "properties": { - "tag": { - "description": "The newly created tag", - "allOf": [ - { - "$ref": "#/components/schemas/Tag" - } - ] + "organizations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetOrganizations200ResponseOrganizations" + } } }, "required": [ - "tag" + "organizations" ] } } @@ -8929,13 +9359,7 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" - }, - "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" - }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -8946,42 +9370,57 @@ } } }, - "/tags/tag": { + "/organizations/organization": { "get": { - "operationId": "get:tag", - "summary": "Get tag", - "description": "Returns details about a specific tag\n## Scopes\n- `tags`\n- `tags:read`\n", + "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": [ - "Tags" + "Organizations" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/organizations:read" + ] + }, + { + "Authenticator": [ + "organizations:read" + ] + } ], "parameters": [ { - "name": "tag[id]", "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": "The tag to load the details for. All 'tag[]' 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 specific tag", + "description": "Returns information about a specific organization", "content": { "application/json": { "schema": { "properties": { - "tag": { - "description": "The details for the requested tag", - "allOf": [ - { - "$ref": "#/components/schemas/Tag" - } - ] + "organization": { + "$ref": "#/components/schemas/Organization" } }, "required": [ - "tag" + "organization" ] } } @@ -8991,10 +9430,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" }, "404": { - "$ref": "#/components/responses/TagNotFoundResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -9003,68 +9442,92 @@ "$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", + } + }, + "/organizations/organization/policy": { + "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", "tags": [ - "Tags" + "Organizations" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "tag": { - "$ref": "#/components/schemas/TagLookup" - }, - "properties": { - "$ref": "#/components/schemas/TagArguments" - } - }, - "required": [ - "tag", - "properties" - ] - } - } + "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": "Updates a tag with the provided properties", + "description": "Returns the computed policy limits for a organization", "content": { "application/json": { "schema": { "properties": { - "tag": { - "description": "The newly updated tag", - "allOf": [ - { - "$ref": "#/components/schemas/Tag" - } - ] + "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": [ - "tag" + "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/TagNotFoundResponse" - }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -9073,48 +9536,59 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, - "delete": { - "operationId": "delete:tag", - "summary": "Delete a tag", - "description": "Deletes a tag\n## Scopes\n- `tags`\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": [ - "Tags" + "Organizations" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "tag": { - "$ref": "#/components/schemas/TagLookup" - } - }, - "required": [ - "tag" - ] - } - } + "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": "Deletes a tag", + "description": "Returns the computed policy limits for a organization", "content": { "application/json": { "schema": { "properties": { - "tag": { - "description": "The newly deleted tag", - "allOf": [ - { - "$ref": "#/components/schemas/Tag" - } - ] + "policy_limits": { + "$ref": "#/components/schemas/OrganizationPolicy" } }, "required": [ - "tag" + "policy_limits" ] } } @@ -9124,10 +9598,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" }, "404": { - "$ref": "#/components/responses/TagNotFoundResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -9138,50 +9612,78 @@ } } }, - "/tasks/task": { + "/organizations/organization/prices": { "get": { - "operationId": "get:task", - "summary": "Get Task", - "description": "Returns details about a specific task\n## Scopes\n- `tasks`\n- `tasks:read`\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": [ - "Tasks" + "Organizations" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/organizations:read" + ] + }, + { + "Authenticator": [ + "organizations:read" + ] + } ], "parameters": [ { - "name": "task[id]", "in": "query", + "name": "organization[id]", "schema": { "type": "string" }, - "description": "All 'task[]' params are mutually exclusive, only one can be provided." + "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": "Returns details about a specific task", + "description": "Returns the active prices for an organization", "content": { "application/json": { "schema": { "properties": { - "task": { - "$ref": "#/components/schemas/Task" + "currency": { + "$ref": "#/components/schemas/Currency" + }, + "prices": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PriceResourceWithSinglePriceVariant" + }, + "description": "The prices in the default price plan" } }, "required": [ - "task" + "currency", + "prices" ] } } } }, "400": { - "$ref": "#/components/responses/APIAuthenticator400Response" + "$ref": "#/components/responses/PricesNotAvailableForManagedOrganizations400Res" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" }, "404": { - "$ref": "#/components/responses/TaskNotFoundResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -9192,67 +9694,59 @@ } } }, - "/organizations/organization/trash_objects": { + "/organizations/organization/deletion_steps": { "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", + "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": [ - "Trash objects" + "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": [ { - "name": "organization[id]", "in": "query", + "name": "organization[id]", "schema": { "type": "string" }, - "description": "The organization to find all trash objects for. All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." }, { - "name": "organization[sub_domain]", "in": "query", + "name": "organization[sub_domain]", "schema": { "type": "string" }, - "description": "The organization to find all trash objects for. All 'organization[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } - }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer" - } + "description": "All 'organization[]' params are mutually exclusive, only one can be provided." } ], "responses": { "200": { - "description": "Provides a full list of all trash objects for a specific organization", + "description": "Returns details of the steps which must be performed before an organization can be deleted", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" - }, - "trash_objects": { - "type": "array", - "items": { - "$ref": "#/components/schemas/TrashObject" - }, - "description": "The trash objects that belong to this organization" + "steps": { + "$ref": "#/components/schemas/OrganizationDeletionSteps" } }, "required": [ - "pagination", - "trash_objects" + "steps" ] } } @@ -9262,7 +9756,7 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" }, "404": { "$ref": "#/components/responses/OrganizationNotFoundResponse" @@ -9276,25 +9770,39 @@ } } }, - "/organizations/organization/trash_objects/purge_all": { + "/virtual_machines/virtual_machine/start": { "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", + "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": [ - "Trash objects" + "Power functions" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/virtual_machines", + "api.katapult.io/core/v1/virtual_machines:power_actions" + ] + }, + { + "Authenticator": [ + "virtual_machines", + "virtual_machines:power_actions" + ] + } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { - "organization": { - "$ref": "#/components/schemas/OrganizationLookup" + "virtual_machine": { + "$ref": "#/components/schemas/VirtualMachineLookup" } }, "required": [ - "organization" + "virtual_machine" ] } } @@ -9302,13 +9810,13 @@ }, "responses": { "200": { - "description": "Purge all trash objects for an organization", + "description": "Queues a task to start a virtual machine", "content": { "application/json": { "schema": { "properties": { "task": { - "$ref": "#/components/schemas/Task" + "$ref": "#/components/schemas/PostVirtualMachineStart200ResponseTask" } }, "required": [ @@ -9322,13 +9830,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/TaskQueueingErrorResponse" + "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -9339,50 +9847,57 @@ } } }, - "/trash_objects/trash_object": { - "get": { - "operationId": "get:trash_object", - "summary": "Get trash object", - "description": "Provides information on a specific trash object\n## Scopes\n- `trash_objects:read`\n", + "/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": [ - "Trash objects" + "Power functions" ], - "parameters": [ + "security": [ { - "name": "trash_object[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The trash object to find. All 'trash_object[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/virtual_machines", + "api.katapult.io/core/v1/virtual_machines:power_actions" + ] }, { - "name": "trash_object[object_id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The trash object to find. All 'trash_object[]' params are mutually exclusive, only one can be provided." + "Authenticator": [ + "virtual_machines", + "virtual_machines:power_actions" + ] } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine": { + "$ref": "#/components/schemas/VirtualMachineLookup" + } + }, + "required": [ + "virtual_machine" + ] + } + } + } + }, "responses": { "200": { - "description": "Provides information on a specific trash object", + "description": "Queues a task to stop a virtual machine", "content": { "application/json": { "schema": { "properties": { - "trash_object": { - "description": "The requested trash object", - "allOf": [ - { - "$ref": "#/components/schemas/TrashObject" - } - ] + "task": { + "$ref": "#/components/schemas/PostVirtualMachineStop200ResponseTask" } }, "required": [ - "trash_object" + "task" ] } } @@ -9392,10 +9907,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/TrashObjectNotFoundResponse" + "$ref": "#/components/responses/VirtualMachineNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -9404,25 +9922,41 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, - "delete": { - "operationId": "delete:trash_object", - "summary": "Purge a trash object", - "description": "Purge a specific trash object\n## Scopes\n- `trash_objects:purge`\n", + } + }, + "/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", "tags": [ - "Trash objects" + "Power functions" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/virtual_machines", + "api.katapult.io/core/v1/virtual_machines:power_actions" + ] + }, + { + "Authenticator": [ + "virtual_machines", + "virtual_machines:power_actions" + ] + } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { - "trash_object": { - "$ref": "#/components/schemas/TrashObjectLookup" + "virtual_machine": { + "$ref": "#/components/schemas/VirtualMachineLookup" } }, "required": [ - "trash_object" + "virtual_machine" ] } } @@ -9430,13 +9964,13 @@ }, "responses": { "200": { - "description": "Purge a specific trash object", + "description": "Queues a task to shutdown a virtual machine", "content": { "application/json": { "schema": { "properties": { "task": { - "$ref": "#/components/schemas/Task" + "$ref": "#/components/schemas/PostVirtualMachineShutdown200ResponseTask" } }, "required": [ @@ -9453,10 +9987,10 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/TrashObjectNotFoundResponse" + "$ref": "#/components/responses/VirtualMachineNotFoundResponse" }, "406": { - "$ref": "#/components/responses/TaskQueueingErrorResponse" + "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -9467,25 +10001,39 @@ } } }, - "/trash_objects/trash_object/restore": { + "/virtual_machines/virtual_machine/reset": { "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", + "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": [ - "Trash objects" + "Power functions" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/virtual_machines", + "api.katapult.io/core/v1/virtual_machines:power_actions" + ] + }, + { + "Authenticator": [ + "virtual_machines", + "virtual_machines:power_actions" + ] + } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { - "trash_object": { - "$ref": "#/components/schemas/TrashObjectLookup" + "virtual_machine": { + "$ref": "#/components/schemas/VirtualMachineLookup" } }, "required": [ - "trash_object" + "virtual_machine" ] } } @@ -9493,22 +10041,17 @@ }, "responses": { "200": { - "description": "Restore a trashed object to its original location", + "description": "Queues a task to reset a virtual machine", "content": { "application/json": { "schema": { "properties": { - "trash_object": { - "description": "The requested trash object", - "allOf": [ - { - "$ref": "#/components/schemas/TrashObject" - } - ] + "task": { + "$ref": "#/components/schemas/PostVirtualMachineReset200ResponseTask" } }, "required": [ - "trash_object" + "task" ] } } @@ -9521,7 +10064,10 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/TrashObjectNotFoundResponse" + "$ref": "#/components/responses/VirtualMachineNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -9532,42 +10078,63 @@ } } }, - "/users/current": { + "/dns_zones/dns_zone/records": { "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", + "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": [ - "Users" + "Records" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/dns", + "api.katapult.io/core/v1/dns:read" + ] + }, + { + "Authenticator": [ + "dns", + "dns:read" + ] + } ], "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": "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", + "description": "Return a list of all DNS records in a zone", "content": { "application/json": { "schema": { "properties": { - "user": { - "$ref": "#/components/schemas/User" - }, - "organizations": { + "dns_records": { "type": "array", "items": { - "$ref": "#/components/schemas/GetUsersCurrent200ResponseOrganizations" - } - }, - "api_token_id": { - "type": "string", - "nullable": true + "$ref": "#/components/schemas/DNSRecord" + }, + "description": "The DNS record for the provided zone" } }, "required": [ - "user", - "organizations", - "api_token_id" + "dns_records" ] } } @@ -9577,10 +10144,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/NoUserAssociatedWithIdentityResponse" + "$ref": "#/components/responses/DNSZoneNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -9589,50 +10156,75 @@ "$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", + "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": [ - "Users" + "Records" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/dns" + ] + }, + { + "Authenticator": [ + "dns" + ] + } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { - - } + "dns_zone": { + "$ref": "#/components/schemas/DNSZoneLookup" + }, + "properties": { + "$ref": "#/components/schemas/DNSRecordArguments" + } + }, + "required": [ + "dns_zone", + "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", + "description": "Create a new DNS record", "content": { "application/json": { "schema": { "properties": { - "status": { - "type": "boolean" + "dns_record": { + "$ref": "#/components/schemas/DNSRecord" } }, "required": [ - "status" + "dns_record" ] } } } }, "400": { - "$ref": "#/components/responses/IdentityNotLinkedToWebSession400Res" + "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/DNSZoneNotFoundResponse" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -9643,49 +10235,56 @@ } } }, - "/organizations/organization/virtual_machine_groups": { + "/dns_records/dns_record": { "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", + "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": [ - "Virtual machine groups" + "Records" ], - "parameters": [ + "security": [ { - "name": "organization[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The organization to return groups for. All 'organization[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/dns", + "api.katapult.io/core/v1/dns:read" + ] }, { - "name": "organization[sub_domain]", + "Authenticator": [ + "dns", + "dns:read" + ] + } + ], + "parameters": [ + { "in": "query", + "name": "dns_record[id]", "schema": { "type": "string" }, - "description": "The organization to return groups for. All 'organization[]' params are mutually exclusive, only one can be provided." + "description": "All 'dns_record[]' params are mutually exclusive, only one can be provided." } ], "responses": { "200": { - "description": "Return a list of all virtual machine groups for an organization", + "description": "Return details for a specific DNS record", "content": { "application/json": { "schema": { "properties": { - "virtual_machine_groups": { - "type": "array", - "items": { - "$ref": "#/components/schemas/VirtualMachineGroup" - }, - "description": "The virtual machine groups for the provided organization" + "dns_record": { + "description": "The DNS record for the provided organization", + "allOf": [ + { + "$ref": "#/components/schemas/DNSRecord" + } + ] } }, "required": [ - "virtual_machine_groups" + "dns_record" ] } } @@ -9695,10 +10294,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/DNSRecordNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -9708,27 +10307,39 @@ } } }, - "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", + "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": [ - "Virtual machine groups" + "Records" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/dns" + ] + }, + { + "Authenticator": [ + "dns" + ] + } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { - "organization": { - "$ref": "#/components/schemas/OrganizationLookup" + "dns_record": { + "$ref": "#/components/schemas/DNSRecordLookup" }, "properties": { - "$ref": "#/components/schemas/VirtualMachineGroupArguments" + "$ref": "#/components/schemas/DNSRecordArguments" } }, "required": [ - "organization", + "dns_record", "properties" ] } @@ -9737,22 +10348,22 @@ }, "responses": { "200": { - "description": "Create a new virtual machine group with the provided details", + "description": "Update a DNS record properties", "content": { "application/json": { "schema": { "properties": { - "virtual_machine_group": { - "description": "The new virtual machine group details", + "dns_record": { + "description": "The DNS record that has been updated", "allOf": [ { - "$ref": "#/components/schemas/VirtualMachineGroup" + "$ref": "#/components/schemas/DNSRecord" } ] } }, "required": [ - "virtual_machine_group" + "dns_record" ] } } @@ -9762,10 +10373,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" @@ -9777,44 +10388,55 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/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", + }, + "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": [ - "Virtual machine groups" + "Records" ], - "parameters": [ + "security": [ { - "name": "virtual_machine_group[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The virtual machine group to retrieve. All 'virtual_machine_group[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/dns" + ] + }, + { + "Authenticator": [ + "dns" + ] } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "dns_record": { + "$ref": "#/components/schemas/DNSRecordLookup" + } + }, + "required": [ + "dns_record" + ] + } + } + } + }, "responses": { "200": { - "description": "Return detailed information about a virtual machine group", + "description": "Delete a DNS record", "content": { "application/json": { "schema": { "properties": { - "virtual_machine_group": { - "description": "The virtual machine group details", - "allOf": [ - { - "$ref": "#/components/schemas/VirtualMachineGroup" - } - ] + "deleted": { + "type": "boolean" } }, "required": [ - "virtual_machine_group" + "deleted" ] } } @@ -9824,10 +10446,99 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/VirtualMachineGroupNotFoundResponse" + "$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", + "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." + }, + { + "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" @@ -9837,51 +10548,46 @@ } } }, - "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", + "post": { + "operationId": "post:organization_ssh_keys", + "summary": "Add organization SSH key", + "description": "Add an SSH key to an organization", "tags": [ - "Virtual machine groups" + "SSH keys" ], "requestBody": { "content": { "application/json": { "schema": { "properties": { - "virtual_machine_group": { - "$ref": "#/components/schemas/VirtualMachineGroupLookup" + "organization": { + "$ref": "#/components/schemas/OrganizationLookup" }, - "properties": { - "$ref": "#/components/schemas/VirtualMachineGroupArguments" + "ssh_key": { + "$ref": "#/components/schemas/AuthSSHKeyProperties" } }, "required": [ - "virtual_machine_group", - "properties" + "organization", + "ssh_key" ] } } } }, "responses": { - "200": { - "description": "Update a virtual machine group with the provided details", + "201": { + "description": "Add an SSH key to an organization", "content": { "application/json": { "schema": { "properties": { - "virtual_machine_group": { - "description": "The updated virtual machine group details", - "allOf": [ - { - "$ref": "#/components/schemas/VirtualMachineGroup" - } - ] + "ssh_key": { + "$ref": "#/components/schemas/AuthSSHKey" } }, "required": [ - "virtual_machine_group" + "ssh_key" ] } } @@ -9891,10 +10597,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" }, "404": { - "$ref": "#/components/responses/VirtualMachineGroupNotFoundResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "422": { "$ref": "#/components/responses/ValidationErrorResponse" @@ -9906,25 +10612,27 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - }, + } + }, + "/ssh_keys/ssh_key": { "delete": { - "operationId": "delete:virtual_machine_group", - "summary": "Delete a virtual machine group", - "description": "\n## Scopes\n- `virtual_machine_groups`\n", + "operationId": "delete:ssh_key", + "summary": "Delete SSH key", + "description": "Delete an SSH key", "tags": [ - "Virtual machine groups" + "SSH keys" ], "requestBody": { "content": { "application/json": { "schema": { "properties": { - "virtual_machine_group": { - "$ref": "#/components/schemas/VirtualMachineGroupLookup" + "ssh_key": { + "$ref": "#/components/schemas/AuthSSHKeyLookup" } }, "required": [ - "virtual_machine_group" + "ssh_key" ] } } @@ -9932,22 +10640,17 @@ }, "responses": { "200": { - "description": "", + "description": "Delete an SSH key", "content": { "application/json": { "schema": { "properties": { - "virtual_machine_group": { - "description": "The details for the deleted virtual machine group", - "allOf": [ - { - "$ref": "#/components/schemas/VirtualMachineGroup" - } - ] + "ssh_key": { + "$ref": "#/components/schemas/AuthSSHKey" } }, "required": [ - "virtual_machine_group" + "ssh_key" ] } } @@ -9960,7 +10663,7 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/VirtualMachineGroupNotFoundResponse" + "$ref": "#/components/responses/SSHKeyNotFoundResponse" }, "409": { "$ref": "#/components/responses/DeletionRestrictedResponse" @@ -9974,49 +10677,61 @@ } } }, - "/virtual_machines/virtual_machine/network_interfaces": { + "/security_groups/security_group/rules": { "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", + "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": [ - "Virtual machine network interfaces" + "Security group rules" ], - "parameters": [ + "security": [ { - "name": "virtual_machine[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The virtual machine to show network interfaces for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/security_groups", + "api.katapult.io/core/v1/security_groups:read" + ] }, { - "name": "virtual_machine[fqdn]", + "Authenticator": [ + "security_groups", + "security_groups:read" + ] + } + ], + "parameters": [ + { "in": "query", + "name": "security_group[id]", "schema": { "type": "string" }, - "description": "The virtual machine to show network interfaces for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided." + "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" - } + "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" - } + "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 network interfaces", + "description": "Returns a list of all rules for a given security group", "content": { "application/json": { "schema": { @@ -10024,17 +10739,17 @@ "pagination": { "$ref": "#/components/schemas/PaginationObject" }, - "virtual_machine_network_interfaces": { + "security_group_rules": { "type": "array", "items": { - "$ref": "#/components/schemas/GetVirtualMachineNetworkInterfaces200ResponseVirtualMachineNetworkInterfaces" + "$ref": "#/components/schemas/GetSecurityGroupRules200ResponseSecurityGroupRules" }, - "description": "The network interfaces for this virtual machine" + "description": "The security group rules for this security group" } }, "required": [ "pagination", - "virtual_machine_network_interfaces" + "security_group_rules" ] } } @@ -10044,13 +10759,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/VirtualMachineNotFoundResponse" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "$ref": "#/components/responses/SecurityGroupNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -10059,68 +10771,64 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/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", + }, + "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", "tags": [ - "Virtual machine network interfaces" + "Security group rules" ], - "parameters": [ - { - "name": "virtual_machine[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The virtual machine to find the network interface for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "virtual_machine[fqdn]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The virtual machine to find the network interface for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided." - }, + "security": [ { - "name": "network[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The network to find the network interface for. All 'network[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/security_groups" + ] }, { - "name": "network[permalink]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The network to find the network interface for. All 'network[]' params are mutually exclusive, only one can be provided." + "Authenticator": [ + "security_groups" + ] } ], - "responses": { - "200": { - "description": "Return information about a virtual machine network interface for a specific network", - "content": { - "application/json": { - "schema": { + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "security_group": { + "$ref": "#/components/schemas/SecurityGroupLookup" + }, "properties": { - "virtual_machine_network_interface": { - "description": "The network interface details", + "$ref": "#/components/schemas/SecurityGroupRuleArguments" + } + }, + "required": [ + "security_group", + "properties" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Create a new security group rule", + "content": { + "application/json": { + "schema": { + "properties": { + "security_group_rule": { + "description": "The security group rule that has been created", "allOf": [ { - "$ref": "#/components/schemas/GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterface" + "$ref": "#/components/schemas/PostSecurityGroupRules200ResponseSecurityGroupRule" } ] } }, "required": [ - "virtual_machine_network_interface" + "security_group_rule" ] } } @@ -10130,13 +10838,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/InterfaceNotFoundNetworkNotFoundVirtualMachineNotFound404Res" + "$ref": "#/components/responses/SecurityGroupNotFoundResponse" }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -10147,42 +10855,56 @@ } } }, - "/virtual_machine_network_interfaces/virtual_machine_network_interface": { + "/security_groups/rules/security_group_rule": { "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", + "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": [ - "Virtual machine network interfaces" + "Security group rules" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/security_groups", + "api.katapult.io/core/v1/security_groups:read" + ] + }, + { + "Authenticator": [ + "security_groups", + "security_groups:read" + ] + } ], "parameters": [ { - "name": "virtual_machine_network_interface[id]", "in": "query", + "name": "security_group_rule[id]", "schema": { "type": "string" }, - "description": "The network interface to show the information for. All 'virtual_machine_network_interface[]' params are mutually exclusive, only one can be provided." + "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." } ], "responses": { "200": { - "description": "Return information about a given virtual machine network interface", + "description": "Returns details about a security group rule", "content": { "application/json": { "schema": { "properties": { - "virtual_machine_network_interface": { - "description": "The network interface details", + "security_group_rule": { + "description": "The resolved security group rule", "allOf": [ { - "$ref": "#/components/schemas/GetVMNIVMNI200ResponseVirtualMachineNetworkInterface" + "$ref": "#/components/schemas/GetSecurityGroupsRulesSecurityGroupRule200ResponseSecurityGroupRule" } ] } }, "required": [ - "virtual_machine_network_interface" + "security_group_rule" ] } } @@ -10192,10 +10914,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/VirtualMachineNetworkInterfaceNotFoundResponse" + "$ref": "#/components/responses/SecurityGroupRuleNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -10204,98 +10926,41 @@ "$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", + }, + "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": [ - "Virtual machine network interfaces" + "Security group rules" ], - "parameters": [ + "security": [ { - "name": "virtual_machine_network_interface[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "The network interface to get IP addresses for. All 'virtual_machine_network_interface[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/security_groups" + ] }, { - "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" + "Authenticator": [ + "security_groups" + ] } - } - } - }, - "/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", - "tags": [ - "Virtual machine network interfaces" ], "requestBody": { "content": { "application/json": { "schema": { "properties": { - "virtual_machine_network_interface": { - "$ref": "#/components/schemas/VirtualMachineNetworkInterfaceLookup" + "security_group_rule": { + "$ref": "#/components/schemas/SecurityGroupRuleLookup" }, - "ip_address": { - "$ref": "#/components/schemas/IPAddressLookup" + "properties": { + "$ref": "#/components/schemas/SecurityGroupRuleArguments" } }, "required": [ - "virtual_machine_network_interface", - "ip_address" + "security_group_rule", + "properties" ] } } @@ -10303,22 +10968,22 @@ }, "responses": { "200": { - "description": "Allocate a specific IP address to a given network interface", + "description": "Updates a security group rule with new properties", "content": { "application/json": { "schema": { "properties": { - "virtual_machine_network_interface": { - "description": "The network interface details", + "security_group_rule": { + "description": "The security group that has been updated", "allOf": [ { - "$ref": "#/components/schemas/PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterface" + "$ref": "#/components/schemas/PatchSecurityGroupsRulesSecurityGroupRule200ResponseSecurityGroupRule" } ] } }, "required": [ - "virtual_machine_network_interface" + "security_group_rule" ] } } @@ -10328,13 +10993,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/IPAddressNotFoundVirtualMachineNetworkInterfaceNotFound404Res" + "$ref": "#/components/responses/SecurityGroupRuleNotFoundResponse" }, "422": { - "$ref": "#/components/responses/IPAlreadyAllocatedInvalidIP422Res" + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -10343,31 +11008,37 @@ "$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", + }, + "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": [ - "Virtual machine network interfaces" + "Security group rules" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/security_groups" + ] + }, + { + "Authenticator": [ + "security_groups" + ] + } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { - "virtual_machine_network_interface": { - "$ref": "#/components/schemas/VirtualMachineNetworkInterfaceLookup" - }, - "address_version": { - "$ref": "#/components/schemas/IPAddressVersionEnum" + "security_group_rule": { + "$ref": "#/components/schemas/SecurityGroupRuleLookup" } }, "required": [ - "virtual_machine_network_interface", - "address_version" + "security_group_rule" ] } } @@ -10375,22 +11046,22 @@ }, "responses": { "200": { - "description": "Add a new IP address to this organization and allocate it to a virtual machine network interface", + "description": "Delete a security group rule", "content": { "application/json": { "schema": { "properties": { - "ip_address": { - "description": "The newly allocated IP address", + "security_group_rule": { + "description": "The security group rule that has been destroyed", "allOf": [ { - "$ref": "#/components/schemas/IPAddress" + "$ref": "#/components/schemas/DeleteSecurityGroupsRulesSecurityGroupRule200ResponseSecurityGroupRule" } ] } }, "required": [ - "ip_address" + "security_group_rule" ] } } @@ -10403,135 +11074,105 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/VirtualMachineNetworkInterfaceNotFoundResponse" + "$ref": "#/components/responses/SecurityGroupRuleNotFoundResponse" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "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", + "/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": [ - "Virtual machine network interfaces" + "Security groups" ], - "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" - ] - } - } + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/security_groups", + "api.katapult.io/core/v1/security_groups:read" + ] + }, + { + "Authenticator": [ + "security_groups", + "security_groups:read" + ] } - }, - "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_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", - "tags": [ - "Virtual machine packages" ], "parameters": [ { - "name": "organization[id]", "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). 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." }, { - "name": "organization[sub_domain]", "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). 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 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" - } + "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" - } + "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", + "description": "Returns a list of all security groups for a given organization", "content": { "application/json": { "schema": { @@ -10539,16 +11180,17 @@ "pagination": { "$ref": "#/components/schemas/PaginationObject" }, - "virtual_machine_packages": { + "security_groups": { "type": "array", "items": { - "$ref": "#/components/schemas/VirtualMachinePackage" - } + "$ref": "#/components/schemas/SecurityGroup" + }, + "description": "The security groups owned by this organization" } }, "required": [ "pagination", - "virtual_machine_packages" + "security_groups" ] } } @@ -10558,7 +11200,7 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" }, "404": { "$ref": "#/components/responses/OrganizationNotFoundResponse" @@ -10570,47 +11212,77 @@ "$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", + }, + "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", "tags": [ - "Virtual machine packages" + "Security groups" ], - "parameters": [ + "security": [ { - "name": "virtual_machine_package[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "All 'virtual_machine_package[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/security_groups" + ] }, { - "name": "virtual_machine_package[permalink]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "All 'virtual_machine_package[]' params are mutually exclusive, only one can be provided." + "Authenticator": [ + "security_groups" + ] } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "organization": { + "$ref": "#/components/schemas/OrganizationLookup" + }, + "properties": { + "$ref": "#/components/schemas/SecurityGroupArguments" + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } + } + }, + "required": [ + "organization", + "properties" + ] + } + } + } + }, "responses": { "200": { - "description": "Return information about a given virtual machine package", + "description": "Create a new security group for a given organization", "content": { "application/json": { "schema": { "properties": { - "virtual_machine_package": { - "$ref": "#/components/schemas/VirtualMachinePackage" + "security_group": { + "description": "The security group that has been created", + "allOf": [ + { + "$ref": "#/components/schemas/SecurityGroup" + } + ] + }, + "annotations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/KeyValue" + } } }, "required": [ - "virtual_machine_package" + "security_group", + "annotations" ] } } @@ -10620,10 +11292,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/OrganizationNotActivatedPermissionDeniedResourceCreationRestricted403Res" }, "404": { - "$ref": "#/components/responses/VirtualMachinePackageNotFoundResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -10634,82 +11309,63 @@ } } }, - "/organizations/organization/virtual_machines": { + "/security_groups/security_group": { "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", + "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 machines" + "Security groups" ], - "parameters": [ - { - "name": "organization[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." - }, + "security": [ { - "name": "organization[sub_domain]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "All 'organization[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/security_groups", + "api.katapult.io/core/v1/security_groups:read" + ] }, { - "name": "annotations[key]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided." - }, + "Authenticator": [ + "security_groups", + "security_groups:read" + ] + } + ], + "parameters": [ { - "name": "annotations[value]", "in": "query", + "name": "security_group[id]", "schema": { "type": "string" }, - "description": "An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided." - }, - { - "name": "page", - "in": "query", - "schema": { - "type": "integer" - } - }, - { - "name": "per_page", - "in": "query", - "schema": { - "type": "integer" - } + "description": "The security group to return the details for. \n\n All 'security_group[]' params are mutually exclusive, only one can be provided." } ], "responses": { "200": { - "description": "Returns a list of all virtual machines for a given organization", + "description": "Returns details about a security group", "content": { "application/json": { "schema": { "properties": { - "pagination": { - "$ref": "#/components/schemas/PaginationObject" + "security_group": { + "description": "The security group", + "allOf": [ + { + "$ref": "#/components/schemas/SecurityGroup" + } + ] }, - "virtual_machines": { + "annotations": { "type": "array", "items": { - "$ref": "#/components/schemas/GetOrganizationVirtualMachines200ResponseVirtualMachines" + "$ref": "#/components/schemas/KeyValue" } } }, "required": [ - "pagination", - "virtual_machines" + "security_group", + "annotations" ] } } @@ -10719,10 +11375,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/SecurityGroupNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -10731,96 +11387,36 @@ "$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", + }, + "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", "tags": [ - "Virtual machines" + "Security groups" ], - "parameters": [ + "security": [ { - "name": "virtual_machine[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "All 'virtual_machine[]' params are mutually exclusive, only one can be provided." + "OAuth2": [ + "api.katapult.io/core/v1/security_groups" + ] }, { - "name": "virtual_machine[fqdn]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "All 'virtual_machine[]' params are mutually exclusive, only one can be provided." + "Authenticator": [ + "security_groups" + ] } ], - "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", - "tags": [ - "Virtual machines" - ], "requestBody": { "content": { "application/json": { "schema": { "properties": { - "virtual_machine": { - "$ref": "#/components/schemas/VirtualMachineLookup" + "security_group": { + "$ref": "#/components/schemas/SecurityGroupLookup" }, "properties": { - "$ref": "#/components/schemas/VirtualMachineArguments" + "$ref": "#/components/schemas/SecurityGroupArguments" }, "annotations": { "type": "array", @@ -10830,7 +11426,7 @@ } }, "required": [ - "virtual_machine", + "security_group", "properties" ] } @@ -10839,16 +11435,16 @@ }, "responses": { "200": { - "description": "Update the properties of a virtual machine", + "description": "Updates a security group with new properties", "content": { "application/json": { "schema": { "properties": { - "virtual_machine": { - "description": "The newly updated virtual machine", + "security_group": { + "description": "The security group that has been updated", "allOf": [ { - "$ref": "#/components/schemas/PatchVirtualMachine200ResponseVirtualMachine" + "$ref": "#/components/schemas/SecurityGroup" } ] }, @@ -10860,7 +11456,7 @@ } }, "required": [ - "virtual_machine", + "security_group", "annotations" ] } @@ -10871,13 +11467,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/APIAuthenticator403Response" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/VirtualMachineNotFoundResponse" + "$ref": "#/components/responses/SecurityGroupNotFoundResponse" }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -10888,42 +11484,58 @@ } }, "delete": { - "operationId": "delete:virtual_machine", - "summary": "Delete virtual machine", - "description": "Moves an existing virtual machine to the trash\n## Scopes\n- `virtual_machines`\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 machines" + "Security groups" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/security_group" + ] + }, + { + "Authenticator": [ + "security_group" + ] + } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { - "virtual_machine": { - "$ref": "#/components/schemas/VirtualMachineLookup" + "security_group": { + "$ref": "#/components/schemas/SecurityGroupLookup" } - } + }, + "required": [ + "security_group" + ] } } } }, "responses": { "200": { - "description": "Moves an existing virtual machine to the trash", + "description": "Delete a security group", "content": { "application/json": { "schema": { "properties": { - "trash_object": { - "$ref": "#/components/schemas/TrashObject" - }, - "virtual_machine": { - "$ref": "#/components/schemas/DeleteVirtualMachine200ResponseVirtualMachine" + "security_group": { + "description": "The security group that has been destroyed", + "allOf": [ + { + "$ref": "#/components/schemas/DeleteSecurityGroup200ResponseSecurityGroup" + } + ] } }, "required": [ - "trash_object", - "virtual_machine" + "security_group" ] } } @@ -10936,10 +11548,13 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/VirtualMachineNotFoundResponse" + "$ref": "#/components/responses/SecurityGroupNotFoundResponse" }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" + "409": { + "$ref": "#/components/responses/DeletionRestrictedResponse" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -10950,47 +11565,87 @@ } } }, - "/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", + "/organizations/organization/tags": { + "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", "tags": [ - "Virtual machines" + "Tags" ], - "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" - ] - } - } + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/tags", + "api.katapult.io/core/v1/tags:read" + ] + }, + { + "Authenticator": [ + "tags", + "tags: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]", + "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." + } + ], "responses": { "200": { - "description": "Change a package for a virtual machine", + "description": "Returns a list of all tags for an organization", "content": { "application/json": { "schema": { "properties": { - "task": { - "$ref": "#/components/schemas/Task" + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "tags": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetOrganizationTags200ResponseTags" + }, + "description": "The details for the tags on the organization" } }, "required": [ - "task" + "pagination", + "tags" ] } } @@ -11000,13 +11655,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspended403Res" }, "404": { - "$ref": "#/components/responses/VirtualMachineNotFoundVirtualMachinePackageNotFound404Res" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -11015,31 +11667,41 @@ "$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", + }, + "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", "tags": [ - "Virtual machines" + "Tags" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/tags" + ] + }, + { + "Authenticator": [ + "tags" + ] + } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { - "virtual_machine": { - "$ref": "#/components/schemas/VirtualMachineLookup" + "organization": { + "$ref": "#/components/schemas/OrganizationLookup" }, - "resources": { - "$ref": "#/components/schemas/VirtualMachineFlexibleResources" + "properties": { + "$ref": "#/components/schemas/TagArguments" } }, "required": [ - "virtual_machine", - "resources" + "organization", + "properties" ] } } @@ -11047,17 +11709,22 @@ }, "responses": { "200": { - "description": "Change the flexible resources assigned to a virtual machine", + "description": "Creates a new tag with the provided properties", "content": { "application/json": { "schema": { "properties": { - "task": { - "$ref": "#/components/schemas/Task" + "tag": { + "description": "The newly created tag", + "allOf": [ + { + "$ref": "#/components/schemas/Tag" + } + ] } }, "required": [ - "task" + "tag" ] } } @@ -11067,13 +11734,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/FlexibleResourcesUnavailableToOrganizationPermissionDenied403Res" + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/VirtualMachineNotFoundResponse" + "$ref": "#/components/responses/OrganizationNotFoundResponse" }, - "406": { - "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -11084,52 +11751,56 @@ } } }, - "/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", + "/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", "tags": [ - "Virtual machines" + "Tags" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "virtual_machine": { - "$ref": "#/components/schemas/VirtualMachineLookup" - }, - "ip_address": { - "$ref": "#/components/schemas/IPAddressLookup" - } - }, - "required": [ - "virtual_machine", - "ip_address" - ] - } - } + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/tags", + "api.katapult.io/core/v1/tags:read" + ] + }, + { + "Authenticator": [ + "tags", + "tags:read" + ] } - }, + ], + "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": "Allocate an IP address to a virtual machine, automatically determining the network interface", + "description": "Returns details about a specific tag", "content": { "application/json": { "schema": { "properties": { - "ip_address": { - "description": "The newly allocated IP address", + "tag": { + "description": "The details for the requested tag", "allOf": [ { - "$ref": "#/components/schemas/IPAddress" + "$ref": "#/components/schemas/Tag" } ] } }, "required": [ - "ip_address" + "tag" ] } } @@ -11142,13 +11813,7 @@ "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/IPAddressNotFoundVirtualMachineNotFound404Res" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashResponse" - }, - "422": { - "$ref": "#/components/responses/IPAlreadyAllocatedNoInterfaceAvailable422Res" + "$ref": "#/components/responses/TagNotFoundResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -11157,147 +11822,64 @@ "$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", + }, + "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", "tags": [ - "Virtual machines" - ], - "parameters": [ - + "Tags" ], - "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" + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/tags" + ] }, - "503": { - "$ref": "#/components/responses/APIAuthenticator503Response" + { + "Authenticator": [ + "tags" + ] } - } - } - }, - "/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", - "tags": [ - "Virtual machines", - "Build" ], "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" + "tag": { + "$ref": "#/components/schemas/TagLookup" }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } + "properties": { + "$ref": "#/components/schemas/TagArguments" } }, "required": [ - "organization", - "package" + "tag", + "properties" ] } } } }, "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": "Updates a tag with the provided properties", "content": { "application/json": { "schema": { "properties": { - "task": { - "$ref": "#/components/schemas/PostOrganizationVirtualMachinesBuild201ResponseTask" - }, - "build": { - "description": "Deprecated, please use \"virtual_machine_build\" instead", + "tag": { + "description": "The newly updated tag", "allOf": [ { - "$ref": "#/components/schemas/PostOrganizationVirtualMachinesBuild201ResponseBuild" + "$ref": "#/components/schemas/Tag" } ] - }, - "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" + "tag" ] } } @@ -11307,13 +11889,13 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedPermissionDeniedResourceCreationRestricted403Res" + "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/DataCenterNotFoundVirtualMachinePackageNotFoundZoneNotFound404Res" + "$ref": "#/components/responses/TagNotFoundResponse" }, "422": { - "$ref": "#/components/responses/LocationRequiredOneSystemDiskRequiredValidationError422Res" + "$ref": "#/components/responses/ValidationErrorResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -11322,79 +11904,2458 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/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", + }, + "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", "tags": [ - "Virtual machines", - "Build" + "Tags" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/tags" + ] + }, + { + "Authenticator": [ + "tags" + ] + } ], "requestBody": { "content": { "application/json": { "schema": { "properties": { - "organization": { - "$ref": "#/components/schemas/OrganizationLookup" - }, - "xml": { - "type": "string" - }, - "annotations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/KeyValue" - } + "tag": { + "$ref": "#/components/schemas/TagLookup" } }, "required": [ - "organization", - "xml" + "tag" ] } } } }, "responses": { - "201": { - "description": "Builds a new virtual machine by receiving a virtual machine spec document", + "200": { + "description": "Deletes a tag", "content": { "application/json": { "schema": { "properties": { - "task": { - "$ref": "#/components/schemas/PostOrganizationVirtualMachinesBuildFromSpec201ResponseTask" - }, - "build": { - "description": "Deprecated, please use \"virtual_machine_build\" instead", + "tag": { + "description": "The newly deleted tag", "allOf": [ { - "$ref": "#/components/schemas/PostOrganizationVirtualMachinesBuildFromSpec201ResponseBuild" + "$ref": "#/components/schemas/Tag" } ] - }, - "virtual_machine_build": { - "$ref": "#/components/schemas/PostOrganizationVirtualMachinesBuildFromSpec201ResponseVirtualMachineBuild" - }, - "hostname": { - "type": "string" - }, - "annotations": { - "type": "array", + } + }, + "required": [ + "tag" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/PermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/TagNotFoundResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + } + }, + "/tasks/task": { + "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", + "tags": [ + "Tasks" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/tasks", + "api.katapult.io/core/v1/tasks:read" + ] + }, + { + "Authenticator": [ + "tasks", + "tasks:read" + ] + } + ], + "parameters": [ + { + "in": "query", + "name": "task[id]", + "schema": { + "type": "string" + }, + "description": "All 'task[]' params are mutually exclusive, only one can be provided." + } + ], + "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", + "content": { + "application/json": { + "schema": { + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "trash_objects": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TrashObject" + }, + "description": "The trash objects that belong to this organization" + } + }, + "required": [ + "pagination", + "trash_objects" + ] + } + } + } + }, + "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" + } + } + } + }, + "/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": [ + "Trash objects" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/trash_objects:purge" + ] + }, + { + "Authenticator": [ + "trash_objects:purge" + ] + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "organization": { + "$ref": "#/components/schemas/OrganizationLookup" + } + }, + "required": [ + "organization" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Purge all trash objects for an organization", + "content": { + "application/json": { + "schema": { + "properties": { + "task": { + "$ref": "#/components/schemas/Task" + } + }, + "required": [ + "task" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/OrganizationNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/TaskQueueingErrorResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + } + }, + "/trash_objects/trash_object": { + "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", + "tags": [ + "Trash objects" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/trash_objects:read" + ] + }, + { + "Authenticator": [ + "trash_objects: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]", + "schema": { + "type": "string" + }, + "description": "The trash object to find. \n\n All 'trash_object[]' params are mutually exclusive, only one can be provided." + } + ], + "responses": { + "200": { + "description": "Provides information on a specific trash object", + "content": { + "application/json": { + "schema": { + "properties": { + "trash_object": { + "description": "The requested trash object", + "allOf": [ + { + "$ref": "#/components/schemas/TrashObject" + } + ] + } + }, + "required": [ + "trash_object" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/APIAuthenticator403Response" + }, + "404": { + "$ref": "#/components/responses/TrashObjectNotFoundResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + }, + "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": [ + "Trash objects" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/trash_objects:purge" + ] + }, + { + "Authenticator": [ + "trash_objects:purge" + ] + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "trash_object": { + "$ref": "#/components/schemas/TrashObjectLookup" + } + }, + "required": [ + "trash_object" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Purge a specific trash object", + "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/TrashObjectNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/TaskQueueingErrorResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$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", + "tags": [ + "Trash objects" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/trash_objects:restore" + ] + }, + { + "Authenticator": [ + "trash_objects:restore" + ] + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "trash_object": { + "$ref": "#/components/schemas/TrashObjectLookup" + } + }, + "required": [ + "trash_object" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Restore a trashed object to its original location", + "content": { + "application/json": { + "schema": { + "properties": { + "trash_object": { + "description": "The requested trash object", + "allOf": [ + { + "$ref": "#/components/schemas/TrashObject" + } + ] + } + }, + "required": [ + "trash_object" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$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" + }, + "403": { + "$ref": "#/components/responses/APIAuthenticator403Response" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + } + }, + "/organizations/organization/virtual_networks": { + "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", + "tags": [ + "Virtual Networks" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/virtual_networks", + "api.katapult.io/core/v1/virtual_networks:read" + ] + }, + { + "Authenticator": [ + "virtual_networks", + "virtual_networks:read" + ] + } + ], + "parameters": [ + { + "in": "query", + "name": "organization[id]", + "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." + }, + { + "in": "query", + "name": "organization[sub_domain]", + "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." + }, + { + "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 networks for an organization", + "content": { + "application/json": { + "schema": { + "properties": { + "pagination": { + "$ref": "#/components/schemas/PaginationObject" + }, + "virtual_networks": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VirtualNetwork" + }, + "description": "The virtual networks for the provided organization" + } + }, + "required": [ + "pagination", + "virtual_networks" + ] + } + } + } + }, + "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_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 Networks" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/virtual_networks" + ] + }, + { + "Authenticator": [ + "virtual_networks" + ] + } + ], + "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": "Create a new virtual network with the provided details", + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_network": { + "description": "The new virtual network details", + "allOf": [ + { + "$ref": "#/components/schemas/VirtualNetwork" + } + ] + } + }, + "required": [ + "virtual_network" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/DataCenterNotFoundOrganizationNotFound404Res" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + } + }, + "/virtual_networks/virtual_network": { + "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", + "tags": [ + "Virtual Networks" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/virtual_networks", + "api.katapult.io/core/v1/virtual_networks:read" + ] + }, + { + "Authenticator": [ + "virtual_networks", + "virtual_networks:read" + ] + } + ], + "parameters": [ + { + "in": "query", + "name": "virtual_network[id]", + "schema": { + "type": "string" + }, + "description": "The virtual network to retrieve. \n\n All 'virtual_network[]' params are mutually exclusive, only one can be provided." + } + ], + "responses": { + "200": { + "description": "Return detailed information about a virtual network", + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_network": { + "description": "The virtual network details", + "allOf": [ + { + "$ref": "#/components/schemas/VirtualNetwork" + } + ] + } + }, + "required": [ + "virtual_network" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/PermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/VirtualNetworkNotFoundResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + }, + "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 Networks" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/virtual_networks" + ] + }, + { + "Authenticator": [ + "virtual_networks" + ] + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_network": { + "$ref": "#/components/schemas/VirtualNetworkLookup" + }, + "properties": { + "$ref": "#/components/schemas/VirtualNetworkArguments" + } + }, + "required": [ + "virtual_network", + "properties" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Update a virtual network with the provided details", + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_network": { + "description": "The updated virtual network details", + "allOf": [ + { + "$ref": "#/components/schemas/VirtualNetwork" + } + ] + } + }, + "required": [ + "virtual_network" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/PermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/VirtualNetworkNotFoundResponse" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + }, + "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 Networks" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/virtual_networks" + ] + }, + { + "Authenticator": [ + "virtual_networks" + ] + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_network": { + "$ref": "#/components/schemas/VirtualNetworkLookup" + } + }, + "required": [ + "virtual_network" + ] + } + } + } + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_network": { + "description": "The details for the deleted virtual network", + "allOf": [ + { + "$ref": "#/components/schemas/VirtualNetwork" + } + ] + } + }, + "required": [ + "virtual_network" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/PermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/VirtualNetworkNotFoundResponse" + }, + "409": { + "$ref": "#/components/responses/DeletionRestrictedResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + } + }, + "/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 machine groups" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/virtual_machine_groups", + "api.katapult.io/core/v1/virtual_machine_groups:read" + ] + }, + { + "Authenticator": [ + "virtual_machine_groups", + "virtual_machine_groups:read" + ] + } + ], + "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": "Return a list of all virtual machine groups for an organization", + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine_groups": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VirtualMachineGroup" + }, + "description": "The virtual machine groups for the provided organization" + } + }, + "required": [ + "virtual_machine_groups" + ] + } + } + } + }, + "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_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 machine groups" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/virtual_machine_groups" + ] + }, + { + "Authenticator": [ + "virtual_machine_groups" + ] + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "organization": { + "$ref": "#/components/schemas/OrganizationLookup" + }, + "properties": { + "$ref": "#/components/schemas/VirtualMachineGroupArguments" + } + }, + "required": [ + "organization", + "properties" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Create a new virtual machine group with the provided details", + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine_group": { + "description": "The new virtual machine group details", + "allOf": [ + { + "$ref": "#/components/schemas/VirtualMachineGroup" + } + ] + } + }, + "required": [ + "virtual_machine_group" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/OrganizationNotFoundResponse" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + } + }, + "/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 machine groups" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/virtual_machine_groups", + "api.katapult.io/core/v1/virtual_machine_groups:read" + ] + }, + { + "Authenticator": [ + "virtual_machine_groups", + "virtual_machine_groups:read" + ] + } + ], + "parameters": [ + { + "in": "query", + "name": "virtual_machine_group[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." + } + ], + "responses": { + "200": { + "description": "Return detailed information about a virtual machine group", + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine_group": { + "description": "The virtual machine group details", + "allOf": [ + { + "$ref": "#/components/schemas/VirtualMachineGroup" + } + ] + } + }, + "required": [ + "virtual_machine_group" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/PermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/VirtualMachineGroupNotFoundResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + }, + "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 machine groups" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/virtual_machine_groups" + ] + }, + { + "Authenticator": [ + "virtual_machine_groups" + ] + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine_group": { + "$ref": "#/components/schemas/VirtualMachineGroupLookup" + }, + "properties": { + "$ref": "#/components/schemas/VirtualMachineGroupArguments" + } + }, + "required": [ + "virtual_machine_group", + "properties" + ] + } + } + } + }, + "responses": { + "200": { + "description": "Update a virtual machine group with the provided details", + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine_group": { + "description": "The updated virtual machine group details", + "allOf": [ + { + "$ref": "#/components/schemas/VirtualMachineGroup" + } + ] + } + }, + "required": [ + "virtual_machine_group" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/PermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/VirtualMachineGroupNotFoundResponse" + }, + "422": { + "$ref": "#/components/responses/ValidationErrorResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + }, + "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 machine groups" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/virtual_machine_groups" + ] + }, + { + "Authenticator": [ + "virtual_machine_groups" + ] + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine_group": { + "$ref": "#/components/schemas/VirtualMachineGroupLookup" + } + }, + "required": [ + "virtual_machine_group" + ] + } + } + } + }, + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "properties": { + "virtual_machine_group": { + "description": "The details for the deleted virtual machine group", + "allOf": [ + { + "$ref": "#/components/schemas/VirtualMachineGroup" + } + ] + } + }, + "required": [ + "virtual_machine_group" + ] + } + } + } + }, + "400": { + "$ref": "#/components/responses/APIAuthenticator400Response" + }, + "403": { + "$ref": "#/components/responses/PermissionDenied403Res" + }, + "404": { + "$ref": "#/components/responses/VirtualMachineGroupNotFoundResponse" + }, + "409": { + "$ref": "#/components/responses/DeletionRestrictedResponse" + }, + "429": { + "$ref": "#/components/responses/APIAuthenticator429Response" + }, + "503": { + "$ref": "#/components/responses/APIAuthenticator503Response" + } + } + } + }, + "/virtual_machines/virtual_machine/network_interfaces": { + "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", + "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 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 virtual machine network interfaces", + "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" + } + }, + "required": [ + "pagination", + "virtual_machine_network_interfaces" + ] + } + } + } + }, + "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" + } + } + } + }, + "/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. \n\n All 'virtual_machine_network_interface[]' params are mutually exclusive, only one can be provided." + } + ], + "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" + } + } + } + }, + "/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. \n\n All 'virtual_machine_network_interface[]' params are mutually exclusive, only one can be provided." + }, + { + "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_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/KeyValue" + "$ref": "#/components/schemas/VirtualMachinePackage" } } }, "required": [ - "task", - "build", - "virtual_machine_build", - "hostname", + "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 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." + } + ], + "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" ] } @@ -11402,16 +14363,16 @@ } }, "400": { - "$ref": "#/components/responses/InvalidSpecXML400Res" + "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/OrganizationNotActivatedOrganizationSuspendedPermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/OrganizationNotFoundResponse" + "$ref": "#/components/responses/VirtualMachineNotFoundResponse" }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -11420,36 +14381,66 @@ "$ref": "#/components/responses/APIAuthenticator503Response" } } - } - }, - "/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", + }, + "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", - "Build" + "Virtual machines" ], - "parameters": [ + "security": [ { - "name": "virtual_machine_build[id]", - "in": "query", - "schema": { - "type": "string" - }, - "description": "All 'virtual_machine_build[]' 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": { + "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": "Return virtual machine build information", + "description": "Update the properties of a virtual machine", "content": { "application/json": { "schema": { "properties": { - "virtual_machine_build": { - "$ref": "#/components/schemas/GetVirtualMachinesBuildsVirtualMachineBuild200ResponseVirtualMachineBuild" + "virtual_machine": { + "description": "The newly updated virtual machine", + "allOf": [ + { + "$ref": "#/components/schemas/PatchVirtualMachine200ResponseVirtualMachine" + } + ] }, "annotations": { "type": "array", @@ -11459,7 +14450,7 @@ } }, "required": [ - "virtual_machine_build", + "virtual_machine", "annotations" ] } @@ -11473,7 +14464,10 @@ "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/VirtualMachineBuildNotFoundResponse" + "$ref": "#/components/responses/VirtualMachineNotFoundResponse" + }, + "406": { + "$ref": "#/components/responses/ObjectInTrashResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -11482,16 +14476,25 @@ "$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", + }, + "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", - "Power functions" + "Virtual machines" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/virtual_machines" + ] + }, + { + "Authenticator": [ + "virtual_machines" + ] + } ], "requestBody": { "content": { @@ -11501,27 +14504,28 @@ "virtual_machine": { "$ref": "#/components/schemas/VirtualMachineLookup" } - }, - "required": [ - "virtual_machine" - ] + } } } } }, "responses": { "200": { - "description": "Queues a task to start a virtual machine", + "description": "Moves an existing virtual machine to the trash", "content": { "application/json": { "schema": { "properties": { - "task": { - "$ref": "#/components/schemas/PostVirtualMachineStart200ResponseTask" + "trash_object": { + "$ref": "#/components/schemas/TrashObject" + }, + "virtual_machine": { + "$ref": "#/components/schemas/DeleteVirtualMachine200ResponseVirtualMachine" } }, "required": [ - "task" + "trash_object", + "virtual_machine" ] } } @@ -11537,7 +14541,7 @@ "$ref": "#/components/responses/VirtualMachineNotFoundResponse" }, "406": { - "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" + "$ref": "#/components/responses/ObjectInTrashResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -11548,14 +14552,25 @@ } } }, - "/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", + "/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", - "Power functions" + "Virtual machines" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/virtual_machines" + ] + }, + { + "Authenticator": [ + "virtual_machines" + ] + } ], "requestBody": { "content": { @@ -11564,10 +14579,14 @@ "properties": { "virtual_machine": { "$ref": "#/components/schemas/VirtualMachineLookup" + }, + "virtual_machine_package": { + "$ref": "#/components/schemas/VirtualMachinePackageLookup" } }, "required": [ - "virtual_machine" + "virtual_machine", + "virtual_machine_package" ] } } @@ -11575,13 +14594,13 @@ }, "responses": { "200": { - "description": "Queues a task to stop a virtual machine", + "description": "Change a package for a virtual machine", "content": { "application/json": { "schema": { "properties": { "task": { - "$ref": "#/components/schemas/PostVirtualMachineStop200ResponseTask" + "$ref": "#/components/schemas/Task" } }, "required": [ @@ -11598,7 +14617,7 @@ "$ref": "#/components/responses/PermissionDenied403Res" }, "404": { - "$ref": "#/components/responses/VirtualMachineNotFoundResponse" + "$ref": "#/components/responses/VirtualMachineNotFoundVirtualMachinePackageNotFound404Res" }, "406": { "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" @@ -11612,14 +14631,25 @@ } } }, - "/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", + "/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", - "Power functions" + "Virtual machines" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/virtual_machines" + ] + }, + { + "Authenticator": [ + "virtual_machines" + ] + } ], "requestBody": { "content": { @@ -11628,10 +14658,14 @@ "properties": { "virtual_machine": { "$ref": "#/components/schemas/VirtualMachineLookup" + }, + "resources": { + "$ref": "#/components/schemas/VirtualMachineFlexibleResources" } }, "required": [ - "virtual_machine" + "virtual_machine", + "resources" ] } } @@ -11639,13 +14673,13 @@ }, "responses": { "200": { - "description": "Queues a task to shutdown a virtual machine", + "description": "Change the flexible resources assigned to a virtual machine", "content": { "application/json": { "schema": { "properties": { "task": { - "$ref": "#/components/schemas/PostVirtualMachineShutdown200ResponseTask" + "$ref": "#/components/schemas/Task" } }, "required": [ @@ -11659,7 +14693,7 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/FlexibleResourcesUnavailableToOrganizationPermissionDenied403Res" }, "404": { "$ref": "#/components/responses/VirtualMachineNotFoundResponse" @@ -11676,14 +14710,25 @@ } } }, - "/virtual_machines/virtual_machine/reset": { + "/virtual_machines/virtual_machine/allocate_ip": { "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", + "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", - "Power functions" + "Virtual machines" + ], + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/ip_addresses" + ] + }, + { + "Authenticator": [ + "ip_addresses" + ] + } ], "requestBody": { "content": { @@ -11692,10 +14737,14 @@ "properties": { "virtual_machine": { "$ref": "#/components/schemas/VirtualMachineLookup" + }, + "ip_address": { + "$ref": "#/components/schemas/IPAddressLookup" } }, "required": [ - "virtual_machine" + "virtual_machine", + "ip_address" ] } } @@ -11703,17 +14752,22 @@ }, "responses": { "200": { - "description": "Queues a task to reset a virtual machine", + "description": "Allocate an IP address to a virtual machine, automatically determining the network interface", "content": { "application/json": { "schema": { "properties": { - "task": { - "$ref": "#/components/schemas/PostVirtualMachineReset200ResponseTask" + "ip_address": { + "description": "The newly allocated IP address", + "allOf": [ + { + "$ref": "#/components/schemas/IPAddress" + } + ] } }, "required": [ - "task" + "ip_address" ] } } @@ -11723,13 +14777,16 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/VirtualMachineNotFoundResponse" + "$ref": "#/components/responses/IPAddressNotFoundVirtualMachineNotFound404Res" }, "406": { - "$ref": "#/components/responses/ObjectInTrashTaskQueueingError406Res" + "$ref": "#/components/responses/ObjectInTrashResponse" + }, + "422": { + "$ref": "#/components/responses/IPAlreadyAllocatedNoInterfaceAvailable422Res" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -11740,45 +14797,36 @@ } } }, - "/virtual_machines/virtual_machine/console_sessions": { - "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", + "/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", - "Console" + "Virtual machines" ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "properties": { - "virtual_machine": { - "$ref": "#/components/schemas/VirtualMachineLookup" - } - }, - "required": [ - "virtual_machine" - ] - } - } + "security": [ + { + "OAuth2": [ + "api.katapult.io/core/v1/virtual_machines:authorized_keys" + ] + }, + { + "Authenticator": [ + "virtual_machines:authorized_keys" + ] } - }, - "responses": { - "201": { - "description": "Creates a new console session which can be opened in a browser", + ], + "parameters": [ + + ], + "responses": { + "200": { + "description": "Return the authorized keys for the virtual machine associated with the provided API token", "content": { - "application/json": { + "text/plain": { "schema": { - "properties": { - "console_session": { - "$ref": "#/components/schemas/PostVirtualMachineConsoleSessions201ResponseConsoleSession" - } - }, - "required": [ - "console_session" - ] + "type": "string" } } } @@ -11787,16 +14835,10 @@ "$ref": "#/components/responses/APIAuthenticator400Response" }, "403": { - "$ref": "#/components/responses/PermissionDenied403Res" + "$ref": "#/components/responses/APIAuthenticator403Response" }, "404": { - "$ref": "#/components/responses/VirtualMachineNotFoundResponse" - }, - "406": { - "$ref": "#/components/responses/ObjectInTrashVirtualMachineMustBeStarted406Res" - }, - "422": { - "$ref": "#/components/responses/ValidationErrorResponse" + "$ref": "#/components/responses/NoVirtualMachineForAPITokenResponse" }, "429": { "$ref": "#/components/responses/APIAuthenticator429Response" @@ -11865,20 +14907,20 @@ ], "parameters": [ { - "name": "zone[id]", "in": "query", + "name": "zone[id]", "schema": { "type": "string" }, - "description": "The zone to find. All 'zone[]' params are mutually exclusive, only one can be provided." + "description": "The zone to find. \n\n All 'zone[]' params are mutually exclusive, only one can be provided." }, { - "name": "zone[permalink]", "in": "query", + "name": "zone[permalink]", "schema": { "type": "string" }, - "description": "The zone to find. All 'zone[]' params are mutually exclusive, only one can be provided." + "description": "The zone to find. \n\n All 'zone[]' params are mutually exclusive, only one can be provided." } ], "responses": { @@ -18870,6 +21912,57 @@ } } }, + "VirtualNetwork": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "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/DataCenterNotFoundSchema" + } + ] + }, + "VirtualNetworkLookup": { + "description": "All 'virtual_network[]' params are mutually exclusive, only one can be provided.", + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + }, "GetAddressLists200ResponseAddressLists": { "type": "object", "properties": { @@ -20147,31 +23240,221 @@ } } }, - "GetVirtualMachineNetworkInterfacesPartIPAddresses": { + "GetVirtualMachineNetworkInterfacesPartIPAddresses": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "address": { + "type": "string" + } + } + }, + "GetVirtualMachineNetworkInterface200ResponseVirtualMachineNetworkInterface": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "virtual_machine": { + "$ref": "#/components/schemas/GetVirtualMachineNetworkInterfacePartVirtualMachine" + }, + "name": { + "type": "string" + }, + "network": { + "$ref": "#/components/schemas/GetVirtualMachineNetworkInterfacePartNetwork" + }, + "mac_address": { + "type": "string" + }, + "state": { + "type": "string" + }, + "ip_addresses": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetVirtualMachineNetworkInterfacePartIPAddresses" + } + } + } + }, + "GetVirtualMachineNetworkInterfacePartVirtualMachine": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "GetVirtualMachineNetworkInterfacePartNetwork": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "GetVirtualMachineNetworkInterfacePartIPAddresses": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "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" + }, + "description": { + "type": "string" + }, + "detail": { + "type": "object" + } + } + }, + "OneOfInterfaceNotFoundNetworkNotFoundVirtualMachineNotFound404Res": { + "oneOf": [ + { + "$ref": "#/components/schemas/VirtualMachineNotFoundSchema" + }, + { + "$ref": "#/components/schemas/NetworkNotFoundSchema" + }, + { + "$ref": "#/components/schemas/InterfaceNotFoundSchema" + } + ] + }, + "GetVMNIVMNI200ResponseVirtualMachineNetworkInterface": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "virtual_machine": { + "$ref": "#/components/schemas/GetVMNIVMNIPartVirtualMachine" + }, + "name": { + "type": "string" + }, + "network": { + "$ref": "#/components/schemas/GetVMNIVMNIPartNetwork" + }, + "mac_address": { + "type": "string" + }, + "state": { + "type": "string" + }, + "ip_addresses": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GetVMNIVMNIPartIPAddresses" + } + }, + "speed_profile": { + "$ref": "#/components/schemas/GetVMNIVMNIPartSpeedProfile" + } + } + }, + "GetVMNIVMNIPartVirtualMachine": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "GetVMNIVMNIPartNetwork": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "GetVMNIVMNIPartIPAddresses": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "address": { + "type": "string" + } + } + }, + "GetVMNIVMNIPartSpeedProfile": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "permalink": { + "type": "string" + } + } + }, + "VirtualMachineNetworkInterfaceNotFoundEnum": { + "type": "string", + "enum": [ + "virtual_machine_network_interface_not_found" + ] + }, + "VirtualMachineNetworkInterfaceLookup": { + "description": "All 'virtual_machine_network_interface[]' params are mutually exclusive, only one can be provided.", "type": "object", "properties": { "id": { "type": "string" - }, - "address": { - "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" + "$ref": "#/components/schemas/PostVirtualMachineNetworkInterfaceAllocateIPPartNetwork" }, "mac_address": { "type": "string" @@ -20182,12 +23465,12 @@ "ip_addresses": { "type": "array", "items": { - "$ref": "#/components/schemas/GetVirtualMachineNetworkInterfacePartIPAddresses" + "$ref": "#/components/schemas/PostVirtualMachineNetworkInterfaceAllocateIPPartIPAddresses" } } } }, - "GetVirtualMachineNetworkInterfacePartVirtualMachine": { + "PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualMachine": { "type": "object", "properties": { "id": { @@ -20198,7 +23481,7 @@ } } }, - "GetVirtualMachineNetworkInterfacePartNetwork": { + "PostVirtualMachineNetworkInterfaceAllocateIPPartNetwork": { "type": "object", "properties": { "id": { @@ -20209,7 +23492,7 @@ } } }, - "GetVirtualMachineNetworkInterfacePartIPAddresses": { + "PostVirtualMachineNetworkInterfaceAllocateIPPartIPAddresses": { "type": "object", "properties": { "id": { @@ -20220,18 +23503,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" @@ -20241,52 +23549,66 @@ } } }, - "OneOfInterfaceNotFoundNetworkNotFoundVirtualMachineNotFound404Res": { + "OneOfIPAlreadyAllocatedInvalidIP422Res": { "oneOf": [ { - "$ref": "#/components/schemas/VirtualMachineNotFoundSchema" - }, - { - "$ref": "#/components/schemas/NetworkNotFoundSchema" + "$ref": "#/components/schemas/IPAlreadyAllocatedSchema" }, { - "$ref": "#/components/schemas/InterfaceNotFoundSchema" + "$ref": "#/components/schemas/InvalidIPSchema" } ] }, - "GetVMNIVMNI200ResponseVirtualMachineNetworkInterface": { + "NetworkSpeedProfileLookup": { + "description": "All 'speed_profile[]' params are mutually exclusive, only one can be provided.", "type": "object", "properties": { "id": { "type": "string" }, - "virtual_machine": { - "$ref": "#/components/schemas/GetVMNIVMNIPartVirtualMachine" - }, - "name": { - "type": "string" - }, - "network": { - "$ref": "#/components/schemas/GetVMNIVMNIPartNetwork" - }, - "mac_address": { + "permalink": { "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" }, - "state": { + "description": { "type": "string" }, - "ip_addresses": { - "type": "array", - "items": { - "$ref": "#/components/schemas/GetVMNIVMNIPartIPAddresses" - } - }, - "speed_profile": { - "$ref": "#/components/schemas/GetVMNIVMNIPartSpeedProfile" + "detail": { + "type": "object" } } }, - "GetVMNIVMNIPartVirtualMachine": { + "OneOfNetworkSpeedProfileNotFoundVirtualMachineNetworkInterfaceNotFound404Res": { + "oneOf": [ + { + "$ref": "#/components/schemas/VirtualMachineNetworkInterfaceNotFoundSchema" + }, + { + "$ref": "#/components/schemas/NetworkSpeedProfileNotFoundSchema" + } + ] + }, + "SpeedProfileAlreadyAssignedEnum": { + "type": "string", + "enum": [ + "speed_profile_already_assigned" + ] + }, + "GetOrganizationTags200ResponseTags": { "type": "object", "properties": { "id": { @@ -20294,32 +23616,61 @@ }, "name": { "type": "string" + }, + "color": { + "$ref": "#/components/schemas/TagColorsEnum" } } }, - "GetVMNIVMNIPartNetwork": { + "TagArguments": { + "description": "All 'properties[]' params are mutually exclusive, only one can be provided.", "type": "object", "properties": { - "id": { - "type": "string" - }, "name": { "type": "string" + }, + "color": { + "$ref": "#/components/schemas/TagColorsEnum" } } }, - "GetVMNIVMNIPartIPAddresses": { + "TagNotFoundEnum": { + "type": "string", + "enum": [ + "tag_not_found" + ] + }, + "TagLookup": { + "description": "All 'tag[]' params are mutually exclusive, only one can be provided.", "type": "object", "properties": { "id": { "type": "string" - }, - "address": { + } + } + }, + "VirtualMachineGroupArguments": { + "description": "All 'properties[]' params are mutually exclusive, only one can be provided.", + "type": "object", + "properties": { + "name": { "type": "string" + }, + "segregate": { + "type": "boolean" + }, + "auto_segregate": { + "type": "boolean" } } }, - "GetVMNIVMNIPartSpeedProfile": { + "VirtualMachineGroupNotFoundEnum": { + "type": "string", + "enum": [ + "virtual_machine_group_not_found" + ] + }, + "GetOperatingSystems200ResponseOperatingSystems": { "type": "object", "properties": { "id": { @@ -20327,57 +23678,60 @@ }, "name": { "type": "string" - }, - "permalink": { - "type": "string" } } }, - "VirtualMachineNetworkInterfaceNotFoundEnum": { + "TrashObjectNotFoundEnum": { "type": "string", "enum": [ - "virtual_machine_network_interface_not_found" + "trash_object_not_found" ] }, - "VirtualMachineNetworkInterfaceLookup": { - "description": "All 'virtual_machine_network_interface[]' params are mutually exclusive, only one can be provided.", + "TrashObjectLookup": { + "description": "All 'trash_object[]' params are mutually exclusive, only one can be provided.", "type": "object", "properties": { "id": { "type": "string" + }, + "object_id": { + "type": "string" } } }, - "PostVirtualMachineNetworkInterfaceAllocateIP200ResponseVirtualMachineNetworkInterface": { + "GetZones200ResponseZones": { "type": "object", "properties": { "id": { "type": "string" }, - "virtual_machine": { - "$ref": "#/components/schemas/PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualMachine" - }, "name": { "type": "string" }, - "network": { - "$ref": "#/components/schemas/PostVirtualMachineNetworkInterfaceAllocateIPPartNetwork" + "permalink": { + "type": "string", + "nullable": true }, - "mac_address": { + "data_center": { + "$ref": "#/components/schemas/GetZonesPartDataCenter" + } + } + }, + "GetZonesPartDataCenter": { + "type": "object", + "properties": { + "id": { "type": "string" }, - "state": { + "name": { "type": "string" }, - "ip_addresses": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PostVirtualMachineNetworkInterfaceAllocateIPPartIPAddresses" - } + "permalink": { + "type": "string" } } }, - "PostVirtualMachineNetworkInterfaceAllocateIPPartVirtualMachine": { + "GetCountries200ResponseCountries": { "type": "object", "properties": { "id": { @@ -20388,7 +23742,30 @@ } } }, - "PostVirtualMachineNetworkInterfaceAllocateIPPartNetwork": { + "CountryNotFoundEnum": { + "type": "string", + "enum": [ + "country_not_found" + ] + }, + "GetCountryCountryStates200ResponseCountryStates": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + } + }, + "CountryStateNotFoundEnum": { + "type": "string", + "enum": [ + "country_state_not_found" + ] + }, + "GetCurrencies200ResponseCurrencies": { "type": "object", "properties": { "id": { @@ -20399,54 +23776,50 @@ } } }, - "PostVirtualMachineNetworkInterfaceAllocateIPPartIPAddresses": { + "CurrencyNotFoundEnum": { + "type": "string", + "enum": [ + "currency_not_found" + ] + }, + "TaskNotFoundEnum": { + "type": "string", + "enum": [ + "task_not_found" + ] + }, + "GetUsersCurrent200ResponseOrganizations": { "type": "object", "properties": { "id": { "type": "string" }, - "address": { + "name": { "type": "string" - } - } - }, - "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": { + "sub_domain": { "type": "string" - }, - "detail": { - "type": "object" } } }, - "OneOfIPAddressNotFoundVirtualMachineNetworkInterfaceNotFound404Res": { - "oneOf": [ - { - "$ref": "#/components/schemas/VirtualMachineNetworkInterfaceNotFoundSchema" - }, - { - "$ref": "#/components/schemas/IPAddressNotFoundSchema" - } + "NoUserAssociatedWithIdentityEnum": { + "type": "string", + "enum": [ + "no_user_associated_with_identity" ] }, - "InvalidIPEnum": { + "IdentityNotLinkedToWebSessionEnum": { "type": "string", "enum": [ - "invalid_ip" + "identity_not_linked_to_web_session" ] }, - "InvalidIPSchema": { + "IdentityNotLinkedToWebSessionSchema": { "type": "object", - "description": "This IP address is not valid for this network interface.", + "description": "The authenticated identity is not linked to a web session", "properties": { "code": { - "$ref": "#/components/schemas/InvalidIPEnum" + "$ref": "#/components/schemas/IdentityNotLinkedToWebSessionEnum" }, "description": { "type": "string" @@ -20456,277 +23829,442 @@ } } }, - "OneOfIPAlreadyAllocatedInvalidIP422Res": { + "OneOfIdentityNotLinkedToWebSession400Res": { "oneOf": [ { - "$ref": "#/components/schemas/IPAlreadyAllocatedSchema" + "$ref": "#/components/schemas/APIAuthenticator400Schema" }, { - "$ref": "#/components/schemas/InvalidIPSchema" + "$ref": "#/components/schemas/IdentityNotLinkedToWebSessionSchema" } ] }, - "NetworkSpeedProfileLookup": { - "description": "All 'speed_profile[]' params are mutually exclusive, only one can be provided.", + "ObjectStorageClusterLookup": { + "description": "All 'object_storage_cluster[]' params are mutually exclusive, only one can be provided.", "type": "object", "properties": { - "id": { - "type": "string" - }, - "permalink": { + "region": { "type": "string" } } }, - "NetworkSpeedProfileNotFoundEnum": { - "type": "string", - "enum": [ - "network_speed_profile_not_found" - ] + "ObjectStorageBucketArguments": { + "description": "All 'properties[]' params are mutually exclusive, only one can be provided.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Can only include lowercase alphanumeric characters and hyphens, has to be globally unique." + }, + "label": { + "type": "string", + "description": "Optional alternative name/comment." + }, + "serve_static_site": { + "type": "boolean", + "description": "Whether to serve the bucket as a static website, defaults to false." + }, + "static_site_index": { + "type": "string", + "description": "Optional name of the index html page for a static website (requires public_read)." + }, + "static_site_error": { + "type": "string", + "description": "Optional name of the error html page for a static website (requires public_read)." + }, + "access_control_list": { + "$ref": "#/components/schemas/ObjectStorageBucketACLArguments" + } + } }, - "NetworkSpeedProfileNotFoundSchema": { + "ObjectStorageBucketACLArguments": { + "description": "All 'access_control_list[]' params are mutually exclusive, only one can be provided.", "type": "object", - "description": "No network speed profile was found matching any of the criteria provided in the arguments", "properties": { - "code": { - "$ref": "#/components/schemas/NetworkSpeedProfileNotFoundEnum" + "public_read": { + "type": "boolean", + "description": "Allow anyone to read objects in the bucket." }, - "description": { - "type": "string" + "public_list": { + "type": "boolean", + "description": "Allow anyone to list objects in the bucket (requires public_read)." }, - "detail": { - "type": "object" + "all_keys_read": { + "type": "boolean", + "description": "Allow any access key to read objects in the bucket." + }, + "all_keys_write": { + "type": "boolean", + "description": "Allow any access key to create or delete objects in the bucket." + }, + "read_key_ids": { + "type": "array", + "items": { + "type": "string", + "description": "Array of access key ids that are allowed to read objects in the bucket." + } + }, + "write_key_ids": { + "type": "array", + "items": { + "type": "string", + "description": "Array of access key ids that are allowed to create and delete objects in the bucket." + } } } }, - "OneOfNetworkSpeedProfileNotFoundVirtualMachineNetworkInterfaceNotFound404Res": { - "oneOf": [ - { - "$ref": "#/components/schemas/VirtualMachineNetworkInterfaceNotFoundSchema" + "ObjectStorageBucket": { + "type": "object", + "properties": { + "name": { + "type": "string" }, - { - "$ref": "#/components/schemas/NetworkSpeedProfileNotFoundSchema" + "label": { + "type": "string", + "nullable": true + }, + "created_at": { + "type": "integer" + }, + "state": { + "$ref": "#/components/schemas/ObjectStorageBucketStateEnum" + }, + "custom_domain": { + "type": "string", + "nullable": true + }, + "object_count": { + "type": "integer", + "nullable": true + }, + "size": { + "type": "integer", + "nullable": true + }, + "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" } - ] + } }, - "SpeedProfileAlreadyAssignedEnum": { + "ObjectStorageBucketStateEnum": { "type": "string", "enum": [ - "speed_profile_already_assigned" + "pending", + "configured" ] }, - "GetOrganizationTags200ResponseTags": { + "ObjectStorageBucketAccessControlList": { "type": "object", "properties": { - "id": { - "type": "string" + "public_read": { + "type": "boolean" }, - "name": { - "type": "string" + "public_list": { + "type": "boolean" }, - "color": { - "$ref": "#/components/schemas/TagColorsEnum" + "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" + } } } }, - "TagArguments": { - "description": "All 'properties[]' params are mutually exclusive, only one can be provided.", + "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": { - "name": { + "code": { + "$ref": "#/components/schemas/ObjectStorageAccountNotProvisionedEnum" + }, + "description": { "type": "string" }, - "color": { - "$ref": "#/components/schemas/TagColorsEnum" + "detail": { + "type": "object" } } }, - "TagNotFoundEnum": { + "ObjectStorageAccountSuspendedEnum": { "type": "string", "enum": [ - "tag_not_found" + "object_storage_account_suspended" ] }, - "TagLookup": { - "description": "All 'tag[]' params are mutually exclusive, only one can be provided.", + "ObjectStorageAccountSuspendedSchema": { "type": "object", + "description": "An object storage account was found from the arguments provided but it is suspended", "properties": { - "id": { + "code": { + "$ref": "#/components/schemas/ObjectStorageAccountSuspendedEnum" + }, + "description": { "type": "string" + }, + "detail": { + "type": "object" } } }, - "VirtualMachineGroupArguments": { - "description": "All 'properties[]' params are mutually exclusive, only one can be provided.", - "type": "object", - "properties": { - "name": { - "type": "string" + "OneOfObjectStorageAccountNotProvisionedOrganizationSuspendedPermissionDenied403Res": { + "oneOf": [ + { + "$ref": "#/components/schemas/UnauthorizedNetworkForAPITokenSchema" }, - "segregate": { - "type": "boolean" + { + "$ref": "#/components/schemas/InvalidAPITokenSchema" }, - "auto_segregate": { - "type": "boolean" + { + "$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" } - } + ] }, - "VirtualMachineGroupNotFoundEnum": { + "ObjectStorageClusterNotFoundEnum": { "type": "string", "enum": [ - "virtual_machine_group_not_found" + "object_storage_cluster_not_found" ] }, - "GetOperatingSystems200ResponseOperatingSystems": { + "ObjectStorageClusterNotFoundSchema": { "type": "object", + "description": "No object storage cluster was found matching any of the criteria provided in the arguments", "properties": { - "id": { - "type": "string" + "code": { + "$ref": "#/components/schemas/ObjectStorageClusterNotFoundEnum" }, - "name": { + "description": { "type": "string" + }, + "detail": { + "type": "object" } } }, - "TrashObjectNotFoundEnum": { + "ObjectStorageAccountNotFoundEnum": { "type": "string", "enum": [ - "trash_object_not_found" + "object_storage_account_not_found" ] }, - "TrashObjectLookup": { - "description": "All 'trash_object[]' params are mutually exclusive, only one can be provided.", + "ObjectStorageAccountNotFoundSchema": { "type": "object", + "description": "No object storage account was found matching any of the criteria provided in the arguments", "properties": { - "id": { - "type": "string" + "code": { + "$ref": "#/components/schemas/ObjectStorageAccountNotFoundEnum" }, - "object_id": { + "description": { "type": "string" + }, + "detail": { + "type": "object" + } + } + }, + "OneOfObjectStorageAccountNotFoundObjectStorageClusterNotFoundOrganizationNotFound404Res": { + "oneOf": [ + { + "$ref": "#/components/schemas/OrganizationNotFoundSchema" + }, + { + "$ref": "#/components/schemas/ObjectStorageClusterNotFoundSchema" + }, + { + "$ref": "#/components/schemas/ObjectStorageAccountNotFoundSchema" } - } + ] }, - "GetZones200ResponseZones": { + "ObjectStorageBucketLookup": { + "description": "All 'bucket[]' params are mutually exclusive, only one can be provided.", "type": "object", "properties": { - "id": { - "type": "string" - }, "name": { "type": "string" - }, - "permalink": { - "type": "string", - "nullable": true - }, - "data_center": { - "$ref": "#/components/schemas/GetZonesPartDataCenter" } } }, - "GetZonesPartDataCenter": { + "ObjectStorageBucketNotFoundEnum": { + "type": "string", + "enum": [ + "object_storage_bucket_not_found" + ] + }, + "ObjectStorageBucketNotFoundSchema": { "type": "object", + "description": "No object storage bucket was found matching any of the criteria provided in the arguments", "properties": { - "id": { - "type": "string" + "code": { + "$ref": "#/components/schemas/ObjectStorageBucketNotFoundEnum" }, - "name": { + "description": { "type": "string" }, - "permalink": { - "type": "string" + "detail": { + "type": "object" } } }, - "GetCountries200ResponseCountries": { - "type": "object", - "properties": { - "id": { - "type": "string" + "OneOfObjectStorageBucketNotFoundObjectStorageClusterNotFound404Res": { + "oneOf": [ + { + "$ref": "#/components/schemas/ObjectStorageClusterNotFoundSchema" }, - "name": { - "type": "string" + { + "$ref": "#/components/schemas/ObjectStorageBucketNotFoundSchema" } - } + ] }, - "CountryNotFoundEnum": { + "MultipleObjectStorageBucketsFoundEnum": { "type": "string", "enum": [ - "country_not_found" + "multiple_object_storage_buckets_found" ] }, - "GetCountryCountryStates200ResponseCountryStates": { + "ObjectStorageBucketDeletionError": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" + "details": { + "type": "string", + "nullable": true } } }, - "CountryStateNotFoundEnum": { + "ObjectStorageBucketDeletionErrorEnum": { "type": "string", "enum": [ - "country_state_not_found" + "object_storage_bucket_deletion_error" ] }, - "GetCurrencies200ResponseCurrencies": { + "ObjectStorageBucketDeletionErrorSchema": { "type": "object", + "description": "An error occurred while deleting the bucket.", "properties": { - "id": { - "type": "string" + "code": { + "$ref": "#/components/schemas/ObjectStorageBucketDeletionErrorEnum" }, - "name": { + "description": { "type": "string" + }, + "detail": { + "$ref": "#/components/schemas/ObjectStorageBucketDeletionError" } } }, - "CurrencyNotFoundEnum": { - "type": "string", - "enum": [ - "currency_not_found" + "OneOfObjectStorageBucketDeletionErrorPermissionDenied403Res": { + "oneOf": [ + { + "$ref": "#/components/schemas/UnauthorizedNetworkForAPITokenSchema" + }, + { + "$ref": "#/components/schemas/InvalidAPITokenSchema" + }, + { + "$ref": "#/components/schemas/InvalidCapabilitiesTokenSchema" + }, + { + "$ref": "#/components/schemas/ScopeNotGrantedErrorSchema" + }, + { + "$ref": "#/components/schemas/PermissionDeniedSchema" + }, + { + "$ref": "#/components/schemas/ObjectStorageBucketDeletionErrorSchema" + } ] }, - "TaskNotFoundEnum": { + "NetworkErrorEnum": { "type": "string", "enum": [ - "task_not_found" + "network_error" ] }, - "GetUsersCurrent200ResponseOrganizations": { + "ObjectStorageObject": { "type": "object", "properties": { - "id": { + "filename": { "type": "string" }, - "name": { + "bucket_name": { "type": "string" }, - "sub_domain": { + "full_path": { + "type": "string" + }, + "public_url": { "type": "string" + }, + "size": { + "type": "integer", + "description": "The length of the object content in the response body, in bytes.", + "nullable": true + }, + "folder": { + "type": "boolean" } } }, - "NoUserAssociatedWithIdentityEnum": { - "type": "string", - "enum": [ - "no_user_associated_with_identity" - ] - }, - "IdentityNotLinkedToWebSessionEnum": { + "ObjectNotFoundEnum": { "type": "string", "enum": [ - "identity_not_linked_to_web_session" + "object_not_found" ] }, - "IdentityNotLinkedToWebSessionSchema": { + "ObjectNotFoundSchema": { "type": "object", - "description": "The authenticated identity is not linked to a web session", + "description": "No object was found matching any of the criteria provided in the arguments", "properties": { "code": { - "$ref": "#/components/schemas/IdentityNotLinkedToWebSessionEnum" + "$ref": "#/components/schemas/ObjectNotFoundEnum" }, "description": { "type": "string" @@ -20736,15 +24274,89 @@ } } }, - "OneOfIdentityNotLinkedToWebSession400Res": { + "OneOfObjectNotFoundObjectStorageBucketNotFoundObjectStorageClusterNotFound404Res": { "oneOf": [ { - "$ref": "#/components/schemas/APIAuthenticator400Schema" + "$ref": "#/components/schemas/ObjectStorageClusterNotFoundSchema" }, { - "$ref": "#/components/schemas/IdentityNotLinkedToWebSessionSchema" + "$ref": "#/components/schemas/ObjectStorageBucketNotFoundSchema" + }, + { + "$ref": "#/components/schemas/ObjectNotFoundSchema" } ] + }, + "ObjectStorageObjectPresignedURLArguments": { + "description": "All 'properties[]' params are mutually exclusive, only one can be provided.", + "type": "object", + "properties": { + "expiry_seconds": { + "type": "integer", + "description": "The number of seconds the url should be valid for" + } + } + } + }, + "securitySchemes": { + "OAuth2": { + "type": "oauth2", + "x-scope-prefix": "api.katapult.io/core/v1/", + "flows": { + "authorizationCode": { + "authorizationUrl": "https://identity.krystal.io/oauth2/auth", + "tokenUrl": "https://identity.krystal.io/oauth2/token", + "refreshUrl": "https://identity.krystal.io/oauth2/token", + "scopes": { + "api.katapult.io/core/v1/address_lists": "Manage address lists", + "api.katapult.io/core/v1/address_lists:read": "Read-only access to address lists", + "api.katapult.io/core/v1/api_tokens": "Manage API tokens", + "api.katapult.io/core/v1/api_tokens:read": "Read-only access to API tokens", + "api.katapult.io/core/v1/disk_backup_policies": "Manage disk backup policies", + "api.katapult.io/core/v1/disk_backup_policies:read": "Read-only access to disk backup policies", + "api.katapult.io/core/v1/certificates:read": "Read-only access to certificates", + "api.katapult.io/core/v1/disks": "Manage disks", + "api.katapult.io/core/v1/disks:read": "Read-only access to disks", + "api.katapult.io/core/v1/disk_templates": "Manage disk templates", + "api.katapult.io/core/v1/disk_templates:read": "Read-only access to disk templates", + "api.katapult.io/core/v1/file_storage_volumes": "Manage file storage volumes", + "api.katapult.io/core/v1/file_storage_volumes:read": "Read-only access to file storage volumes", + "api.katapult.io/core/v1/ip_addresses": "Manage IP addresses", + "api.katapult.io/core/v1/ip_addresses:read": "Read-only access to IP addresses", + "api.katapult.io/core/v1/object_storage": "Manage object storage", + "api.katapult.io/core/v1/object_storage:read": "Read-only access to object storage", + "api.katapult.io/core/v1/organizations:read": "Read-only access to organizations", + "api.katapult.io/core/v1/organizations:delete": "Delete organizations", + "api.katapult.io/core/v1/managed_organizations": "Manage managed organizations", + "api.katapult.io/core/v1/managed_organizations:delete": "Delete managed organizations", + "api.katapult.io/core/v1/security_groups": "Manage security groups", + "api.katapult.io/core/v1/security_groups:read": "Read-only access to security groups", + "api.katapult.io/core/v1/tags": "Manage tags", + "api.katapult.io/core/v1/tags:read": "Read-only access to tags", + "api.katapult.io/core/v1/tasks:read": "Read-only access to tasks", + "api.katapult.io/core/v1/trash_objects:read": "Read-only access to objects in the trash", + "api.katapult.io/core/v1/trash_objects:purge": "Purge items from the trash", + "api.katapult.io/core/v1/trash_objects:restore": "Restore items from the trash", + "api.katapult.io/core/v1/dns": "Manage DNS zones/records", + "api.katapult.io/core/v1/dns:read": "Read-only access to DNS zones/records", + "api.katapult.io/core/v1/load_balancers": "Manage load balancers", + "api.katapult.io/core/v1/load_balancers:read": "Read-only access to load balancers", + "api.katapult.io/core/v1/virtual_machines": "Manage virtual machines", + "api.katapult.io/core/v1/virtual_machines:read": "Read-only access to virtual machines", + "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_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", + "api.katapult.io/core/v1/virtual_networks:read": "Read-only access to virtual networks" + } + } + } + }, + "Authenticator": { + "scheme": "bearer", + "type": "http" } }, "responses": { @@ -21598,6 +25210,36 @@ } } }, + "VirtualNetworkNotFoundResponse": { + "description": "No virtual network was found matching any of the criteria provided in the arguments", + "content": { + "application/json": { + "schema": { + "properties": { + "code": { + "$ref": "#/components/schemas/VirtualNetworkNotFoundEnum" + }, + "description": { + "type": "string" + }, + "detail": { + "type": "object" + } + } + } + } + } + }, + "DataCenterNotFoundOrganizationNotFound404Res": { + "description": "404 error response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OneOfDataCenterNotFoundOrganizationNotFound404Res" + } + } + } + }, "AddressListNotFoundResponse": { "description": "No address list was found matching any of the criteria provided in the arguments.", "content": { @@ -22067,16 +25709,105 @@ } } } - } - }, - "securitySchemes": { - "Authenticator": { - "scheme": "bearer", - "type": "http" + }, + "ObjectStorageAccountNotProvisionedOrganizationSuspendedPermissionDenied403Res": { + "description": "403 error response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OneOfObjectStorageAccountNotProvisionedOrganizationSuspendedPermissionDenied403Res" + } + } + } + }, + "ObjectStorageAccountNotFoundObjectStorageClusterNotFoundOrganizationNotFound404Res": { + "description": "404 error response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OneOfObjectStorageAccountNotFoundObjectStorageClusterNotFoundOrganizationNotFound404Res" + } + } + } + }, + "ObjectStorageBucketNotFoundObjectStorageClusterNotFound404Res": { + "description": "404 error response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OneOfObjectStorageBucketNotFoundObjectStorageClusterNotFound404Res" + } + } + } + }, + "MultipleObjectStorageBucketsFoundResponse": { + "description": "Multiple object storage buckets were found matching the criteria provided in the arguments", + "content": { + "application/json": { + "schema": { + "properties": { + "code": { + "$ref": "#/components/schemas/MultipleObjectStorageBucketsFoundEnum" + }, + "description": { + "type": "string" + }, + "detail": { + "type": "object" + } + } + } + } + } + }, + "ObjectStorageBucketDeletionErrorPermissionDenied403Res": { + "description": "403 error response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OneOfObjectStorageBucketDeletionErrorPermissionDenied403Res" + } + } + } + }, + "NetworkErrorResponse": { + "description": "A network error occurred while performing the action. Please try again.", + "content": { + "application/json": { + "schema": { + "properties": { + "code": { + "$ref": "#/components/schemas/NetworkErrorEnum" + }, + "description": { + "type": "string" + }, + "detail": { + "type": "object" + } + } + } + } + } + }, + "ObjectNotFoundObjectStorageBucketNotFoundObjectStorageClusterNotFound404Res": { + "description": "404 error response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/OneOfObjectNotFoundObjectStorageBucketNotFoundObjectStorageClusterNotFound404Res" + } + } + } } } }, "security": [ + { + "OAuth2": [ + + ] + }, { "Authenticator": [ @@ -22115,13 +25846,16 @@ "name": "Virtual machines" }, { - "name": "Build" + "name": "Build", + "description": "Endpoints used for building or creating new virtual machines" }, { - "name": "Power functions" + "name": "Power functions", + "description": "Endpoints for performing power functions (i.e. start, stop etc...) on a virtual machine" }, { - "name": "Console" + "name": "Console", + "description": "Endpoints for managing console access to a virtual machine" }, { "name": "Virtual machine packages" @@ -22133,19 +25867,24 @@ "name": "API tokens" }, { - "name": "Disk backup policies" + "name": "Disk backup policies", + "description": "Endpoints for managing DNS zones/domains" }, { - "name": "DNS zones" + "name": "DNS zones", + "description": "Endpoints for managing DNS zones" }, { - "name": "Records" + "name": "Records", + "description": "Endpoints for managing DNS records" }, { - "name": "Security groups" + "name": "Security groups", + "description": "Endpoints for managing security groups" }, { - "name": "Security group rules" + "name": "Security group rules", + "description": "Endpoints for managing security group rules" }, { "name": "File storage volumes" @@ -22156,6 +25895,9 @@ { "name": "Network speed profiles" }, + { + "name": "Virtual Networks" + }, { "name": "Address lists" }, @@ -22206,6 +25948,12 @@ }, { "name": "Users" + }, + { + "name": "Buckets" + }, + { + "name": "Object storage" } ], "x-tagGroups": [ @@ -22326,6 +26074,13 @@ "Networks" ] }, + { + "name": "Object storage", + "tags": [ + "Buckets", + "Object storage" + ] + }, { "name": "Operating systems", "tags": [ @@ -22377,6 +26132,12 @@ "Users" ] }, + { + "name": "Virtual Networks", + "tags": [ + "Virtual Networks" + ] + }, { "name": "Virtual machine groups", "tags": [ diff --git a/katapult-public-openapi.json b/katapult-public-openapi.json index e3b1bdf9..ada5665c 100644 --- a/katapult-public-openapi.json +++ b/katapult-public-openapi.json @@ -1,10 +1,15 @@ { "openapi": "3.0.0", "info": { + "x-katapult-version": "2.60.0", "version": "1.0.0", "title": "Katapult Public API", "description": "Welcome to the documentation for the Katapult Public API" }, + "externalDocs": { + "description": "Katapult API Documentation", + "url": "https://developers.katapult.io/docs/category/public-api" + }, "servers": [ { "url": "https://api.katapult.io/public/v1" @@ -324,15 +329,21 @@ "name": "page", "in": "query", "schema": { - "type": "integer" - } + "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" - } + "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": { diff --git a/src/Core/Client.php b/src/Core/Client.php index ac93cd82..7896114b 100644 --- a/src/Core/Client.php +++ b/src/Core/Client.php @@ -18,15 +18,30 @@ class Client extends Runtime\Client\Client * - `api_tokens` * - `api_tokens: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 to list API tokens for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $organization[sub_domain] The organization to list API tokens for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $annotations[key] An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided. - * @var string $annotations[value] An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @var string $organization[id] The organization to list API tokens for. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[sub_domain] The organization to list API tokens for. + * + * 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. + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -48,6 +63,9 @@ public function getOrganizationApiTokens(array $queryParameters = [], string $fe * ## Scopes * - `api_tokens`. * + * ### 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\OrganizationsOrganizationApiTokensPostResponse200|\Psr\Http\Message\ResponseInterface|null @@ -69,6 +87,9 @@ public function postOrganizationApiTokens(?Model\OrganizationsOrganizationApiTok * ## Scopes * - `api_tokens`. * + * ### 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\ApiTokensApiTokenDeleteResponse200|\Psr\Http\Message\ResponseInterface|null @@ -90,6 +111,9 @@ public function deleteApiToken(?Model\ApiTokensApiTokenDeleteBody $requestBody = * ## Scopes * - `api_tokens`. * + * ### 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\ApiTokensApiTokenPatchResponse200|\Psr\Http\Message\ResponseInterface|null @@ -111,6 +135,9 @@ public function patchApiToken(?Model\ApiTokensApiTokenPatchBody $requestBody = n * ## Scopes * - `api_tokens`. * + * ### 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\ApiTokensApiTokenRegenerateSecretPostResponse200|\Psr\Http\Message\ResponseInterface|null @@ -127,16 +154,178 @@ public function postApiTokenRegenerateSecret(?Model\ApiTokensApiTokenRegenerateS return $this->executeEndpoint(new Endpoint\PostApiTokenRegenerateSecret($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. + * + * 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. + * } + * + * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) + * + * @return Model\AddressListsAddressListEntriesGetResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\GetAddressListEntriesBadRequestException + * @throws Exception\GetAddressListEntriesForbiddenException + * @throws Exception\GetAddressListEntriesNotFoundException + * @throws Exception\GetAddressListEntriesTooManyRequestsException + * @throws Exception\GetAddressListEntriesServiceUnavailableException + */ + public function getAddressListEntries(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\GetAddressListEntries($queryParameters), $fetch); + } + + /** + * Create a new address list entry for a given address list. + * ## Scopes + * - `address_lists`. + * + * ### 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\AddressListsAddressListEntriesPostResponse201|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\PostAddressListEntriesBadRequestException + * @throws Exception\PostAddressListEntriesForbiddenException + * @throws Exception\PostAddressListEntriesNotFoundException + * @throws Exception\PostAddressListEntriesUnprocessableEntityException + * @throws Exception\PostAddressListEntriesTooManyRequestsException + * @throws Exception\PostAddressListEntriesServiceUnavailableException + */ + public function postAddressListEntries(?Model\AddressListsAddressListEntriesPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\PostAddressListEntries($requestBody), $fetch); + } + + /** + * Delete an address list entry. + * ## Scopes + * - `address_lists`. + * + * ### 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\AddressListEntriesAddressListEntryDeleteResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\DeleteAddressListEntryBadRequestException + * @throws Exception\DeleteAddressListEntryForbiddenException + * @throws Exception\DeleteAddressListEntryNotFoundException + * @throws Exception\DeleteAddressListEntryTooManyRequestsException + * @throws Exception\DeleteAddressListEntryServiceUnavailableException + */ + public function deleteAddressListEntry(?Model\AddressListEntriesAddressListEntryDeleteBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\DeleteAddressListEntry($requestBody), $fetch); + } + + /** + * Returns details for an address list entry. + * ## 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_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) + * + * @return Model\AddressListEntriesAddressListEntryGetResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\GetAddressListEntryBadRequestException + * @throws Exception\GetAddressListEntryForbiddenException + * @throws Exception\GetAddressListEntryNotFoundException + * @throws Exception\GetAddressListEntryTooManyRequestsException + * @throws Exception\GetAddressListEntryServiceUnavailableException + */ + public function getAddressListEntry(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\GetAddressListEntry($queryParameters), $fetch); + } + + /** + * Update an address list entry with new properties. + * ## Scopes + * - `address_lists`. + * + * ### 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\AddressListEntriesAddressListEntryPatchResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\PatchAddressListEntryBadRequestException + * @throws Exception\PatchAddressListEntryForbiddenException + * @throws Exception\PatchAddressListEntryNotFoundException + * @throws Exception\PatchAddressListEntryUnprocessableEntityException + * @throws Exception\PatchAddressListEntryTooManyRequestsException + * @throws Exception\PatchAddressListEntryServiceUnavailableException + */ + public function patchAddressListEntry(?Model\AddressListEntriesAddressListEntryPatchBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\PatchAddressListEntry($requestBody), $fetch); + } + + /** + * Create or delete multiple address list entries for a given address list. + * ## Scopes + * - `address_lists`. + * + * ### 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\AddressListsAddressListEntriesBulkPostResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\PostAddressListEntriesBulkBadRequestException + * @throws Exception\PostAddressListEntriesBulkForbiddenException + * @throws Exception\PostAddressListEntriesBulkNotFoundException + * @throws Exception\PostAddressListEntriesBulkUnprocessableEntityException + * @throws Exception\PostAddressListEntriesBulkTooManyRequestsException + * @throws Exception\PostAddressListEntriesBulkServiceUnavailableException + */ + public function postAddressListEntriesBulk(?Model\AddressListsAddressListEntriesBulkPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\PostAddressListEntriesBulk($requestBody), $fetch); + } + /** * Returns a list of all global address lists. * ## 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 int $page - * @var int $per_page + * @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) @@ -159,15 +348,30 @@ public function getAddressLists(array $queryParameters = [], string $fetch = sel * - `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 $organization[id] The organization for which the address lists should be returned. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $organization[sub_domain] The organization for which the address lists should be returned. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $annotations[key] An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided. - * @var string $annotations[value] An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @var string $organization[id] The organization for which the address lists should be returned. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[sub_domain] The organization for which the address lists should be returned. + * + * 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. + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -189,6 +393,9 @@ public function getOrganizationAddressLists(array $queryParameters = [], string * ## Scopes * - `address_lists`. * + * ### 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\OrganizationsOrganizationAddressListsPostResponse201|\Psr\Http\Message\ResponseInterface|null @@ -210,6 +417,9 @@ public function postOrganizationAddressLists(?Model\OrganizationsOrganizationAdd * ## Scopes * - `address_lists`. * + * ### 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\AddressListsAddressListDeleteResponse200|\Psr\Http\Message\ResponseInterface|null @@ -231,10 +441,15 @@ public function deleteAddressList(?Model\AddressListsAddressListDeleteBody $requ * - `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 to return. All 'address_list[]' params are mutually exclusive, only one can be provided. - * } + * @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) * @@ -256,6 +471,9 @@ public function getAddressList(array $queryParameters = [], string $fetch = self * ## Scopes * - `address_lists`. * + * ### 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\AddressListsAddressListPatchResponse200|\Psr\Http\Message\ResponseInterface|null @@ -273,154 +491,299 @@ public function patchAddressList(?Model\AddressListsAddressListPatchBody $reques } /** - * Returns a list of all address list entries for a given address list + * Create a new bucket in an object storage account * ## Scopes - * - `address_lists` - * - `address_lists:read`. + * - `object_storage`. * - * @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 - * @var int $per_page - * } + * ### 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\AddressListsAddressListEntriesGetResponse200|\Psr\Http\Message\ResponseInterface|null + * @return Model\OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostResponse201|\Psr\Http\Message\ResponseInterface|null * - * @throws Exception\GetAddressListEntriesBadRequestException - * @throws Exception\GetAddressListEntriesForbiddenException - * @throws Exception\GetAddressListEntriesNotFoundException - * @throws Exception\GetAddressListEntriesTooManyRequestsException - * @throws Exception\GetAddressListEntriesServiceUnavailableException + * @throws Exception\PostOrganizationObjectStorageObjectStorageClusterBucketsBadRequestException + * @throws Exception\PostOrganizationObjectStorageObjectStorageClusterBucketsForbiddenException + * @throws Exception\PostOrganizationObjectStorageObjectStorageClusterBucketsNotFoundException + * @throws Exception\PostOrganizationObjectStorageObjectStorageClusterBucketsNotAcceptableException + * @throws Exception\PostOrganizationObjectStorageObjectStorageClusterBucketsUnprocessableEntityException + * @throws Exception\PostOrganizationObjectStorageObjectStorageClusterBucketsTooManyRequestsException + * @throws Exception\PostOrganizationObjectStorageObjectStorageClusterBucketsServiceUnavailableException */ - public function getAddressListEntries(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) + public function postOrganizationObjectStorageObjectStorageClusterBuckets(?Model\OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) { - return $this->executeEndpoint(new Endpoint\GetAddressListEntries($queryParameters), $fetch); + return $this->executeEndpoint(new Endpoint\PostOrganizationObjectStorageObjectStorageClusterBuckets($requestBody), $fetch); } /** - * Create a new address list entry for a given address list. + * Delete an object storage bucket * ## Scopes - * - `address_lists`. + * - `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\AddressListsAddressListEntriesPostResponse201|\Psr\Http\Message\ResponseInterface|null + * @return Model\ObjectStorageObjectStorageClusterBucketsBucketDeleteResponse200|\Psr\Http\Message\ResponseInterface|null * - * @throws Exception\PostAddressListEntriesBadRequestException - * @throws Exception\PostAddressListEntriesForbiddenException - * @throws Exception\PostAddressListEntriesNotFoundException - * @throws Exception\PostAddressListEntriesUnprocessableEntityException - * @throws Exception\PostAddressListEntriesTooManyRequestsException - * @throws Exception\PostAddressListEntriesServiceUnavailableException + * @throws Exception\DeleteObjectStorageObjectStorageClusterBucketBadRequestException + * @throws Exception\DeleteObjectStorageObjectStorageClusterBucketForbiddenException + * @throws Exception\DeleteObjectStorageObjectStorageClusterBucketNotFoundException + * @throws Exception\DeleteObjectStorageObjectStorageClusterBucketNotAcceptableException + * @throws Exception\DeleteObjectStorageObjectStorageClusterBucketTooManyRequestsException + * @throws Exception\DeleteObjectStorageObjectStorageClusterBucketInternalServerErrorException + * @throws Exception\DeleteObjectStorageObjectStorageClusterBucketServiceUnavailableException + * @throws Exception\DeleteObjectStorageObjectStorageClusterBucketGatewayTimeoutException */ - public function postAddressListEntries(?Model\AddressListsAddressListEntriesPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + public function deleteObjectStorageObjectStorageClusterBucket(?Model\ObjectStorageObjectStorageClusterBucketsBucketDeleteBody $requestBody = null, string $fetch = self::FETCH_OBJECT) { - return $this->executeEndpoint(new Endpoint\PostAddressListEntries($requestBody), $fetch); + return $this->executeEndpoint(new Endpoint\DeleteObjectStorageObjectStorageClusterBucket($requestBody), $fetch); } /** - * Delete an address list entry. + * Returns object storage bucket details * ## Scopes - * - `address_lists`. + * - `object_storage:read`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * + * @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. + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * - * @return Model\AddressListEntriesAddressListEntryDeleteResponse200|\Psr\Http\Message\ResponseInterface|null + * @return Model\ObjectStorageObjectStorageClusterBucketsBucketGetResponse200|\Psr\Http\Message\ResponseInterface|null * - * @throws Exception\DeleteAddressListEntryBadRequestException - * @throws Exception\DeleteAddressListEntryForbiddenException - * @throws Exception\DeleteAddressListEntryNotFoundException - * @throws Exception\DeleteAddressListEntryTooManyRequestsException - * @throws Exception\DeleteAddressListEntryServiceUnavailableException + * @throws Exception\GetObjectStorageObjectStorageClusterBucketBadRequestException + * @throws Exception\GetObjectStorageObjectStorageClusterBucketForbiddenException + * @throws Exception\GetObjectStorageObjectStorageClusterBucketNotFoundException + * @throws Exception\GetObjectStorageObjectStorageClusterBucketNotAcceptableException + * @throws Exception\GetObjectStorageObjectStorageClusterBucketTooManyRequestsException + * @throws Exception\GetObjectStorageObjectStorageClusterBucketInternalServerErrorException + * @throws Exception\GetObjectStorageObjectStorageClusterBucketServiceUnavailableException */ - public function deleteAddressListEntry(?Model\AddressListEntriesAddressListEntryDeleteBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + public function getObjectStorageObjectStorageClusterBucket(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) { - return $this->executeEndpoint(new Endpoint\DeleteAddressListEntry($requestBody), $fetch); + return $this->executeEndpoint(new Endpoint\GetObjectStorageObjectStorageClusterBucket($queryParameters), $fetch); } /** - * Returns details for an address list entry. + * Configure an object storage bucket with new properties * ## Scopes - * - `address_lists` - * - `address_lists:read`. - * - * @param array $queryParameters { + * - `object_storage`. * - * @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. - * } + * ### 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\AddressListEntriesAddressListEntryGetResponse200|\Psr\Http\Message\ResponseInterface|null + * @return Model\ObjectStorageObjectStorageClusterBucketsBucketPatchResponse200|\Psr\Http\Message\ResponseInterface|null * - * @throws Exception\GetAddressListEntryBadRequestException - * @throws Exception\GetAddressListEntryForbiddenException - * @throws Exception\GetAddressListEntryNotFoundException - * @throws Exception\GetAddressListEntryTooManyRequestsException - * @throws Exception\GetAddressListEntryServiceUnavailableException + * @throws Exception\PatchObjectStorageObjectStorageClusterBucketBadRequestException + * @throws Exception\PatchObjectStorageObjectStorageClusterBucketForbiddenException + * @throws Exception\PatchObjectStorageObjectStorageClusterBucketNotFoundException + * @throws Exception\PatchObjectStorageObjectStorageClusterBucketNotAcceptableException + * @throws Exception\PatchObjectStorageObjectStorageClusterBucketUnprocessableEntityException + * @throws Exception\PatchObjectStorageObjectStorageClusterBucketTooManyRequestsException + * @throws Exception\PatchObjectStorageObjectStorageClusterBucketInternalServerErrorException + * @throws Exception\PatchObjectStorageObjectStorageClusterBucketServiceUnavailableException */ - public function getAddressListEntry(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) + public function patchObjectStorageObjectStorageClusterBucket(?Model\ObjectStorageObjectStorageClusterBucketsBucketPatchBody $requestBody = null, string $fetch = self::FETCH_OBJECT) { - return $this->executeEndpoint(new Endpoint\GetAddressListEntry($queryParameters), $fetch); + return $this->executeEndpoint(new Endpoint\PatchObjectStorageObjectStorageClusterBucket($requestBody), $fetch); } /** - * Update an address list entry with new properties. + * Revoke presigned URLs for all objects within an object storage bucket * ## Scopes - * - `address_lists`. + * - `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\AddressListEntriesAddressListEntryPatchResponse200|\Psr\Http\Message\ResponseInterface|null + * @return Model\ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostResponse200|\Psr\Http\Message\ResponseInterface|null * - * @throws Exception\PatchAddressListEntryBadRequestException - * @throws Exception\PatchAddressListEntryForbiddenException - * @throws Exception\PatchAddressListEntryNotFoundException - * @throws Exception\PatchAddressListEntryUnprocessableEntityException - * @throws Exception\PatchAddressListEntryTooManyRequestsException - * @throws Exception\PatchAddressListEntryServiceUnavailableException + * @throws Exception\PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsBadRequestException + * @throws Exception\PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsForbiddenException + * @throws Exception\PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsNotFoundException + * @throws Exception\PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsNotAcceptableException + * @throws Exception\PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsTooManyRequestsException + * @throws Exception\PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsInternalServerErrorException + * @throws Exception\PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsServiceUnavailableException + * @throws Exception\PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsGatewayTimeoutException */ - public function patchAddressListEntry(?Model\AddressListEntriesAddressListEntryPatchBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + public function postObjectStorageObjectStorageClusterBucketRevokePresignedUrls(?Model\ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) { - return $this->executeEndpoint(new Endpoint\PatchAddressListEntry($requestBody), $fetch); + return $this->executeEndpoint(new Endpoint\PostObjectStorageObjectStorageClusterBucketRevokePresignedUrls($requestBody), $fetch); } /** - * Create or delete multiple address list entries for a given address list. + * Returns object storage object details * ## Scopes - * - `address_lists`. + * - `object_storage:read`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * + * @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 $path The name or path for the object + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * - * @return Model\AddressListsAddressListEntriesBulkPostResponse200|\Psr\Http\Message\ResponseInterface|null + * @return Model\ObjectStorageObjectStorageClusterBucketsBucketObjectGetResponse200|\Psr\Http\Message\ResponseInterface|null * - * @throws Exception\PostAddressListEntriesBulkBadRequestException - * @throws Exception\PostAddressListEntriesBulkForbiddenException - * @throws Exception\PostAddressListEntriesBulkNotFoundException - * @throws Exception\PostAddressListEntriesBulkUnprocessableEntityException - * @throws Exception\PostAddressListEntriesBulkTooManyRequestsException - * @throws Exception\PostAddressListEntriesBulkServiceUnavailableException + * @throws Exception\GetObjectStorageObjectStorageClusterBucketObjectBadRequestException + * @throws Exception\GetObjectStorageObjectStorageClusterBucketObjectForbiddenException + * @throws Exception\GetObjectStorageObjectStorageClusterBucketObjectNotFoundException + * @throws Exception\GetObjectStorageObjectStorageClusterBucketObjectNotAcceptableException + * @throws Exception\GetObjectStorageObjectStorageClusterBucketObjectTooManyRequestsException + * @throws Exception\GetObjectStorageObjectStorageClusterBucketObjectInternalServerErrorException + * @throws Exception\GetObjectStorageObjectStorageClusterBucketObjectServiceUnavailableException + * @throws Exception\GetObjectStorageObjectStorageClusterBucketObjectGatewayTimeoutException */ - public function postAddressListEntriesBulk(?Model\AddressListsAddressListEntriesBulkPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + public function getObjectStorageObjectStorageClusterBucketObject(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) { - return $this->executeEndpoint(new Endpoint\PostAddressListEntriesBulk($requestBody), $fetch); + return $this->executeEndpoint(new Endpoint\GetObjectStorageObjectStorageClusterBucketObject($queryParameters), $fetch); } /** - * Provides a full list of certificates + * Returns temporary url to download the object storage object + * ## 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\ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\PostObjectStorageObjectStorageClusterBucketPresignedUrlBadRequestException + * @throws Exception\PostObjectStorageObjectStorageClusterBucketPresignedUrlForbiddenException + * @throws Exception\PostObjectStorageObjectStorageClusterBucketPresignedUrlNotFoundException + * @throws Exception\PostObjectStorageObjectStorageClusterBucketPresignedUrlNotAcceptableException + * @throws Exception\PostObjectStorageObjectStorageClusterBucketPresignedUrlUnprocessableEntityException + * @throws Exception\PostObjectStorageObjectStorageClusterBucketPresignedUrlTooManyRequestsException + * @throws Exception\PostObjectStorageObjectStorageClusterBucketPresignedUrlInternalServerErrorException + * @throws Exception\PostObjectStorageObjectStorageClusterBucketPresignedUrlServiceUnavailableException + * @throws Exception\PostObjectStorageObjectStorageClusterBucketPresignedUrlGatewayTimeoutException + */ + public function postObjectStorageObjectStorageClusterBucketPresignedUrl(?Model\ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\PostObjectStorageObjectStorageClusterBucketPresignedUrl($requestBody), $fetch); + } + + /** + * 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. + * ## Scopes + * - `virtual_machines`. + * + * ### 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\OrganizationsOrganizationVirtualMachinesBuildPostResponse201|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\PostOrganizationVirtualMachinesBuildBadRequestException + * @throws Exception\PostOrganizationVirtualMachinesBuildForbiddenException + * @throws Exception\PostOrganizationVirtualMachinesBuildNotFoundException + * @throws Exception\PostOrganizationVirtualMachinesBuildUnprocessableEntityException + * @throws Exception\PostOrganizationVirtualMachinesBuildTooManyRequestsException + * @throws Exception\PostOrganizationVirtualMachinesBuildServiceUnavailableException + */ + public function postOrganizationVirtualMachinesBuild(?Model\OrganizationsOrganizationVirtualMachinesBuildPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\PostOrganizationVirtualMachinesBuild($requestBody), $fetch); + } + + /** + * Builds a new virtual machine by receiving a virtual machine spec document + * ## Scopes + * - `virtual_machines`. + * + * ### 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\OrganizationsOrganizationVirtualMachinesBuildFromSpecPostResponse201|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\PostOrganizationVirtualMachinesBuildFromSpecBadRequestException + * @throws Exception\PostOrganizationVirtualMachinesBuildFromSpecForbiddenException + * @throws Exception\PostOrganizationVirtualMachinesBuildFromSpecNotFoundException + * @throws Exception\PostOrganizationVirtualMachinesBuildFromSpecUnprocessableEntityException + * @throws Exception\PostOrganizationVirtualMachinesBuildFromSpecTooManyRequestsException + * @throws Exception\PostOrganizationVirtualMachinesBuildFromSpecServiceUnavailableException + */ + public function postOrganizationVirtualMachinesBuildFromSpec(?Model\OrganizationsOrganizationVirtualMachinesBuildFromSpecPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\PostOrganizationVirtualMachinesBuildFromSpec($requestBody), $fetch); + } + + /** + * Return virtual machine build information + * ## Scopes + * - `virtual_machines` + * - `virtual_machines:read`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * + * @param array $queryParameters { + * + * @var string $virtual_machine_build[id] All 'virtual_machine_build[]' params are mutually exclusive, only one can be provided. + * } + * + * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) + * + * @return Model\VirtualMachinesBuildsVirtualMachineBuildGetResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\GetVirtualMachinesBuildsVirtualMachineBuildBadRequestException + * @throws Exception\GetVirtualMachinesBuildsVirtualMachineBuildForbiddenException + * @throws Exception\GetVirtualMachinesBuildsVirtualMachineBuildNotFoundException + * @throws Exception\GetVirtualMachinesBuildsVirtualMachineBuildTooManyRequestsException + * @throws Exception\GetVirtualMachinesBuildsVirtualMachineBuildServiceUnavailableException + */ + public function getVirtualMachinesBuildsVirtualMachineBuild(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\GetVirtualMachinesBuildsVirtualMachineBuild($queryParameters), $fetch); + } + + /** + * Provides a full list of certificates * ## Scopes * - `certificates` * - `certificates:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * * @var string $organization[id] All 'organization[]' params are mutually exclusive, only one can be provided * @var string $organization[sub_domain] All 'organization[]' params are mutually exclusive, only one can be provided - * @var int $page - * @var int $per_page + * @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) @@ -444,6 +807,9 @@ public function getOrganizationCertificates(array $queryParameters = [], string * - `certificates` * - `certificates:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * * @var string $certificate[id] All 'certificate[]' params are mutually exclusive, only one can be provided. @@ -465,13 +831,39 @@ public function getCertificate(array $queryParameters = [], string $fetch = self return $this->executeEndpoint(new Endpoint\GetCertificate($queryParameters), $fetch); } + /** + * Creates a new console session which can be opened in a browser + * ## Scopes + * - `virtual_machines` + * - `virtual_machines:console`. + * + * ### 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\VirtualMachinesVirtualMachineConsoleSessionsPostResponse201|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\PostVirtualMachineConsoleSessionsBadRequestException + * @throws Exception\PostVirtualMachineConsoleSessionsForbiddenException + * @throws Exception\PostVirtualMachineConsoleSessionsNotFoundException + * @throws Exception\PostVirtualMachineConsoleSessionsNotAcceptableException + * @throws Exception\PostVirtualMachineConsoleSessionsUnprocessableEntityException + * @throws Exception\PostVirtualMachineConsoleSessionsTooManyRequestsException + * @throws Exception\PostVirtualMachineConsoleSessionsServiceUnavailableException + */ + public function postVirtualMachineConsoleSessions(?Model\VirtualMachinesVirtualMachineConsoleSessionsPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\PostVirtualMachineConsoleSessions($requestBody), $fetch); + } + /** * Return a list of all countries available in Katapult. * * @param array $queryParameters { * - * @var int $page - * @var int $per_page + * @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) @@ -493,10 +885,16 @@ public function getCountries(array $queryParameters = [], string $fetch = self:: * * @param array $queryParameters { * - * @var string $country[id] The country to return. All 'country[]' params are mutually exclusive, only one can be provided. - * @var string $country[iso_code2] The country to return. All 'country[]' params are mutually exclusive, only one can be provided. - * @var string $country[iso_code3] The country to return. All 'country[]' params are mutually exclusive, only one can be provided. - * } + * @var string $country[id] The country to return. + * + * All 'country[]' params are mutually exclusive, only one can be provided. + * @var string $country[iso_code2] The country to return. + * + * All 'country[]' params are mutually exclusive, only one can be provided. + * @var string $country[iso_code3] The country to return. + * + * All 'country[]' params are mutually exclusive, only one can be provided. + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -518,12 +916,18 @@ public function getCountry(array $queryParameters = [], string $fetch = self::FE * * @param array $queryParameters { * - * @var string $country[id] The country to return states for. All 'country[]' params are mutually exclusive, only one can be provided. - * @var string $country[iso_code2] The country to return states for. All 'country[]' params are mutually exclusive, only one can be provided. - * @var string $country[iso_code3] The country to return states for. All 'country[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @var string $country[id] The country to return states for. + * + * All 'country[]' params are mutually exclusive, only one can be provided. + * @var string $country[iso_code2] The country to return states for. + * + * All 'country[]' params are mutually exclusive, only one can be provided. + * @var string $country[iso_code3] The country to return states for. + * + * All 'country[]' 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) * @@ -545,8 +949,10 @@ 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. - * } + * @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) * @@ -568,8 +974,8 @@ public function getCountryState(array $queryParameters = [], string $fetch = sel * * @param array $queryParameters { * - * @var int $page - * @var int $per_page + * @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) @@ -591,9 +997,13 @@ public function getCurrencies(array $queryParameters = [], string $fetch = self: * * @param array $queryParameters { * - * @var string $currency[id] The currency to return. All 'currency[]' params are mutually exclusive, only one can be provided. - * @var string $currency[iso_code] The currency to return. All 'currency[]' params are mutually exclusive, only one can be provided. - * } + * @var string $currency[id] The currency to return. + * + * All 'currency[]' params are mutually exclusive, only one can be provided. + * @var string $currency[iso_code] The currency to return. + * + * All 'currency[]' params are mutually exclusive, only one can be provided. + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -616,12 +1026,15 @@ public function getCurrency(array $queryParameters = [], string $fetch = self::F * - `dns` * - `dns:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * * @var string $organization[id] All 'organization[]' params are mutually exclusive, only one can be provided * @var string $organization[sub_domain] All 'organization[]' params are mutually exclusive, only one can be provided - * @var int $page - * @var int $per_page + * @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) @@ -644,6 +1057,9 @@ public function getOrganizationDnsZones(array $queryParameters = [], string $fet * ## Scopes * - `dns`. * + * ### 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\OrganizationsOrganizationDnsZonesPostResponse201|\Psr\Http\Message\ResponseInterface|null @@ -666,6 +1082,9 @@ public function postOrganizationDnsZones(?Model\OrganizationsOrganizationDnsZone * - `dns` * - `dns:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * * @var string $organization[id] All 'organization[]' params are mutually exclusive, only one can be provided @@ -692,6 +1111,9 @@ public function getOrganizationDnsZonesNameservers(array $queryParameters = [], * ## Scopes * - `dns`. * + * ### 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\DnsZonesDnsZoneDeleteResponse200|\Psr\Http\Message\ResponseInterface|null @@ -713,6 +1135,9 @@ public function deleteDnsZone(?Model\DnsZonesDnsZoneDeleteBody $requestBody = nu * - `dns` * - `dns:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * * @var string $dns_zone[id] All 'dns_zone[]' params are mutually exclusive, only one can be provided @@ -739,6 +1164,9 @@ public function getDnsZone(array $queryParameters = [], string $fetch = self::FE * ## Scopes * - `dns`. * + * ### 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\DnsZonesDnsZonePatchResponse200|\Psr\Http\Message\ResponseInterface|null @@ -760,6 +1188,9 @@ public function patchDnsZone(?Model\DnsZonesDnsZonePatchBody $requestBody = null * ## Scopes * - `dns`. * + * ### 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\DnsZonesDnsZoneVerifyPostResponse200|\Psr\Http\Message\ResponseInterface|null @@ -776,121 +1207,6 @@ public function postDnsZoneVerify(?Model\DnsZonesDnsZoneVerifyPostBody $requestB return $this->executeEndpoint(new Endpoint\PostDnsZoneVerify($requestBody), $fetch); } - /** - * Return a list of all DNS records in a zone - * ## Scopes - * - `dns` - * - `dns:read`. - * - * @param array $queryParameters { - * - * @var string $dns_zone[id] All 'dns_zone[]' params are mutually exclusive, only one can be provided - * @var string $dns_zone[name] All 'dns_zone[]' params are mutually exclusive, only one can be provided. - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @return Model\DnsZonesDnsZoneRecordsGetResponse200|\Psr\Http\Message\ResponseInterface|null - * - * @throws Exception\GetDnsZoneRecordsBadRequestException - * @throws Exception\GetDnsZoneRecordsForbiddenException - * @throws Exception\GetDnsZoneRecordsNotFoundException - * @throws Exception\GetDnsZoneRecordsTooManyRequestsException - * @throws Exception\GetDnsZoneRecordsServiceUnavailableException - */ - public function getDnsZoneRecords(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\GetDnsZoneRecords($queryParameters), $fetch); - } - - /** - * Create a new DNS record - * ## Scopes - * - `dns`. - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @return Model\DnsZonesDnsZoneRecordsPostResponse200|\Psr\Http\Message\ResponseInterface|null - * - * @throws Exception\PostDnsZoneRecordsBadRequestException - * @throws Exception\PostDnsZoneRecordsForbiddenException - * @throws Exception\PostDnsZoneRecordsNotFoundException - * @throws Exception\PostDnsZoneRecordsUnprocessableEntityException - * @throws Exception\PostDnsZoneRecordsTooManyRequestsException - * @throws Exception\PostDnsZoneRecordsServiceUnavailableException - */ - public function postDnsZoneRecords(?Model\DnsZonesDnsZoneRecordsPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\PostDnsZoneRecords($requestBody), $fetch); - } - - /** - * Delete a DNS record - * ## Scopes - * - `dns`. - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @return Model\DnsRecordsDnsRecordDeleteResponse200|\Psr\Http\Message\ResponseInterface|null - * - * @throws Exception\DeleteDnsRecordBadRequestException - * @throws Exception\DeleteDnsRecordForbiddenException - * @throws Exception\DeleteDnsRecordNotFoundException - * @throws Exception\DeleteDnsRecordTooManyRequestsException - * @throws Exception\DeleteDnsRecordServiceUnavailableException - */ - public function deleteDnsRecord(?Model\DnsRecordsDnsRecordDeleteBody $requestBody = null, string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\DeleteDnsRecord($requestBody), $fetch); - } - - /** - * Return details for a specific DNS record - * ## Scopes - * - `dns` - * - `dns:read`. - * - * @param array $queryParameters { - * - * @var string $dns_record[id] All 'dns_record[]' params are mutually exclusive, only one can be provided. - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @return Model\DnsRecordsDnsRecordGetResponse200|\Psr\Http\Message\ResponseInterface|null - * - * @throws Exception\GetDnsRecordBadRequestException - * @throws Exception\GetDnsRecordForbiddenException - * @throws Exception\GetDnsRecordNotFoundException - * @throws Exception\GetDnsRecordTooManyRequestsException - * @throws Exception\GetDnsRecordServiceUnavailableException - */ - public function getDnsRecord(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\GetDnsRecord($queryParameters), $fetch); - } - - /** - * Update a DNS record properties - * ## Scopes - * - `dns`. - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @return Model\DnsRecordsDnsRecordPatchResponse200|\Psr\Http\Message\ResponseInterface|null - * - * @throws Exception\PatchDnsRecordBadRequestException - * @throws Exception\PatchDnsRecordForbiddenException - * @throws Exception\PatchDnsRecordNotFoundException - * @throws Exception\PatchDnsRecordUnprocessableEntityException - * @throws Exception\PatchDnsRecordTooManyRequestsException - * @throws Exception\PatchDnsRecordServiceUnavailableException - */ - public function patchDnsRecord(?Model\DnsRecordsDnsRecordPatchBody $requestBody = null, string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\PatchDnsRecord($requestBody), $fetch); - } - /** * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -959,11 +1275,15 @@ public function getDataCenterDefaultNetwork(array $queryParameters = [], string * * @param array $queryParameters { * - * @var string $organization[id] The organization to find disk IO profiles for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $organization[sub_domain] The organization to find disk IO profiles for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @var string $organization[id] The organization to find disk IO profiles for. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[sub_domain] The organization to find disk IO profiles for. + * + * 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) * @@ -986,13 +1306,20 @@ public function getOrganizationDiskIoProfiles(array $queryParameters = [], strin * - `disk_backup_policies` * - `disk_backup_policies: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 to return disk backup policies for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $organization[sub_domain] The organization to return disk backup policies for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @var string $organization[id] The organization to return disk backup policies for. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[sub_domain] The organization to return disk backup policies for. + * + * 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) * @@ -1015,14 +1342,21 @@ public function getOrganizationDiskBackupPolicies(array $queryParameters = [], s * - `disk_backup_policies` * - `disk_backup_policies:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * - * @var string $virtual_machine[id] The virtual machine to return disk backup policies for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided. - * @var string $virtual_machine[fqdn] The virtual machine to return disk backup policies for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided. - * @var bool $include_disks 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 - * @var int $page - * @var int $per_page - * } + * @var string $virtual_machine[id] The virtual machine to return disk backup policies for. + * + * All 'virtual_machine[]' params are mutually exclusive, only one can be provided. + * @var string $virtual_machine[fqdn] The virtual machine to return disk backup policies for. + * + * All 'virtual_machine[]' params are mutually exclusive, only one can be provided. + * @var bool $include_disks 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 + * @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) * @@ -1045,6 +1379,9 @@ public function getVirtualMachineDiskBackupPolicies(array $queryParameters = [], * ## Scopes * - `disk_backup_policies`. * + * ### 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\VirtualMachinesVirtualMachineDiskBackupPoliciesPostResponse200|\Psr\Http\Message\ResponseInterface|null @@ -1068,12 +1405,17 @@ public function postVirtualMachineDiskBackupPolicies(?Model\VirtualMachinesVirtu * - `disk_backup_policies` * - `disk_backup_policies:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @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 - * @var int $per_page - * } + * @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. + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -1096,6 +1438,9 @@ public function getDiskDiskBackupPolicies(array $queryParameters = [], string $f * ## Scopes * - `disk_backup_policies`. * + * ### 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\DisksDiskDiskBackupPoliciesPostResponse200|\Psr\Http\Message\ResponseInterface|null @@ -1118,6 +1463,9 @@ public function postDiskDiskBackupPolicies(?Model\DisksDiskDiskBackupPoliciesPos * ## Scopes * - `disk_backup_policies`. * + * ### 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\DiskBackupPoliciesDiskBackupPolicyDeleteResponse200|\Psr\Http\Message\ResponseInterface|null @@ -1140,10 +1488,15 @@ public function deleteDiskBackupPolicy(?Model\DiskBackupPoliciesDiskBackupPolicy * - `disk_backup_policies` * - `disk_backup_policies:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @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. - * } + * @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) * @@ -1166,6 +1519,9 @@ public function getDiskBackupPolicy(array $queryParameters = [], string $fetch = * ## Scopes * - `disk_backup_policies`. * + * ### 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\DiskBackupPoliciesDiskBackupPolicyPatchResponse200|\Psr\Http\Message\ResponseInterface|null @@ -1188,6 +1544,9 @@ public function patchDiskBackupPolicy(?Model\DiskBackupPoliciesDiskBackupPolicyP * ## Scopes * - `disk_backup_policies`. * + * ### 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\DiskBackupPoliciesDiskBackupPolicyScheduleDeleteResponse200|\Psr\Http\Message\ResponseInterface|null @@ -1210,13 +1569,20 @@ public function deleteDiskBackupPolicySchedule(?Model\DiskBackupPoliciesDiskBack * - `disk_templates` * - `disk_templates:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * - * @var string $disk_template[id] The disk template to return the versions for. All 'disk_template[]' params are mutually exclusive, only one can be provided. - * @var string $disk_template[permalink] The disk template to return the versions for. All 'disk_template[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @var string $disk_template[id] The disk template to return the versions for. + * + * All 'disk_template[]' params are mutually exclusive, only one can be provided. + * @var string $disk_template[permalink] The disk template to return the versions for. + * + * All 'disk_template[]' 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) * @@ -1239,10 +1605,15 @@ public function getDiskTemplateVersions(array $queryParameters = [], string $fet * - `disk_templates` * - `disk_templates:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @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. - * } + * @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) * @@ -1265,10 +1636,15 @@ public function getDiskTemplateVersion(array $queryParameters = [], string $fetc * - `disk_templates` * - `disk_templates:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @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. - * } + * @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) * @@ -1291,15 +1667,24 @@ public function getDiskTemplateVersionSpec(array $queryParameters = [], string $ * - `disk_templates` * - `disk_templates: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 to find disk templates for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $organization[sub_domain] The organization to find disk templates for. All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[id] The organization to find disk templates for. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[sub_domain] The organization to find disk templates for. + * + * 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 - * @var int $per_page - * } + * @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. + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -1322,11 +1707,18 @@ public function getOrganizationDiskTemplates(array $queryParameters = [], string * - `disk_templates` * - `disk_templates:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * - * @var string $disk_template[id] The disk template to return. All 'disk_template[]' params are mutually exclusive, only one can be provided. - * @var string $disk_template[permalink] The disk template to return. All 'disk_template[]' params are mutually exclusive, only one can be provided. - * } + * @var string $disk_template[id] The disk template to return. + * + * All 'disk_template[]' params are mutually exclusive, only one can be provided. + * @var string $disk_template[permalink] The disk template to return. + * + * All 'disk_template[]' params are mutually exclusive, only one can be provided. + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -1349,15 +1741,30 @@ public function getDiskTemplate(array $queryParameters = [], string $fetch = sel * - `disks` * - `disks: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 to find disks for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $organization[sub_domain] The organization to find disks for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $annotations[key] An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided. - * @var string $annotations[value] An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @var string $organization[id] The organization to find disks for. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[sub_domain] The organization to find disks for. + * + * 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. + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -1379,6 +1786,9 @@ public function getOrganizationDisks(array $queryParameters = [], string $fetch * ## Scopes * - `disks`. * + * ### 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\OrganizationsOrganizationDisksPostResponse201|\Psr\Http\Message\ResponseInterface|null @@ -1401,6 +1811,9 @@ public function postOrganizationDisks(?Model\OrganizationsOrganizationDisksPostB * ## Scopes * - `disks`. * + * ### 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\DisksDiskDeleteResponse200|\Psr\Http\Message\ResponseInterface|null @@ -1424,10 +1837,15 @@ public function deleteDisk(?Model\DisksDiskDeleteBody $requestBody = null, strin * - `disks` * - `disks:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * - * @var string $disk[id] The disk to return. All 'disk[]' params are mutually exclusive, only one can be provided. - * } + * @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) * @@ -1450,6 +1868,9 @@ public function getDisk(array $queryParameters = [], string $fetch = self::FETCH * ## Scopes * - `disks`. * + * ### 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\DisksDiskPatchResponse200|\Psr\Http\Message\ResponseInterface|null @@ -1472,6 +1893,9 @@ public function patchDisk(?Model\DisksDiskPatchBody $requestBody = null, string * ## Scopes * - `disks`. * + * ### 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\DisksDiskAssignPostResponse200|\Psr\Http\Message\ResponseInterface|null @@ -1494,6 +1918,9 @@ public function postDiskAssign(?Model\DisksDiskAssignPostBody $requestBody = nul * ## Scopes * - `disks`. * + * ### 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\DisksDiskUnassignPostResponse200|\Psr\Http\Message\ResponseInterface|null @@ -1516,6 +1943,9 @@ public function postDiskUnassign(?Model\DisksDiskUnassignPostBody $requestBody = * ## Scopes * - `disks`. * + * ### 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\DisksDiskAttachPostResponse200|\Psr\Http\Message\ResponseInterface|null @@ -1538,6 +1968,9 @@ public function postDiskAttach(?Model\DisksDiskAttachPostBody $requestBody = nul * ## Scopes * - `disks`. * + * ### 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\DisksDiskDetachPostResponse200|\Psr\Http\Message\ResponseInterface|null @@ -1560,6 +1993,9 @@ public function postDiskDetach(?Model\DisksDiskDetachPostBody $requestBody = nul * ## Scopes * - `disks`. * + * ### 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\DisksDiskResizePutResponse200|\Psr\Http\Message\ResponseInterface|null @@ -1582,6 +2018,9 @@ public function putDiskResize(?Model\DisksDiskResizePutBody $requestBody = null, * ## Scopes * - `disks`. * + * ### 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\DisksDiskIoProfilePutResponse200|\Psr\Http\Message\ResponseInterface|null @@ -1604,13 +2043,20 @@ public function putDiskIoProfile(?Model\DisksDiskIoProfilePutBody $requestBody = * - `disks` * - `disks:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * - * @var string $virtual_machine[id] The virtual machine to find disks for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided. - * @var string $virtual_machine[fqdn] The virtual machine to find disks for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @var string $virtual_machine[id] The virtual machine to find disks for. + * + * All 'virtual_machine[]' params are mutually exclusive, only one can be provided. + * @var string $virtual_machine[fqdn] The virtual machine to find disks for. + * + * All 'virtual_machine[]' 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) * @@ -1634,15 +2080,30 @@ public function getVirtualMachineDisks(array $queryParameters = [], string $fetc * - `file_storage_volumes` * - `file_storage_volumes: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 to return all file storage volumes for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $organization[sub_domain] The organization to return all file storage volumes for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $annotations[key] An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided. - * @var string $annotations[value] An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @var string $organization[id] The organization to return all file storage volumes for. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[sub_domain] The organization to return all file storage volumes for. + * + * 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. + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -1664,6 +2125,9 @@ public function getOrganizationFileStorageVolumes(array $queryParameters = [], s * ## Scopes * - `file_storage_volumes`. * + * ### 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\OrganizationsOrganizationFileStorageVolumesPostResponse201|\Psr\Http\Message\ResponseInterface|null @@ -1685,6 +2149,9 @@ public function postOrganizationFileStorageVolumes(?Model\OrganizationsOrganizat * ## Scopes * - `file_storage_volumes`. * + * ### 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\FileStorageVolumesFileStorageVolumeDeleteResponse200|\Psr\Http\Message\ResponseInterface|null @@ -1708,10 +2175,15 @@ public function deleteFileStorageVolume(?Model\FileStorageVolumesFileStorageVolu * - `file_storage_volumes` * - `file_storage_volumes:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @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. - * } + * @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) * @@ -1734,6 +2206,9 @@ public function getFileStorageVolume(array $queryParameters = [], string $fetch * ## Scopes * - `file_storage_volumes`. * + * ### 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\FileStorageVolumesFileStorageVolumePatchResponse200|\Psr\Http\Message\ResponseInterface|null @@ -1756,8 +2231,8 @@ public function patchFileStorageVolume(?Model\FileStorageVolumesFileStorageVolum * * @param array $queryParameters { * - * @var int $page - * @var int $per_page + * @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) @@ -1803,11 +2278,15 @@ public function getGpuType(array $queryParameters = [], string $fetch = self::FE * * @param array $queryParameters { * - * @var string $data_center[id] The data center to list GPU types for. All 'data_center[]' params are mutually exclusive, only one can be provided. - * @var string $data_center[permalink] The data center to list GPU types for. All 'data_center[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @var string $data_center[id] The data center to list GPU types for. + * + * All 'data_center[]' params are mutually exclusive, only one can be provided. + * @var string $data_center[permalink] The data center to list GPU types for. + * + * All 'data_center[]' 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) * @@ -1830,14 +2309,21 @@ public function getDataCenterGpuTypes(array $queryParameters = [], string $fetch * - `ip_addresses` * - `ip_addresses: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 to use when looking up IP addresses. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $organization[sub_domain] The organization to use when looking up IP addresses. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var bool $allocated If true, only return allocated IP addresss. If false, only return unallocated IP addresses. - * @var int $page - * @var int $per_page - * } + * @var string $organization[id] The organization to use when looking up IP addresses. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[sub_domain] The organization to use when looking up IP addresses. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var bool $allocated If true, only return allocated IP addresss. If false, only return unallocated IP addresses. + * @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) * @@ -1859,6 +2345,9 @@ public function getOrganizationIpAddresses(array $queryParameters = [], string $ * ## Scopes * - `ip_addresses`. * + * ### 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\OrganizationsOrganizationIpAddressesPostResponse200|\Psr\Http\Message\ResponseInterface|null @@ -1880,6 +2369,9 @@ public function postOrganizationIpAddresses(?Model\OrganizationsOrganizationIpAd * ## Scopes * - `ip_addresses`. * + * ### 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\IpAddressesIpAddressDeleteResponse200|\Psr\Http\Message\ResponseInterface|null @@ -1902,11 +2394,18 @@ public function deleteIpAddress(?Model\IpAddressesIpAddressDeleteBody $requestBo * - `ip_addresses` * - `ip_addresses:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * - * @var string $ip_address[id] The IP address to find. All 'ip_address[]' params are mutually exclusive, only one can be provided. - * @var string $ip_address[address] The IP address to find. All 'ip_address[]' params are mutually exclusive, only one can be provided. - * } + * @var string $ip_address[id] The IP address to find. + * + * All 'ip_address[]' params are mutually exclusive, only one can be provided. + * @var string $ip_address[address] The IP address to find. + * + * All 'ip_address[]' params are mutually exclusive, only one can be provided. + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -1928,6 +2427,9 @@ public function getIpAddress(array $queryParameters = [], string $fetch = self:: * ## Scopes * - `ip_addresses`. * + * ### 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\IpAddressesIpAddressPatchResponse200|\Psr\Http\Message\ResponseInterface|null @@ -1949,6 +2451,9 @@ public function patchIpAddress(?Model\IpAddressesIpAddressPatchBody $requestBody * ## Scopes * - `ip_addresses`. * + * ### 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\IpAddressesIpAddressUnallocatePostResponse200|\Psr\Http\Message\ResponseInterface|null @@ -1967,139 +2472,25 @@ public function postIpAddressUnallocate(?Model\IpAddressesIpAddressUnallocatePos } /** - * Returns a list of all load balancers for a given organization + * Returns a list of all rules for a given load balancer * ## Scopes * - `load_balancers` * - `load_balancers:read`. * - * @param array $queryParameters { - * - * @var string $organization[id] The organization to return all load balancers for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $organization[sub_domain] The organization to return all load balancers for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $annotations[key] An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided. - * @var string $annotations[value] An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @return Model\OrganizationsOrganizationLoadBalancersGetResponse200|\Psr\Http\Message\ResponseInterface|null - * - * @throws Exception\GetOrganizationLoadBalancersBadRequestException - * @throws Exception\GetOrganizationLoadBalancersForbiddenException - * @throws Exception\GetOrganizationLoadBalancersNotFoundException - * @throws Exception\GetOrganizationLoadBalancersTooManyRequestsException - * @throws Exception\GetOrganizationLoadBalancersServiceUnavailableException - */ - public function getOrganizationLoadBalancers(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\GetOrganizationLoadBalancers($queryParameters), $fetch); - } - - /** - * Create a new load balancer for a given organization - * ## Scopes - * - `load_balancers`. - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @return Model\OrganizationsOrganizationLoadBalancersPostResponse201|\Psr\Http\Message\ResponseInterface|null - * - * @throws Exception\PostOrganizationLoadBalancersBadRequestException - * @throws Exception\PostOrganizationLoadBalancersForbiddenException - * @throws Exception\PostOrganizationLoadBalancersNotFoundException - * @throws Exception\PostOrganizationLoadBalancersUnprocessableEntityException - * @throws Exception\PostOrganizationLoadBalancersTooManyRequestsException - * @throws Exception\PostOrganizationLoadBalancersServiceUnavailableException - */ - public function postOrganizationLoadBalancers(?Model\OrganizationsOrganizationLoadBalancersPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\PostOrganizationLoadBalancers($requestBody), $fetch); - } - - /** - * Delete a load balancer - * ## Scopes - * - `load_balancers`. - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @return Model\LoadBalancersLoadBalancerDeleteResponse200|\Psr\Http\Message\ResponseInterface|null - * - * @throws Exception\DeleteLoadBalancerBadRequestException - * @throws Exception\DeleteLoadBalancerForbiddenException - * @throws Exception\DeleteLoadBalancerNotFoundException - * @throws Exception\DeleteLoadBalancerUnprocessableEntityException - * @throws Exception\DeleteLoadBalancerTooManyRequestsException - * @throws Exception\DeleteLoadBalancerServiceUnavailableException - */ - public function deleteLoadBalancer(?Model\LoadBalancersLoadBalancerDeleteBody $requestBody = null, string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\DeleteLoadBalancer($requestBody), $fetch); - } - - /** - * Returns details about a load balancer - * ## Scopes - * - `load_balancers` - * - `load_balancers:read`. + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. * * @param array $queryParameters { * - * @var string $load_balancer[id] The load balancer to return the details for. All 'load_balancer[]' params are mutually exclusive, only one can be provided. - * @var string $load_balancer[api_reference] The load balancer to return the details for. All 'load_balancer[]' params are mutually exclusive, only one can be provided. - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @return Model\LoadBalancersLoadBalancerGetResponse200|\Psr\Http\Message\ResponseInterface|null - * - * @throws Exception\GetLoadBalancerBadRequestException - * @throws Exception\GetLoadBalancerForbiddenException - * @throws Exception\GetLoadBalancerNotFoundException - * @throws Exception\GetLoadBalancerTooManyRequestsException - * @throws Exception\GetLoadBalancerServiceUnavailableException - */ - public function getLoadBalancer(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\GetLoadBalancer($queryParameters), $fetch); - } - - /** - * Updates a load balancer with new properties - * ## Scopes - * - `load_balancers`. - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @return Model\LoadBalancersLoadBalancerPatchResponse200|\Psr\Http\Message\ResponseInterface|null - * - * @throws Exception\PatchLoadBalancerBadRequestException - * @throws Exception\PatchLoadBalancerForbiddenException - * @throws Exception\PatchLoadBalancerNotFoundException - * @throws Exception\PatchLoadBalancerUnprocessableEntityException - * @throws Exception\PatchLoadBalancerTooManyRequestsException - * @throws Exception\PatchLoadBalancerServiceUnavailableException - */ - public function patchLoadBalancer(?Model\LoadBalancersLoadBalancerPatchBody $requestBody = null, string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\PatchLoadBalancer($requestBody), $fetch); - } - - /** - * Returns a list of all rules for a given load balancer - * ## Scopes - * - `load_balancers` - * - `load_balancers:read`. + * @var string $load_balancer[id] The load balancer to return all load rules for. * - * @param array $queryParameters { + * All 'load_balancer[]' params are mutually exclusive, only one can be provided. + * @var string $load_balancer[api_reference] The load balancer to return all load rules for. * - * @var string $load_balancer[id] The load balancer to return all load rules for. All 'load_balancer[]' params are mutually exclusive, only one can be provided. - * @var string $load_balancer[api_reference] The load balancer to return all load rules for. All 'load_balancer[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * All 'load_balancer[]' 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) * @@ -2121,6 +2512,9 @@ public function getLoadBalancerRules(array $queryParameters = [], string $fetch * ## Scopes * - `load_balancers`. * + * ### 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\LoadBalancersLoadBalancerRulesPostResponse200|\Psr\Http\Message\ResponseInterface|null @@ -2142,6 +2536,9 @@ public function postLoadBalancerRules(?Model\LoadBalancersLoadBalancerRulesPostB * ## Scopes * - `load_balancers`. * + * ### 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\LoadBalancersRulesLoadBalancerRuleDeleteResponse200|\Psr\Http\Message\ResponseInterface|null @@ -2164,10 +2561,15 @@ public function deleteLoadBalancersRulesLoadBalancerRule(?Model\LoadBalancersRul * - `load_balancers` * - `load_balancers:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @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. - * } + * @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) * @@ -2189,6 +2591,9 @@ public function getLoadBalancersRulesLoadBalancerRule(array $queryParameters = [ * ## Scopes * - `load_balancers`. * + * ### 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\LoadBalancersRulesLoadBalancerRulePatchResponse200|\Psr\Http\Message\ResponseInterface|null @@ -2206,66 +2611,316 @@ public function patchLoadBalancersRulesLoadBalancerRule(?Model\LoadBalancersRule } /** - * Returns a list of all network speed profiles available to an organization. + * Returns a list of all load balancers for a given organization + * ## Scopes + * - `load_balancers` + * - `load_balancers: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 to use when looking up network speed profiles. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $organization[sub_domain] The organization to use when looking up network speed profiles. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @var string $organization[id] The organization to return all load balancers for. * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[sub_domain] The organization to return all load balancers for. * - * @return Model\OrganizationsOrganizationNetworkSpeedProfilesGetResponse200|\Psr\Http\Message\ResponseInterface|null + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var array $annotations[][key] An array of annotations to filter by. * - * @throws Exception\GetOrganizationNetworkSpeedProfilesBadRequestException - * @throws Exception\GetOrganizationNetworkSpeedProfilesForbiddenException - * @throws Exception\GetOrganizationNetworkSpeedProfilesNotFoundException - * @throws Exception\GetOrganizationNetworkSpeedProfilesTooManyRequestsException - * @throws Exception\GetOrganizationNetworkSpeedProfilesServiceUnavailableException - */ - public function getOrganizationNetworkSpeedProfiles(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\GetOrganizationNetworkSpeedProfiles($queryParameters), $fetch); - } - - /** - * Returns a list of all networks available for an organization. + * All 'annotations[]' params are mutually exclusive, only one can be provided. * - * @param array $queryParameters { + * All `annotations[]` params should have the same amount of elements. + * @var array $annotations[][value] An array of annotations to filter by. * - * @var string $organization[id] All 'organization[]' params are mutually exclusive, only one can be provided - * @var string $organization[sub_domain] All 'organization[]' params are mutually exclusive, only one can be provided. - * } + * 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. + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * - * @return Model\OrganizationsOrganizationAvailableNetworksGetResponse200|\Psr\Http\Message\ResponseInterface|null + * @return Model\OrganizationsOrganizationLoadBalancersGetResponse200|\Psr\Http\Message\ResponseInterface|null * - * @throws Exception\GetOrganizationAvailableNetworksBadRequestException - * @throws Exception\GetOrganizationAvailableNetworksForbiddenException - * @throws Exception\GetOrganizationAvailableNetworksNotFoundException - * @throws Exception\GetOrganizationAvailableNetworksTooManyRequestsException - * @throws Exception\GetOrganizationAvailableNetworksServiceUnavailableException + * @throws Exception\GetOrganizationLoadBalancersBadRequestException + * @throws Exception\GetOrganizationLoadBalancersForbiddenException + * @throws Exception\GetOrganizationLoadBalancersNotFoundException + * @throws Exception\GetOrganizationLoadBalancersTooManyRequestsException + * @throws Exception\GetOrganizationLoadBalancersServiceUnavailableException */ - public function getOrganizationAvailableNetworks(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) + public function getOrganizationLoadBalancers(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) { - return $this->executeEndpoint(new Endpoint\GetOrganizationAvailableNetworks($queryParameters), $fetch); + return $this->executeEndpoint(new Endpoint\GetOrganizationLoadBalancers($queryParameters), $fetch); } /** - * Returns details for a specific network. + * Create a new load balancer for a given organization + * ## Scopes + * - `load_balancers`. + * + * ### 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\OrganizationsOrganizationLoadBalancersPostResponse201|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\PostOrganizationLoadBalancersBadRequestException + * @throws Exception\PostOrganizationLoadBalancersForbiddenException + * @throws Exception\PostOrganizationLoadBalancersNotFoundException + * @throws Exception\PostOrganizationLoadBalancersUnprocessableEntityException + * @throws Exception\PostOrganizationLoadBalancersTooManyRequestsException + * @throws Exception\PostOrganizationLoadBalancersServiceUnavailableException + */ + public function postOrganizationLoadBalancers(?Model\OrganizationsOrganizationLoadBalancersPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\PostOrganizationLoadBalancers($requestBody), $fetch); + } + + /** + * Delete a load balancer + * ## Scopes + * - `load_balancers`. + * + * ### 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\LoadBalancersLoadBalancerDeleteResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\DeleteLoadBalancerBadRequestException + * @throws Exception\DeleteLoadBalancerForbiddenException + * @throws Exception\DeleteLoadBalancerNotFoundException + * @throws Exception\DeleteLoadBalancerUnprocessableEntityException + * @throws Exception\DeleteLoadBalancerTooManyRequestsException + * @throws Exception\DeleteLoadBalancerServiceUnavailableException + */ + public function deleteLoadBalancer(?Model\LoadBalancersLoadBalancerDeleteBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\DeleteLoadBalancer($requestBody), $fetch); + } + + /** + * Returns details about a load balancer + * ## Scopes + * - `load_balancers` + * - `load_balancers:read`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * + * @param array $queryParameters { + * + * @var string $load_balancer[id] The load balancer to return the details for. + * + * All 'load_balancer[]' params are mutually exclusive, only one can be provided. + * @var string $load_balancer[api_reference] The load balancer to return the details for. + * + * All 'load_balancer[]' params are mutually exclusive, only one can be provided. + * } + * + * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) + * + * @return Model\LoadBalancersLoadBalancerGetResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\GetLoadBalancerBadRequestException + * @throws Exception\GetLoadBalancerForbiddenException + * @throws Exception\GetLoadBalancerNotFoundException + * @throws Exception\GetLoadBalancerTooManyRequestsException + * @throws Exception\GetLoadBalancerServiceUnavailableException + */ + public function getLoadBalancer(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\GetLoadBalancer($queryParameters), $fetch); + } + + /** + * Updates a load balancer with new properties + * ## Scopes + * - `load_balancers`. + * + * ### 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\LoadBalancersLoadBalancerPatchResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\PatchLoadBalancerBadRequestException + * @throws Exception\PatchLoadBalancerForbiddenException + * @throws Exception\PatchLoadBalancerNotFoundException + * @throws Exception\PatchLoadBalancerUnprocessableEntityException + * @throws Exception\PatchLoadBalancerTooManyRequestsException + * @throws Exception\PatchLoadBalancerServiceUnavailableException + */ + public function patchLoadBalancer(?Model\LoadBalancersLoadBalancerPatchBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\PatchLoadBalancer($requestBody), $fetch); + } + + /** + * List all managed organizations owned by the given organization + * ## Scopes + * - `managed_organizations`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * + * @param array $queryParameters { + * + * @var string $organization[id] All 'organization[]' params are mutually exclusive, only one can be provided + * @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. + * } + * + * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) + * + * @return Model\OrganizationsOrganizationManagedGetResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\GetOrganizationManagedBadRequestException + * @throws Exception\GetOrganizationManagedForbiddenException + * @throws Exception\GetOrganizationManagedNotFoundException + * @throws Exception\GetOrganizationManagedTooManyRequestsException + * @throws Exception\GetOrganizationManagedServiceUnavailableException + */ + public function getOrganizationManaged(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\GetOrganizationManaged($queryParameters), $fetch); + } + + /** + * Create a new managed organization within an existing organization + * ## Scopes + * - `managed_organizations`. + * + * ### 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\OrganizationsOrganizationManagedPostResponse201|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\PostOrganizationManagedBadRequestException + * @throws Exception\PostOrganizationManagedForbiddenException + * @throws Exception\PostOrganizationManagedNotFoundException + * @throws Exception\PostOrganizationManagedUnprocessableEntityException + * @throws Exception\PostOrganizationManagedTooManyRequestsException + * @throws Exception\PostOrganizationManagedServiceUnavailableException + */ + public function postOrganizationManaged(?Model\OrganizationsOrganizationManagedPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\PostOrganizationManaged($requestBody), $fetch); + } + + /** + * Delete a managed organization. All resources must be removed first. + * ## Scopes + * - `managed_organizations:delete`. + * + * ### 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\ManagedOrganizationsOrganizationDeleteResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\DeleteOrganizationBadRequestException + * @throws Exception\DeleteOrganizationForbiddenException + * @throws Exception\DeleteOrganizationNotFoundException + * @throws Exception\DeleteOrganizationConflictException + * @throws Exception\DeleteOrganizationTooManyRequestsException + * @throws Exception\DeleteOrganizationInternalServerErrorException + * @throws Exception\DeleteOrganizationServiceUnavailableException + */ + public function deleteOrganization(?Model\ManagedOrganizationsOrganizationDeleteBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\DeleteOrganization($requestBody), $fetch); + } + + /** + * Returns a list of all network speed profiles available to an organization. + * + * @param array $queryParameters { + * + * @var string $organization[id] The organization to use when looking up network speed profiles. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[sub_domain] The organization to use when looking up network speed profiles. + * + * 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\OrganizationsOrganizationNetworkSpeedProfilesGetResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\GetOrganizationNetworkSpeedProfilesBadRequestException + * @throws Exception\GetOrganizationNetworkSpeedProfilesForbiddenException + * @throws Exception\GetOrganizationNetworkSpeedProfilesNotFoundException + * @throws Exception\GetOrganizationNetworkSpeedProfilesTooManyRequestsException + * @throws Exception\GetOrganizationNetworkSpeedProfilesServiceUnavailableException + */ + public function getOrganizationNetworkSpeedProfiles(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\GetOrganizationNetworkSpeedProfiles($queryParameters), $fetch); + } + + /** + * Returns a list of all networks available for an organization. * * @param array $queryParameters { * - * @var string $network[id] The network to return. All 'network[]' params are mutually exclusive, only one can be provided. - * @var string $network[permalink] The network to return. All 'network[]' params are mutually exclusive, only one can be provided. + * @var string $organization[id] All 'organization[]' params are mutually exclusive, only one can be provided + * @var string $organization[sub_domain] All 'organization[]' params are mutually exclusive, only one can be provided. * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * + * @return Model\OrganizationsOrganizationAvailableNetworksGetResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\GetOrganizationAvailableNetworksBadRequestException + * @throws Exception\GetOrganizationAvailableNetworksForbiddenException + * @throws Exception\GetOrganizationAvailableNetworksNotFoundException + * @throws Exception\GetOrganizationAvailableNetworksTooManyRequestsException + * @throws Exception\GetOrganizationAvailableNetworksServiceUnavailableException + */ + public function getOrganizationAvailableNetworks(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\GetOrganizationAvailableNetworks($queryParameters), $fetch); + } + + /** + * Returns details for a specific network. + * + * @param array $queryParameters { + * + * @var string $network[id] The network to return. + * + * All 'network[]' params are mutually exclusive, only one can be provided. + * @var string $network[permalink] The network to return. + * + * All 'network[]' params are mutually exclusive, only one can be provided. + * } + * + * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) + * * @return Model\NetworksNetworkGetResponse200|\Psr\Http\Message\ResponseInterface|null * * @throws Exception\GetNetworkBadRequestException @@ -2284,8 +2939,8 @@ public function getNetwork(array $queryParameters = [], string $fetch = self::FE * * @param array $queryParameters { * - * @var int $page - * @var int $per_page + * @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) @@ -2307,8 +2962,10 @@ 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. - * } + * @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) * @@ -2325,6 +2982,42 @@ public function getOperatingSystem(array $queryParameters = [], string $fetch = return $this->executeEndpoint(new Endpoint\GetOperatingSystem($queryParameters), $fetch); } + /** + * This will return a simple list of users with any access to this organization. This + * endpoint is available to all users with access to the organization therefore allows + * them to see a small amount of information about their peers. This is useful when + * combined with other API actions that require the ID of a fellow user (such as when + * determining which users to assign a virtual machine). + * + * ## Scopes + * - `organizations:read` + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * + * @param array $queryParameters { + * + * @var string $organization[id] All 'organization[]' params are mutually exclusive, only one can be provided + * @var string $organization[sub_domain] 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\OrganizationsOrganizationUsersWithAccessGetResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\GetOrganizationUsersWithAccessBadRequestException + * @throws Exception\GetOrganizationUsersWithAccessForbiddenException + * @throws Exception\GetOrganizationUsersWithAccessNotFoundException + * @throws Exception\GetOrganizationUsersWithAccessTooManyRequestsException + * @throws Exception\GetOrganizationUsersWithAccessServiceUnavailableException + */ + public function getOrganizationUsersWithAccess(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\GetOrganizationUsersWithAccess($queryParameters), $fetch); + } + /** * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -2345,6 +3038,9 @@ public function getOrganizations(string $fetch = self::FETCH_OBJECT) * ## Scopes * - `organizations:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * * @var string $organization[id] All 'organization[]' params are mutually exclusive, only one can be provided @@ -2371,6 +3067,9 @@ public function getOrganization(array $queryParameters = [], string $fetch = sel * ## Scopes * - `organizations:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * * @var string $organization[id] All 'organization[]' params are mutually exclusive, only one can be provided @@ -2397,6 +3096,9 @@ public function getOrganizationPolicy(array $queryParameters = [], string $fetch * ## Scopes * - `organizations:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * * @var string $organization[id] All 'organization[]' params are mutually exclusive, only one can be provided @@ -2423,6 +3125,9 @@ public function getOrganizationPolicyLimits(array $queryParameters = [], string * ## Scopes * - `organizations:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * * @var string $organization[id] All 'organization[]' params are mutually exclusive, only one can be provided @@ -2450,6 +3155,9 @@ public function getOrganizationPrices(array $queryParameters = [], string $fetch * - `organizations:delete` * - `managed_organizations:delete`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * * @var string $organization[id] All 'organization[]' params are mutually exclusive, only one can be provided @@ -2472,124 +3180,252 @@ public function getOrganizationDeletionSteps(array $queryParameters = [], string } /** - * This will return a simple list of users with any access to this organization. This - * endpoint is available to all users with access to the organization therefore allows - * them to see a small amount of information about their peers. This is useful when - * combined with other API actions that require the ID of a fellow user (such as when - * determining which users to assign a virtual machine). + * Queues a task to start a virtual machine + * ## Scopes + * - `virtual_machines` + * - `virtual_machines:power_actions`. + * + * ### 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\VirtualMachinesVirtualMachineStartPostResponse200|\Psr\Http\Message\ResponseInterface|null * + * @throws Exception\PostVirtualMachineStartBadRequestException + * @throws Exception\PostVirtualMachineStartForbiddenException + * @throws Exception\PostVirtualMachineStartNotFoundException + * @throws Exception\PostVirtualMachineStartNotAcceptableException + * @throws Exception\PostVirtualMachineStartTooManyRequestsException + * @throws Exception\PostVirtualMachineStartServiceUnavailableException + */ + public function postVirtualMachineStart(?Model\VirtualMachinesVirtualMachineStartPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\PostVirtualMachineStart($requestBody), $fetch); + } + + /** + * Queues a task to stop a virtual machine * ## Scopes - * - `organizations:read` + * - `virtual_machines` + * - `virtual_machines:power_actions`. * - * @param array $queryParameters { + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. * - * @var string $organization[id] All 'organization[]' params are mutually exclusive, only one can be provided - * @var string $organization[sub_domain] All 'organization[]' params are mutually exclusive, only one can be provided - * @var int $page - * @var int $per_page - * } + * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) + * + * @return Model\VirtualMachinesVirtualMachineStopPostResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\PostVirtualMachineStopBadRequestException + * @throws Exception\PostVirtualMachineStopForbiddenException + * @throws Exception\PostVirtualMachineStopNotFoundException + * @throws Exception\PostVirtualMachineStopNotAcceptableException + * @throws Exception\PostVirtualMachineStopTooManyRequestsException + * @throws Exception\PostVirtualMachineStopServiceUnavailableException + */ + public function postVirtualMachineStop(?Model\VirtualMachinesVirtualMachineStopPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\PostVirtualMachineStop($requestBody), $fetch); + } + + /** + * Queues a task to shutdown a virtual machine + * ## Scopes + * - `virtual_machines` + * - `virtual_machines:power_actions`. + * + * ### 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\OrganizationsOrganizationUsersWithAccessGetResponse200|\Psr\Http\Message\ResponseInterface|null + * @return Model\VirtualMachinesVirtualMachineShutdownPostResponse200|\Psr\Http\Message\ResponseInterface|null * - * @throws Exception\GetOrganizationUsersWithAccessBadRequestException - * @throws Exception\GetOrganizationUsersWithAccessForbiddenException - * @throws Exception\GetOrganizationUsersWithAccessNotFoundException - * @throws Exception\GetOrganizationUsersWithAccessTooManyRequestsException - * @throws Exception\GetOrganizationUsersWithAccessServiceUnavailableException + * @throws Exception\PostVirtualMachineShutdownBadRequestException + * @throws Exception\PostVirtualMachineShutdownForbiddenException + * @throws Exception\PostVirtualMachineShutdownNotFoundException + * @throws Exception\PostVirtualMachineShutdownNotAcceptableException + * @throws Exception\PostVirtualMachineShutdownTooManyRequestsException + * @throws Exception\PostVirtualMachineShutdownServiceUnavailableException */ - public function getOrganizationUsersWithAccess(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) + public function postVirtualMachineShutdown(?Model\VirtualMachinesVirtualMachineShutdownPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) { - return $this->executeEndpoint(new Endpoint\GetOrganizationUsersWithAccess($queryParameters), $fetch); + return $this->executeEndpoint(new Endpoint\PostVirtualMachineShutdown($requestBody), $fetch); } /** - * List all managed organizations owned by the given organization + * Queues a task to reset a virtual machine * ## Scopes - * - `managed_organizations`. + * - `virtual_machines` + * - `virtual_machines:power_actions`. + * + * ### 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\VirtualMachinesVirtualMachineResetPostResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\PostVirtualMachineResetBadRequestException + * @throws Exception\PostVirtualMachineResetForbiddenException + * @throws Exception\PostVirtualMachineResetNotFoundException + * @throws Exception\PostVirtualMachineResetNotAcceptableException + * @throws Exception\PostVirtualMachineResetTooManyRequestsException + * @throws Exception\PostVirtualMachineResetServiceUnavailableException + */ + public function postVirtualMachineReset(?Model\VirtualMachinesVirtualMachineResetPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\PostVirtualMachineReset($requestBody), $fetch); + } + + /** + * Return a list of all DNS records in a zone + * ## Scopes + * - `dns` + * - `dns:read`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. * * @param array $queryParameters { * - * @var string $organization[id] All 'organization[]' params are mutually exclusive, only one can be provided - * @var string $organization[sub_domain] All 'organization[]' params are mutually exclusive, only one can be provided - * @var string $annotations[key] An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided. - * @var string $annotations[value] An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page + * @var string $dns_zone[id] All 'dns_zone[]' params are mutually exclusive, only one can be provided + * @var string $dns_zone[name] All 'dns_zone[]' params are mutually exclusive, only one can be provided. * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * - * @return Model\OrganizationsOrganizationManagedGetResponse200|\Psr\Http\Message\ResponseInterface|null + * @return Model\DnsZonesDnsZoneRecordsGetResponse200|\Psr\Http\Message\ResponseInterface|null * - * @throws Exception\GetOrganizationManagedBadRequestException - * @throws Exception\GetOrganizationManagedForbiddenException - * @throws Exception\GetOrganizationManagedNotFoundException - * @throws Exception\GetOrganizationManagedTooManyRequestsException - * @throws Exception\GetOrganizationManagedServiceUnavailableException + * @throws Exception\GetDnsZoneRecordsBadRequestException + * @throws Exception\GetDnsZoneRecordsForbiddenException + * @throws Exception\GetDnsZoneRecordsNotFoundException + * @throws Exception\GetDnsZoneRecordsTooManyRequestsException + * @throws Exception\GetDnsZoneRecordsServiceUnavailableException */ - public function getOrganizationManaged(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) + public function getDnsZoneRecords(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) { - return $this->executeEndpoint(new Endpoint\GetOrganizationManaged($queryParameters), $fetch); + return $this->executeEndpoint(new Endpoint\GetDnsZoneRecords($queryParameters), $fetch); } /** - * Create a new managed organization within an existing organization + * Create a new DNS record * ## Scopes - * - `managed_organizations`. + * - `dns`. + * + * ### 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\OrganizationsOrganizationManagedPostResponse201|\Psr\Http\Message\ResponseInterface|null + * @return Model\DnsZonesDnsZoneRecordsPostResponse200|\Psr\Http\Message\ResponseInterface|null * - * @throws Exception\PostOrganizationManagedBadRequestException - * @throws Exception\PostOrganizationManagedForbiddenException - * @throws Exception\PostOrganizationManagedNotFoundException - * @throws Exception\PostOrganizationManagedUnprocessableEntityException - * @throws Exception\PostOrganizationManagedTooManyRequestsException - * @throws Exception\PostOrganizationManagedServiceUnavailableException + * @throws Exception\PostDnsZoneRecordsBadRequestException + * @throws Exception\PostDnsZoneRecordsForbiddenException + * @throws Exception\PostDnsZoneRecordsNotFoundException + * @throws Exception\PostDnsZoneRecordsUnprocessableEntityException + * @throws Exception\PostDnsZoneRecordsTooManyRequestsException + * @throws Exception\PostDnsZoneRecordsServiceUnavailableException */ - public function postOrganizationManaged(?Model\OrganizationsOrganizationManagedPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + public function postDnsZoneRecords(?Model\DnsZonesDnsZoneRecordsPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) { - return $this->executeEndpoint(new Endpoint\PostOrganizationManaged($requestBody), $fetch); + return $this->executeEndpoint(new Endpoint\PostDnsZoneRecords($requestBody), $fetch); } /** - * Delete a managed organization. All resources must be removed first. + * Delete a DNS record * ## Scopes - * - `managed_organizations:delete`. + * - `dns`. + * + * ### 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\ManagedOrganizationsOrganizationDeleteResponse200|\Psr\Http\Message\ResponseInterface|null + * @return Model\DnsRecordsDnsRecordDeleteResponse200|\Psr\Http\Message\ResponseInterface|null * - * @throws Exception\DeleteOrganizationBadRequestException - * @throws Exception\DeleteOrganizationForbiddenException - * @throws Exception\DeleteOrganizationNotFoundException - * @throws Exception\DeleteOrganizationConflictException - * @throws Exception\DeleteOrganizationTooManyRequestsException - * @throws Exception\DeleteOrganizationInternalServerErrorException - * @throws Exception\DeleteOrganizationServiceUnavailableException + * @throws Exception\DeleteDnsRecordBadRequestException + * @throws Exception\DeleteDnsRecordForbiddenException + * @throws Exception\DeleteDnsRecordNotFoundException + * @throws Exception\DeleteDnsRecordTooManyRequestsException + * @throws Exception\DeleteDnsRecordServiceUnavailableException */ - public function deleteOrganization(?Model\ManagedOrganizationsOrganizationDeleteBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + public function deleteDnsRecord(?Model\DnsRecordsDnsRecordDeleteBody $requestBody = null, string $fetch = self::FETCH_OBJECT) { - return $this->executeEndpoint(new Endpoint\DeleteOrganization($requestBody), $fetch); + return $this->executeEndpoint(new Endpoint\DeleteDnsRecord($requestBody), $fetch); } /** - * Returns a list of all SSH keys for an organization. + * Return details for a specific DNS record + * ## Scopes + * - `dns` + * - `dns: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 to list SSH keys for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $organization[sub_domain] The organization to list SSH keys for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page + * @var string $dns_record[id] All 'dns_record[]' params are mutually exclusive, only one can be provided. * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * + * @return Model\DnsRecordsDnsRecordGetResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\GetDnsRecordBadRequestException + * @throws Exception\GetDnsRecordForbiddenException + * @throws Exception\GetDnsRecordNotFoundException + * @throws Exception\GetDnsRecordTooManyRequestsException + * @throws Exception\GetDnsRecordServiceUnavailableException + */ + public function getDnsRecord(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\GetDnsRecord($queryParameters), $fetch); + } + + /** + * Update a DNS record properties + * ## Scopes + * - `dns`. + * + * ### 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\DnsRecordsDnsRecordPatchResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\PatchDnsRecordBadRequestException + * @throws Exception\PatchDnsRecordForbiddenException + * @throws Exception\PatchDnsRecordNotFoundException + * @throws Exception\PatchDnsRecordUnprocessableEntityException + * @throws Exception\PatchDnsRecordTooManyRequestsException + * @throws Exception\PatchDnsRecordServiceUnavailableException + */ + public function patchDnsRecord(?Model\DnsRecordsDnsRecordPatchBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\PatchDnsRecord($requestBody), $fetch); + } + + /** + * Returns a list of all SSH keys for an organization. + * + * @param array $queryParameters { + * + * @var string $organization[id] The organization to list SSH keys for. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[sub_domain] The organization to list SSH keys for. + * + * 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\OrganizationsOrganizationSshKeysGetResponse200|\Psr\Http\Message\ResponseInterface|null * * @throws Exception\GetOrganizationSshKeysBadRequestException @@ -2617,28 +3453,164 @@ public function getOrganizationSshKeys(array $queryParameters = [], string $fetc * @throws Exception\PostOrganizationSshKeysTooManyRequestsException * @throws Exception\PostOrganizationSshKeysServiceUnavailableException */ - public function postOrganizationSshKeys(?Model\OrganizationsOrganizationSshKeysPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + public function postOrganizationSshKeys(?Model\OrganizationsOrganizationSshKeysPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\PostOrganizationSshKeys($requestBody), $fetch); + } + + /** + * Delete an SSH key. + * + * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) + * + * @return Model\SshKeysSshKeyDeleteResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\DeleteSshKeyBadRequestException + * @throws Exception\DeleteSshKeyForbiddenException + * @throws Exception\DeleteSshKeyNotFoundException + * @throws Exception\DeleteSshKeyConflictException + * @throws Exception\DeleteSshKeyTooManyRequestsException + * @throws Exception\DeleteSshKeyServiceUnavailableException + */ + public function deleteSshKey(?Model\SshKeysSshKeyDeleteBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\DeleteSshKey($requestBody), $fetch); + } + + /** + * Returns a list of all rules for a given security group + * ## Scopes + * - `security_groups` + * - `security_groups:read`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * + * @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. + * } + * + * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) + * + * @return Model\SecurityGroupsSecurityGroupRulesGetResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\GetSecurityGroupRulesBadRequestException + * @throws Exception\GetSecurityGroupRulesForbiddenException + * @throws Exception\GetSecurityGroupRulesNotFoundException + * @throws Exception\GetSecurityGroupRulesTooManyRequestsException + * @throws Exception\GetSecurityGroupRulesServiceUnavailableException + */ + public function getSecurityGroupRules(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\GetSecurityGroupRules($queryParameters), $fetch); + } + + /** + * Create a new security group rule + * ## Scopes + * - `security_groups`. + * + * ### 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\SecurityGroupsSecurityGroupRulesPostResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\PostSecurityGroupRulesBadRequestException + * @throws Exception\PostSecurityGroupRulesForbiddenException + * @throws Exception\PostSecurityGroupRulesNotFoundException + * @throws Exception\PostSecurityGroupRulesUnprocessableEntityException + * @throws Exception\PostSecurityGroupRulesTooManyRequestsException + * @throws Exception\PostSecurityGroupRulesServiceUnavailableException + */ + public function postSecurityGroupRules(?Model\SecurityGroupsSecurityGroupRulesPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\PostSecurityGroupRules($requestBody), $fetch); + } + + /** + * Delete a security group rule + * ## Scopes + * - `security_groups`. + * + * ### 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\SecurityGroupsRulesSecurityGroupRuleDeleteResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\DeleteSecurityGroupsRulesSecurityGroupRuleBadRequestException + * @throws Exception\DeleteSecurityGroupsRulesSecurityGroupRuleForbiddenException + * @throws Exception\DeleteSecurityGroupsRulesSecurityGroupRuleNotFoundException + * @throws Exception\DeleteSecurityGroupsRulesSecurityGroupRuleUnprocessableEntityException + * @throws Exception\DeleteSecurityGroupsRulesSecurityGroupRuleTooManyRequestsException + * @throws Exception\DeleteSecurityGroupsRulesSecurityGroupRuleServiceUnavailableException + */ + public function deleteSecurityGroupsRulesSecurityGroupRule(?Model\SecurityGroupsRulesSecurityGroupRuleDeleteBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\DeleteSecurityGroupsRulesSecurityGroupRule($requestBody), $fetch); + } + + /** + * Returns details about a security group rule + * ## Scopes + * - `security_groups` + * - `security_groups:read`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * + * @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) + * + * @return Model\SecurityGroupsRulesSecurityGroupRuleGetResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\GetSecurityGroupsRulesSecurityGroupRuleBadRequestException + * @throws Exception\GetSecurityGroupsRulesSecurityGroupRuleForbiddenException + * @throws Exception\GetSecurityGroupsRulesSecurityGroupRuleNotFoundException + * @throws Exception\GetSecurityGroupsRulesSecurityGroupRuleTooManyRequestsException + * @throws Exception\GetSecurityGroupsRulesSecurityGroupRuleServiceUnavailableException + */ + public function getSecurityGroupsRulesSecurityGroupRule(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) { - return $this->executeEndpoint(new Endpoint\PostOrganizationSshKeys($requestBody), $fetch); + return $this->executeEndpoint(new Endpoint\GetSecurityGroupsRulesSecurityGroupRule($queryParameters), $fetch); } /** - * Delete an SSH key. + * Updates a security group rule with new properties + * ## Scopes + * - `security_groups`. + * + * ### 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\SshKeysSshKeyDeleteResponse200|\Psr\Http\Message\ResponseInterface|null + * @return Model\SecurityGroupsRulesSecurityGroupRulePatchResponse200|\Psr\Http\Message\ResponseInterface|null * - * @throws Exception\DeleteSshKeyBadRequestException - * @throws Exception\DeleteSshKeyForbiddenException - * @throws Exception\DeleteSshKeyNotFoundException - * @throws Exception\DeleteSshKeyConflictException - * @throws Exception\DeleteSshKeyTooManyRequestsException - * @throws Exception\DeleteSshKeyServiceUnavailableException + * @throws Exception\PatchSecurityGroupsRulesSecurityGroupRuleBadRequestException + * @throws Exception\PatchSecurityGroupsRulesSecurityGroupRuleForbiddenException + * @throws Exception\PatchSecurityGroupsRulesSecurityGroupRuleNotFoundException + * @throws Exception\PatchSecurityGroupsRulesSecurityGroupRuleUnprocessableEntityException + * @throws Exception\PatchSecurityGroupsRulesSecurityGroupRuleTooManyRequestsException + * @throws Exception\PatchSecurityGroupsRulesSecurityGroupRuleServiceUnavailableException */ - public function deleteSshKey(?Model\SshKeysSshKeyDeleteBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + public function patchSecurityGroupsRulesSecurityGroupRule(?Model\SecurityGroupsRulesSecurityGroupRulePatchBody $requestBody = null, string $fetch = self::FETCH_OBJECT) { - return $this->executeEndpoint(new Endpoint\DeleteSshKey($requestBody), $fetch); + return $this->executeEndpoint(new Endpoint\PatchSecurityGroupsRulesSecurityGroupRule($requestBody), $fetch); } /** @@ -2647,15 +3619,30 @@ public function deleteSshKey(?Model\SshKeysSshKeyDeleteBody $requestBody = null, * - `security_groups` * - `security_groups: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 to return all security groups for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $organization[sub_domain] The organization to return all security groups for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $annotations[key] An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided. - * @var string $annotations[value] An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @var string $organization[id] The organization to return all security groups for. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[sub_domain] The organization to return all security groups for. + * + * 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. + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -2677,6 +3664,9 @@ public function getOrganizationSecurityGroups(array $queryParameters = [], strin * ## Scopes * - `security_groups`. * + * ### 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\OrganizationsOrganizationSecurityGroupsPostResponse200|\Psr\Http\Message\ResponseInterface|null @@ -2698,6 +3688,9 @@ public function postOrganizationSecurityGroups(?Model\OrganizationsOrganizationS * ## Scopes * - `security_group`. * + * ### 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\SecurityGroupsSecurityGroupDeleteResponse200|\Psr\Http\Message\ResponseInterface|null @@ -2721,10 +3714,15 @@ public function deleteSecurityGroup(?Model\SecurityGroupsSecurityGroupDeleteBody * - `security_groups` * - `security_groups:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @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. - * } + * @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) * @@ -2746,6 +3744,9 @@ public function getSecurityGroup(array $queryParameters = [], string $fetch = se * ## Scopes * - `security_groups`. * + * ### 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\SecurityGroupsSecurityGroupPatchResponse200|\Psr\Http\Message\ResponseInterface|null @@ -2762,136 +3763,26 @@ public function patchSecurityGroup(?Model\SecurityGroupsSecurityGroupPatchBody $ return $this->executeEndpoint(new Endpoint\PatchSecurityGroup($requestBody), $fetch); } - /** - * Returns a list of all rules for a given security group - * ## Scopes - * - `security_groups` - * - `security_groups:read`. - * - * @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 - * @var int $per_page - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @return Model\SecurityGroupsSecurityGroupRulesGetResponse200|\Psr\Http\Message\ResponseInterface|null - * - * @throws Exception\GetSecurityGroupRulesBadRequestException - * @throws Exception\GetSecurityGroupRulesForbiddenException - * @throws Exception\GetSecurityGroupRulesNotFoundException - * @throws Exception\GetSecurityGroupRulesTooManyRequestsException - * @throws Exception\GetSecurityGroupRulesServiceUnavailableException - */ - public function getSecurityGroupRules(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\GetSecurityGroupRules($queryParameters), $fetch); - } - - /** - * Create a new security group rule - * ## Scopes - * - `security_groups`. - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @return Model\SecurityGroupsSecurityGroupRulesPostResponse200|\Psr\Http\Message\ResponseInterface|null - * - * @throws Exception\PostSecurityGroupRulesBadRequestException - * @throws Exception\PostSecurityGroupRulesForbiddenException - * @throws Exception\PostSecurityGroupRulesNotFoundException - * @throws Exception\PostSecurityGroupRulesUnprocessableEntityException - * @throws Exception\PostSecurityGroupRulesTooManyRequestsException - * @throws Exception\PostSecurityGroupRulesServiceUnavailableException - */ - public function postSecurityGroupRules(?Model\SecurityGroupsSecurityGroupRulesPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\PostSecurityGroupRules($requestBody), $fetch); - } - - /** - * Delete a security group rule - * ## Scopes - * - `security_groups`. - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @return Model\SecurityGroupsRulesSecurityGroupRuleDeleteResponse200|\Psr\Http\Message\ResponseInterface|null - * - * @throws Exception\DeleteSecurityGroupsRulesSecurityGroupRuleBadRequestException - * @throws Exception\DeleteSecurityGroupsRulesSecurityGroupRuleForbiddenException - * @throws Exception\DeleteSecurityGroupsRulesSecurityGroupRuleNotFoundException - * @throws Exception\DeleteSecurityGroupsRulesSecurityGroupRuleUnprocessableEntityException - * @throws Exception\DeleteSecurityGroupsRulesSecurityGroupRuleTooManyRequestsException - * @throws Exception\DeleteSecurityGroupsRulesSecurityGroupRuleServiceUnavailableException - */ - public function deleteSecurityGroupsRulesSecurityGroupRule(?Model\SecurityGroupsRulesSecurityGroupRuleDeleteBody $requestBody = null, string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\DeleteSecurityGroupsRulesSecurityGroupRule($requestBody), $fetch); - } - - /** - * Returns details about a security group rule - * ## Scopes - * - `security_groups` - * - `security_groups:read`. - * - * @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) - * - * @return Model\SecurityGroupsRulesSecurityGroupRuleGetResponse200|\Psr\Http\Message\ResponseInterface|null - * - * @throws Exception\GetSecurityGroupsRulesSecurityGroupRuleBadRequestException - * @throws Exception\GetSecurityGroupsRulesSecurityGroupRuleForbiddenException - * @throws Exception\GetSecurityGroupsRulesSecurityGroupRuleNotFoundException - * @throws Exception\GetSecurityGroupsRulesSecurityGroupRuleTooManyRequestsException - * @throws Exception\GetSecurityGroupsRulesSecurityGroupRuleServiceUnavailableException - */ - public function getSecurityGroupsRulesSecurityGroupRule(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\GetSecurityGroupsRulesSecurityGroupRule($queryParameters), $fetch); - } - - /** - * Updates a security group rule with new properties - * ## Scopes - * - `security_groups`. - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @return Model\SecurityGroupsRulesSecurityGroupRulePatchResponse200|\Psr\Http\Message\ResponseInterface|null - * - * @throws Exception\PatchSecurityGroupsRulesSecurityGroupRuleBadRequestException - * @throws Exception\PatchSecurityGroupsRulesSecurityGroupRuleForbiddenException - * @throws Exception\PatchSecurityGroupsRulesSecurityGroupRuleNotFoundException - * @throws Exception\PatchSecurityGroupsRulesSecurityGroupRuleUnprocessableEntityException - * @throws Exception\PatchSecurityGroupsRulesSecurityGroupRuleTooManyRequestsException - * @throws Exception\PatchSecurityGroupsRulesSecurityGroupRuleServiceUnavailableException - */ - public function patchSecurityGroupsRulesSecurityGroupRule(?Model\SecurityGroupsRulesSecurityGroupRulePatchBody $requestBody = null, string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\PatchSecurityGroupsRulesSecurityGroupRule($requestBody), $fetch); - } - /** * Returns a list of all tags for an organization * ## Scopes * - `tags` * - `tags: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 to list the tags for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $organization[sub_domain] The organization to list the tags for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @var string $organization[id] The organization to list the tags for. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[sub_domain] The organization to list the tags for. + * + * 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) * @@ -2913,6 +3804,9 @@ public function getOrganizationTags(array $queryParameters = [], string $fetch = * ## Scopes * - `tags`. * + * ### 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\OrganizationsOrganizationTagsPostResponse200|\Psr\Http\Message\ResponseInterface|null @@ -2934,6 +3828,9 @@ public function postOrganizationTags(?Model\OrganizationsOrganizationTagsPostBod * ## Scopes * - `tags`. * + * ### 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\TagsTagDeleteResponse200|\Psr\Http\Message\ResponseInterface|null @@ -2955,10 +3852,15 @@ public function deleteTag(?Model\TagsTagDeleteBody $requestBody = null, string $ * - `tags` * - `tags:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @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. - * } + * @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) * @@ -2980,6 +3882,9 @@ public function getTag(array $queryParameters = [], string $fetch = self::FETCH_ * ## Scopes * - `tags`. * + * ### 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\TagsTagPatchResponse200|\Psr\Http\Message\ResponseInterface|null @@ -3002,6 +3907,9 @@ public function patchTag(?Model\TagsTagPatchBody $requestBody = null, string $fe * - `tasks` * - `tasks:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * * @var string $task[id] All 'task[]' params are mutually exclusive, only one can be provided. @@ -3027,13 +3935,20 @@ public function getTask(array $queryParameters = [], string $fetch = self::FETCH * ## Scopes * - `trash_objects: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 to find all trash objects for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $organization[sub_domain] The organization to find all trash objects for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @var string $organization[id] The organization to find all trash objects for. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[sub_domain] The organization to find all trash objects for. + * + * 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) * @@ -3055,6 +3970,9 @@ public function getOrganizationTrashObjects(array $queryParameters = [], string * ## Scopes * - `trash_objects:purge`. * + * ### 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\OrganizationsOrganizationTrashObjectsPurgeAllPostResponse200|\Psr\Http\Message\ResponseInterface|null @@ -3076,6 +3994,9 @@ public function postOrganizationTrashObjectsPurgeAll(?Model\OrganizationsOrganiz * ## Scopes * - `trash_objects:purge`. * + * ### 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\TrashObjectsTrashObjectDeleteResponse200|\Psr\Http\Message\ResponseInterface|null @@ -3097,11 +4018,18 @@ public function deleteTrashObject(?Model\TrashObjectsTrashObjectDeleteBody $requ * ## Scopes * - `trash_objects:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * - * @var string $trash_object[id] The trash object to find. All 'trash_object[]' params are mutually exclusive, only one can be provided. - * @var string $trash_object[object_id] The trash object to find. All 'trash_object[]' params are mutually exclusive, only one can be provided. - * } + * @var string $trash_object[id] The trash object to find. + * + * All 'trash_object[]' params are mutually exclusive, only one can be provided. + * @var string $trash_object[object_id] The trash object to find. + * + * All 'trash_object[]' params are mutually exclusive, only one can be provided. + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -3123,6 +4051,9 @@ public function getTrashObject(array $queryParameters = [], string $fetch = self * ## Scopes * - `trash_objects:restore`. * + * ### 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\TrashObjectsTrashObjectRestorePostResponse200|\Psr\Http\Message\ResponseInterface|null @@ -3141,36 +4072,174 @@ public function postTrashObjectRestore(?Model\TrashObjectsTrashObjectRestorePost /** * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * - * @return Model\UsersCurrentGetResponse200|\Psr\Http\Message\ResponseInterface|null + * @return Model\UsersCurrentGetResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\GetUsersCurrentBadRequestException + * @throws Exception\GetUsersCurrentForbiddenException + * @throws Exception\GetUsersCurrentNotFoundException + * @throws Exception\GetUsersCurrentTooManyRequestsException + * @throws Exception\GetUsersCurrentServiceUnavailableException + */ + public function getUsersCurrent(string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\GetUsersCurrent(), $fetch); + } + + /** + * This endpoint allows you to invalidate the web session which is associated with your authenticated + * identity. This will only work for API identities (most likely API tokens) that were generated using the first-party application + * login flow. + * + * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) + * + * @return Model\InvalidateLinkedWebSessionPostResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\PostInvalidateLinkedWebSessionBadRequestException + * @throws Exception\PostInvalidateLinkedWebSessionForbiddenException + * @throws Exception\PostInvalidateLinkedWebSessionTooManyRequestsException + * @throws Exception\PostInvalidateLinkedWebSessionServiceUnavailableException + */ + public function postInvalidateLinkedWebSession(?Model\InvalidateLinkedWebSessionPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\PostInvalidateLinkedWebSession($requestBody), $fetch); + } + + /** + * Return a list of all virtual networks for an organization + * ## Scopes + * - `virtual_networks` + * - `virtual_networks: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 for which to return virtual networks. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[sub_domain] The organization for which to return virtual networks. + * + * 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\OrganizationsOrganizationVirtualNetworksGetResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\GetOrganizationVirtualNetworksBadRequestException + * @throws Exception\GetOrganizationVirtualNetworksForbiddenException + * @throws Exception\GetOrganizationVirtualNetworksNotFoundException + * @throws Exception\GetOrganizationVirtualNetworksTooManyRequestsException + * @throws Exception\GetOrganizationVirtualNetworksServiceUnavailableException + */ + public function getOrganizationVirtualNetworks(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\GetOrganizationVirtualNetworks($queryParameters), $fetch); + } + + /** + * Create a new virtual network with the provided details + * ## Scopes + * - `virtual_networks`. + * + * ### 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\OrganizationsOrganizationVirtualNetworksPostResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\PostOrganizationVirtualNetworksBadRequestException + * @throws Exception\PostOrganizationVirtualNetworksForbiddenException + * @throws Exception\PostOrganizationVirtualNetworksNotFoundException + * @throws Exception\PostOrganizationVirtualNetworksUnprocessableEntityException + * @throws Exception\PostOrganizationVirtualNetworksTooManyRequestsException + * @throws Exception\PostOrganizationVirtualNetworksServiceUnavailableException + */ + public function postOrganizationVirtualNetworks(?Model\OrganizationsOrganizationVirtualNetworksPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\PostOrganizationVirtualNetworks($requestBody), $fetch); + } + + /** + * ## Scopes + * - `virtual_networks`. + * + * ### 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\VirtualNetworksVirtualNetworkDeleteResponse200|\Psr\Http\Message\ResponseInterface|null + * + * @throws Exception\DeleteVirtualNetworkBadRequestException + * @throws Exception\DeleteVirtualNetworkForbiddenException + * @throws Exception\DeleteVirtualNetworkNotFoundException + * @throws Exception\DeleteVirtualNetworkConflictException + * @throws Exception\DeleteVirtualNetworkTooManyRequestsException + * @throws Exception\DeleteVirtualNetworkServiceUnavailableException + */ + public function deleteVirtualNetwork(?Model\VirtualNetworksVirtualNetworkDeleteBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + { + return $this->executeEndpoint(new Endpoint\DeleteVirtualNetwork($requestBody), $fetch); + } + + /** + * Return detailed information about a virtual network + * ## Scopes + * - `virtual_networks` + * - `virtual_networks:read`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * + * @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) + * + * @return Model\VirtualNetworksVirtualNetworkGetResponse200|\Psr\Http\Message\ResponseInterface|null * - * @throws Exception\GetUsersCurrentBadRequestException - * @throws Exception\GetUsersCurrentForbiddenException - * @throws Exception\GetUsersCurrentNotFoundException - * @throws Exception\GetUsersCurrentTooManyRequestsException - * @throws Exception\GetUsersCurrentServiceUnavailableException + * @throws Exception\GetVirtualNetworkBadRequestException + * @throws Exception\GetVirtualNetworkForbiddenException + * @throws Exception\GetVirtualNetworkNotFoundException + * @throws Exception\GetVirtualNetworkTooManyRequestsException + * @throws Exception\GetVirtualNetworkServiceUnavailableException */ - public function getUsersCurrent(string $fetch = self::FETCH_OBJECT) + public function getVirtualNetwork(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) { - return $this->executeEndpoint(new Endpoint\GetUsersCurrent(), $fetch); + return $this->executeEndpoint(new Endpoint\GetVirtualNetwork($queryParameters), $fetch); } /** - * This endpoint allows you to invalidate the web session which is associated with your authenticated - * identity. This will only work for API identities (most likely API tokens) that were generated using the first-party application - * login flow. + * Update a virtual network with the provided details + * ## Scopes + * - `virtual_networks`. + * + * ### 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\InvalidateLinkedWebSessionPostResponse200|\Psr\Http\Message\ResponseInterface|null + * @return Model\VirtualNetworksVirtualNetworkPatchResponse200|\Psr\Http\Message\ResponseInterface|null * - * @throws Exception\PostInvalidateLinkedWebSessionBadRequestException - * @throws Exception\PostInvalidateLinkedWebSessionForbiddenException - * @throws Exception\PostInvalidateLinkedWebSessionTooManyRequestsException - * @throws Exception\PostInvalidateLinkedWebSessionServiceUnavailableException + * @throws Exception\PatchVirtualNetworkBadRequestException + * @throws Exception\PatchVirtualNetworkForbiddenException + * @throws Exception\PatchVirtualNetworkNotFoundException + * @throws Exception\PatchVirtualNetworkUnprocessableEntityException + * @throws Exception\PatchVirtualNetworkTooManyRequestsException + * @throws Exception\PatchVirtualNetworkServiceUnavailableException */ - public function postInvalidateLinkedWebSession(?Model\InvalidateLinkedWebSessionPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) + public function patchVirtualNetwork(?Model\VirtualNetworksVirtualNetworkPatchBody $requestBody = null, string $fetch = self::FETCH_OBJECT) { - return $this->executeEndpoint(new Endpoint\PostInvalidateLinkedWebSession($requestBody), $fetch); + return $this->executeEndpoint(new Endpoint\PatchVirtualNetwork($requestBody), $fetch); } /** @@ -3179,11 +4248,18 @@ public function postInvalidateLinkedWebSession(?Model\InvalidateLinkedWebSession * - `virtual_machine_groups` * - `virtual_machine_groups: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 to return groups for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $organization[sub_domain] The organization to return groups for. All 'organization[]' params are mutually exclusive, only one can be provided. - * } + * @var string $organization[id] The organization to return groups for. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[sub_domain] The organization to return groups for. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -3205,6 +4281,9 @@ public function getOrganizationVirtualMachineGroups(array $queryParameters = [], * ## Scopes * - `virtual_machine_groups`. * + * ### 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\OrganizationsOrganizationVirtualMachineGroupsPostResponse200|\Psr\Http\Message\ResponseInterface|null @@ -3225,6 +4304,9 @@ public function postOrganizationVirtualMachineGroups(?Model\OrganizationsOrganiz * ## Scopes * - `virtual_machine_groups`. * + * ### 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\VirtualMachineGroupsVirtualMachineGroupDeleteResponse200|\Psr\Http\Message\ResponseInterface|null @@ -3247,10 +4329,15 @@ public function deleteVirtualMachineGroup(?Model\VirtualMachineGroupsVirtualMach * - `virtual_machine_groups` * - `virtual_machine_groups:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @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. - * } + * @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) * @@ -3272,6 +4359,9 @@ public function getVirtualMachineGroup(array $queryParameters = [], string $fetc * ## Scopes * - `virtual_machine_groups`. * + * ### 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\VirtualMachineGroupsVirtualMachineGroupPatchResponse200|\Psr\Http\Message\ResponseInterface|null @@ -3294,13 +4384,20 @@ public function patchVirtualMachineGroup(?Model\VirtualMachineGroupsVirtualMachi * - `virtual_machines` * - `virtual_machines:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * - * @var string $virtual_machine[id] The virtual machine to show network interfaces for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided. - * @var string $virtual_machine[fqdn] The virtual machine to show network interfaces for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @var string $virtual_machine[id] The virtual machine to show network interfaces for. + * + * All 'virtual_machine[]' params are mutually exclusive, only one can be provided. + * @var string $virtual_machine[fqdn] The virtual machine to show network interfaces for. + * + * All 'virtual_machine[]' 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) * @@ -3324,13 +4421,24 @@ public function getVirtualMachineNetworkInterfaces(array $queryParameters = [], * - `virtual_machines` * - `virtual_machines:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * - * @var string $virtual_machine[id] The virtual machine to find the network interface for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided. - * @var string $virtual_machine[fqdn] The virtual machine to find the network interface for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided. - * @var string $network[id] The network to find the network interface for. All 'network[]' params are mutually exclusive, only one can be provided. - * @var string $network[permalink] The network to find the network interface for. All 'network[]' params are mutually exclusive, only one can be provided. - * } + * @var string $virtual_machine[id] The virtual machine to find the network interface for. + * + * All 'virtual_machine[]' params are mutually exclusive, only one can be provided. + * @var string $virtual_machine[fqdn] The virtual machine to find the network interface for. + * + * All 'virtual_machine[]' params are mutually exclusive, only one can be provided. + * @var string $network[id] The network to find the network interface for. + * + * All 'network[]' params are mutually exclusive, only one can be provided. + * @var string $network[permalink] The network to find the network interface for. + * + * All 'network[]' params are mutually exclusive, only one can be provided. + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -3354,10 +4462,15 @@ public function getVirtualMachineNetworkInterface(array $queryParameters = [], s * - `virtual_machines` * - `virtual_machines:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @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. - * } + * @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) * @@ -3380,9 +4493,14 @@ public function getVMNIVMNI(array $queryParameters = [], string $fetch = self::F * - `ip_addresses` * - `ip_addresses:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @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. + * + * All 'virtual_machine_network_interface[]' params are mutually exclusive, only one can be provided. * @var string $address_version The IP address version to return results for * } * @@ -3406,6 +4524,9 @@ public function getVirtualMachineNetworkInterfaceAvailableIpsAddressVersion(arra * ## Scopes * - `ip_addresses`. * + * ### 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\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAllocateIpPostResponse200|\Psr\Http\Message\ResponseInterface|null @@ -3427,6 +4548,9 @@ public function postVirtualMachineNetworkInterfaceAllocateIp(?Model\VirtualMachi * ## Scopes * - `ip_addresses`. * + * ### 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\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAllocateNewIpPostResponse200|\Psr\Http\Message\ResponseInterface|null @@ -3446,6 +4570,9 @@ public function postVirtualMachineNetworkInterfaceAllocateNewIp(?Model\VirtualMa * ## Scopes * - `virtual_machines`. * + * ### 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\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceUpdateSpeedProfilePatchResponse200|\Psr\Http\Message\ResponseInterface|null @@ -3468,13 +4595,20 @@ public function patchVirtualMachineNetworkInterfaceUpdateSpeedProfile(?Model\Vir * ## Scopes * - `virtual_machine_packages:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * - * @var string $organization[id] Provide an organization to only show packages available to the given organization (otherwise only public packages will be displayed). All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $organization[sub_domain] Provide an organization to only show packages available to the given organization (otherwise only public packages will be displayed). All 'organization[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @var string $organization[id] Provide an organization to only show packages available to the given organization (otherwise only public packages will be displayed). + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[sub_domain] Provide an organization to only show packages available to the given organization (otherwise only public packages will be displayed). + * + * 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) * @@ -3496,6 +4630,9 @@ public function getVirtualMachinePackages(array $queryParameters = [], string $f * ## Scopes * - `virtual_machine_packages:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * * @var string $virtual_machine_package[id] All 'virtual_machine_package[]' params are mutually exclusive, only one can be provided @@ -3523,15 +4660,26 @@ public function getVirtualMachinePackage(array $queryParameters = [], string $fe * - `virtual_machines` * - `virtual_machines:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * * @var string $organization[id] All 'organization[]' params are mutually exclusive, only one can be provided * @var string $organization[sub_domain] All 'organization[]' params are mutually exclusive, only one can be provided - * @var string $annotations[key] An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided. - * @var string $annotations[value] An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @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. + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -3553,6 +4701,9 @@ public function getOrganizationVirtualMachines(array $queryParameters = [], stri * ## Scopes * - `virtual_machines`. * + * ### 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\VirtualMachinesVirtualMachineDeleteResponse200|\Psr\Http\Message\ResponseInterface|null @@ -3575,6 +4726,9 @@ public function deleteVirtualMachine(?Model\VirtualMachinesVirtualMachineDeleteB * - `virtual_machines` * - `virtual_machines:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * * @var string $virtual_machine[id] All 'virtual_machine[]' params are mutually exclusive, only one can be provided @@ -3602,6 +4756,9 @@ public function getVirtualMachine(array $queryParameters = [], string $fetch = s * ## Scopes * - `virtual_machines`. * + * ### 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\VirtualMachinesVirtualMachinePatchResponse200|\Psr\Http\Message\ResponseInterface|null @@ -3623,6 +4780,9 @@ public function patchVirtualMachine(?Model\VirtualMachinesVirtualMachinePatchBod * ## Scopes * - `virtual_machines`. * + * ### 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\VirtualMachinesVirtualMachinePackagePutResponse200|\Psr\Http\Message\ResponseInterface|null @@ -3644,6 +4804,9 @@ public function putVirtualMachinePackage(?Model\VirtualMachinesVirtualMachinePac * ## Scopes * - `virtual_machines`. * + * ### 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\VirtualMachinesVirtualMachineFlexibleResourcesPutResponse200|\Psr\Http\Message\ResponseInterface|null @@ -3665,6 +4828,9 @@ public function putVirtualMachineFlexibleResources(?Model\VirtualMachinesVirtual * ## Scopes * - `ip_addresses`. * + * ### 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\VirtualMachinesVirtualMachineAllocateIpPostResponse200|\Psr\Http\Message\ResponseInterface|null @@ -3687,6 +4853,9 @@ public function postVirtualMachineAllocateIp(?Model\VirtualMachinesVirtualMachin * ## Scopes * - `virtual_machines:authorized_keys`. * + * ### 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) * @param array $accept Accept content header text/plain|application/json * @@ -3703,185 +4872,6 @@ public function getVirtualMachineAuthorizedKeys(string $fetch = self::FETCH_OBJE return $this->executeEndpoint(new Endpoint\GetVirtualMachineAuthorizedKeys($accept), $fetch); } - /** - * 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. - * ## Scopes - * - `virtual_machines`. - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @return Model\OrganizationsOrganizationVirtualMachinesBuildPostResponse201|\Psr\Http\Message\ResponseInterface|null - * - * @throws Exception\PostOrganizationVirtualMachinesBuildBadRequestException - * @throws Exception\PostOrganizationVirtualMachinesBuildForbiddenException - * @throws Exception\PostOrganizationVirtualMachinesBuildNotFoundException - * @throws Exception\PostOrganizationVirtualMachinesBuildUnprocessableEntityException - * @throws Exception\PostOrganizationVirtualMachinesBuildTooManyRequestsException - * @throws Exception\PostOrganizationVirtualMachinesBuildServiceUnavailableException - */ - public function postOrganizationVirtualMachinesBuild(?Model\OrganizationsOrganizationVirtualMachinesBuildPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\PostOrganizationVirtualMachinesBuild($requestBody), $fetch); - } - - /** - * Builds a new virtual machine by receiving a virtual machine spec document - * ## Scopes - * - `virtual_machines`. - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @return Model\OrganizationsOrganizationVirtualMachinesBuildFromSpecPostResponse201|\Psr\Http\Message\ResponseInterface|null - * - * @throws Exception\PostOrganizationVirtualMachinesBuildFromSpecBadRequestException - * @throws Exception\PostOrganizationVirtualMachinesBuildFromSpecForbiddenException - * @throws Exception\PostOrganizationVirtualMachinesBuildFromSpecNotFoundException - * @throws Exception\PostOrganizationVirtualMachinesBuildFromSpecUnprocessableEntityException - * @throws Exception\PostOrganizationVirtualMachinesBuildFromSpecTooManyRequestsException - * @throws Exception\PostOrganizationVirtualMachinesBuildFromSpecServiceUnavailableException - */ - public function postOrganizationVirtualMachinesBuildFromSpec(?Model\OrganizationsOrganizationVirtualMachinesBuildFromSpecPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\PostOrganizationVirtualMachinesBuildFromSpec($requestBody), $fetch); - } - - /** - * Return virtual machine build information - * ## Scopes - * - `virtual_machines` - * - `virtual_machines:read`. - * - * @param array $queryParameters { - * - * @var string $virtual_machine_build[id] All 'virtual_machine_build[]' params are mutually exclusive, only one can be provided. - * } - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @return Model\VirtualMachinesBuildsVirtualMachineBuildGetResponse200|\Psr\Http\Message\ResponseInterface|null - * - * @throws Exception\GetVirtualMachinesBuildsVirtualMachineBuildBadRequestException - * @throws Exception\GetVirtualMachinesBuildsVirtualMachineBuildForbiddenException - * @throws Exception\GetVirtualMachinesBuildsVirtualMachineBuildNotFoundException - * @throws Exception\GetVirtualMachinesBuildsVirtualMachineBuildTooManyRequestsException - * @throws Exception\GetVirtualMachinesBuildsVirtualMachineBuildServiceUnavailableException - */ - public function getVirtualMachinesBuildsVirtualMachineBuild(array $queryParameters = [], string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\GetVirtualMachinesBuildsVirtualMachineBuild($queryParameters), $fetch); - } - - /** - * Queues a task to start a virtual machine - * ## Scopes - * - `virtual_machines` - * - `virtual_machines:power_actions`. - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @return Model\VirtualMachinesVirtualMachineStartPostResponse200|\Psr\Http\Message\ResponseInterface|null - * - * @throws Exception\PostVirtualMachineStartBadRequestException - * @throws Exception\PostVirtualMachineStartForbiddenException - * @throws Exception\PostVirtualMachineStartNotFoundException - * @throws Exception\PostVirtualMachineStartNotAcceptableException - * @throws Exception\PostVirtualMachineStartTooManyRequestsException - * @throws Exception\PostVirtualMachineStartServiceUnavailableException - */ - public function postVirtualMachineStart(?Model\VirtualMachinesVirtualMachineStartPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\PostVirtualMachineStart($requestBody), $fetch); - } - - /** - * Queues a task to stop a virtual machine - * ## Scopes - * - `virtual_machines` - * - `virtual_machines:power_actions`. - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @return Model\VirtualMachinesVirtualMachineStopPostResponse200|\Psr\Http\Message\ResponseInterface|null - * - * @throws Exception\PostVirtualMachineStopBadRequestException - * @throws Exception\PostVirtualMachineStopForbiddenException - * @throws Exception\PostVirtualMachineStopNotFoundException - * @throws Exception\PostVirtualMachineStopNotAcceptableException - * @throws Exception\PostVirtualMachineStopTooManyRequestsException - * @throws Exception\PostVirtualMachineStopServiceUnavailableException - */ - public function postVirtualMachineStop(?Model\VirtualMachinesVirtualMachineStopPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\PostVirtualMachineStop($requestBody), $fetch); - } - - /** - * Queues a task to shutdown a virtual machine - * ## Scopes - * - `virtual_machines` - * - `virtual_machines:power_actions`. - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @return Model\VirtualMachinesVirtualMachineShutdownPostResponse200|\Psr\Http\Message\ResponseInterface|null - * - * @throws Exception\PostVirtualMachineShutdownBadRequestException - * @throws Exception\PostVirtualMachineShutdownForbiddenException - * @throws Exception\PostVirtualMachineShutdownNotFoundException - * @throws Exception\PostVirtualMachineShutdownNotAcceptableException - * @throws Exception\PostVirtualMachineShutdownTooManyRequestsException - * @throws Exception\PostVirtualMachineShutdownServiceUnavailableException - */ - public function postVirtualMachineShutdown(?Model\VirtualMachinesVirtualMachineShutdownPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\PostVirtualMachineShutdown($requestBody), $fetch); - } - - /** - * Queues a task to reset a virtual machine - * ## Scopes - * - `virtual_machines` - * - `virtual_machines:power_actions`. - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @return Model\VirtualMachinesVirtualMachineResetPostResponse200|\Psr\Http\Message\ResponseInterface|null - * - * @throws Exception\PostVirtualMachineResetBadRequestException - * @throws Exception\PostVirtualMachineResetForbiddenException - * @throws Exception\PostVirtualMachineResetNotFoundException - * @throws Exception\PostVirtualMachineResetNotAcceptableException - * @throws Exception\PostVirtualMachineResetTooManyRequestsException - * @throws Exception\PostVirtualMachineResetServiceUnavailableException - */ - public function postVirtualMachineReset(?Model\VirtualMachinesVirtualMachineResetPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\PostVirtualMachineReset($requestBody), $fetch); - } - - /** - * Creates a new console session which can be opened in a browser - * ## Scopes - * - `virtual_machines` - * - `virtual_machines:console`. - * - * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) - * - * @return Model\VirtualMachinesVirtualMachineConsoleSessionsPostResponse201|\Psr\Http\Message\ResponseInterface|null - * - * @throws Exception\PostVirtualMachineConsoleSessionsBadRequestException - * @throws Exception\PostVirtualMachineConsoleSessionsForbiddenException - * @throws Exception\PostVirtualMachineConsoleSessionsNotFoundException - * @throws Exception\PostVirtualMachineConsoleSessionsNotAcceptableException - * @throws Exception\PostVirtualMachineConsoleSessionsUnprocessableEntityException - * @throws Exception\PostVirtualMachineConsoleSessionsTooManyRequestsException - * @throws Exception\PostVirtualMachineConsoleSessionsServiceUnavailableException - */ - public function postVirtualMachineConsoleSessions(?Model\VirtualMachinesVirtualMachineConsoleSessionsPostBody $requestBody = null, string $fetch = self::FETCH_OBJECT) - { - return $this->executeEndpoint(new Endpoint\PostVirtualMachineConsoleSessions($requestBody), $fetch); - } - /** * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * @@ -3902,9 +4892,13 @@ public function getZones(string $fetch = self::FETCH_OBJECT) * * @param array $queryParameters { * - * @var string $zone[id] The zone to find. All 'zone[]' params are mutually exclusive, only one can be provided. - * @var string $zone[permalink] The zone to find. All 'zone[]' params are mutually exclusive, only one can be provided. - * } + * @var string $zone[id] The zone to find. + * + * All 'zone[]' params are mutually exclusive, only one can be provided. + * @var string $zone[permalink] The zone to find. + * + * All 'zone[]' params are mutually exclusive, only one can be provided. + * } * * @param string $fetch Fetch mode to use (can be OBJECT or RESPONSE) * diff --git a/src/Core/Endpoint/DeleteAddressList.php b/src/Core/Endpoint/DeleteAddressList.php index 9ab53a42..2d807573 100644 --- a/src/Core/Endpoint/DeleteAddressList.php +++ b/src/Core/Endpoint/DeleteAddressList.php @@ -18,6 +18,9 @@ class DeleteAddressList extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint im * Delete a address list. * ## Scopes * - `address_lists`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\AddressListsAddressListDeleteBody $requestBody = null) { @@ -83,6 +86,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/DeleteAddressListEntry.php b/src/Core/Endpoint/DeleteAddressListEntry.php index a0de6149..6c3748f6 100644 --- a/src/Core/Endpoint/DeleteAddressListEntry.php +++ b/src/Core/Endpoint/DeleteAddressListEntry.php @@ -18,6 +18,9 @@ class DeleteAddressListEntry extends \KatapultAPI\Core\Runtime\Client\BaseEndpoi * Delete an address list entry. * ## Scopes * - `address_lists`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\AddressListEntriesAddressListEntryDeleteBody $requestBody = null) { @@ -83,6 +86,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/DeleteApiToken.php b/src/Core/Endpoint/DeleteApiToken.php index e8dbce59..3a06d642 100644 --- a/src/Core/Endpoint/DeleteApiToken.php +++ b/src/Core/Endpoint/DeleteApiToken.php @@ -18,6 +18,9 @@ class DeleteApiToken extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint imple * Delete an organization API token * ## Scopes * - `api_tokens`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\ApiTokensApiTokenDeleteBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/DeleteDisk.php b/src/Core/Endpoint/DeleteDisk.php index e2cf0aae..263424cd 100644 --- a/src/Core/Endpoint/DeleteDisk.php +++ b/src/Core/Endpoint/DeleteDisk.php @@ -18,6 +18,9 @@ class DeleteDisk extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint implement * Deletes a disk and moves it to the trash * ## Scopes * - `disks`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\DisksDiskDeleteBody $requestBody = null) { @@ -91,6 +94,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/DeleteDiskBackupPolicy.php b/src/Core/Endpoint/DeleteDiskBackupPolicy.php index 89269cc0..5bf39cce 100644 --- a/src/Core/Endpoint/DeleteDiskBackupPolicy.php +++ b/src/Core/Endpoint/DeleteDiskBackupPolicy.php @@ -18,6 +18,9 @@ class DeleteDiskBackupPolicy extends \KatapultAPI\Core\Runtime\Client\BaseEndpoi * Deletes a disk backup policy and moves it to the trash * ## Scopes * - `disk_backup_policies`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\DiskBackupPoliciesDiskBackupPolicyDeleteBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/DeleteDiskBackupPolicySchedule.php b/src/Core/Endpoint/DeleteDiskBackupPolicySchedule.php index a7a79808..b7faeafa 100644 --- a/src/Core/Endpoint/DeleteDiskBackupPolicySchedule.php +++ b/src/Core/Endpoint/DeleteDiskBackupPolicySchedule.php @@ -18,6 +18,9 @@ class DeleteDiskBackupPolicySchedule extends \KatapultAPI\Core\Runtime\Client\Ba * 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. * ## Scopes * - `disk_backup_policies`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\DiskBackupPoliciesDiskBackupPolicyScheduleDeleteBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/DeleteDnsRecord.php b/src/Core/Endpoint/DeleteDnsRecord.php index a1493383..ab7ff3ed 100644 --- a/src/Core/Endpoint/DeleteDnsRecord.php +++ b/src/Core/Endpoint/DeleteDnsRecord.php @@ -18,6 +18,9 @@ class DeleteDnsRecord extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint impl * Delete a DNS record * ## Scopes * - `dns`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\DnsRecordsDnsRecordDeleteBody $requestBody = null) { @@ -83,6 +86,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/DeleteDnsZone.php b/src/Core/Endpoint/DeleteDnsZone.php index 6a19cee4..2f58bce6 100644 --- a/src/Core/Endpoint/DeleteDnsZone.php +++ b/src/Core/Endpoint/DeleteDnsZone.php @@ -18,6 +18,9 @@ class DeleteDnsZone extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint implem * Delete a DNS zone * ## Scopes * - `dns`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\DnsZonesDnsZoneDeleteBody $requestBody = null) { @@ -83,6 +86,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/DeleteFileStorageVolume.php b/src/Core/Endpoint/DeleteFileStorageVolume.php index b3e6f3d1..cf7323f9 100644 --- a/src/Core/Endpoint/DeleteFileStorageVolume.php +++ b/src/Core/Endpoint/DeleteFileStorageVolume.php @@ -18,6 +18,9 @@ class DeleteFileStorageVolume extends \KatapultAPI\Core\Runtime\Client\BaseEndpo * Delete a file storage volume. * ## Scopes * - `file_storage_volumes`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\FileStorageVolumesFileStorageVolumeDeleteBody $requestBody = null) { @@ -91,6 +94,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/DeleteIpAddress.php b/src/Core/Endpoint/DeleteIpAddress.php index a837c7d3..b8c8d784 100644 --- a/src/Core/Endpoint/DeleteIpAddress.php +++ b/src/Core/Endpoint/DeleteIpAddress.php @@ -18,6 +18,9 @@ class DeleteIpAddress extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint impl * Release an IP address from its organization * ## Scopes * - `ip_addresses`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\IpAddressesIpAddressDeleteBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/DeleteLoadBalancer.php b/src/Core/Endpoint/DeleteLoadBalancer.php index 0bb69396..a946f40e 100644 --- a/src/Core/Endpoint/DeleteLoadBalancer.php +++ b/src/Core/Endpoint/DeleteLoadBalancer.php @@ -18,6 +18,9 @@ class DeleteLoadBalancer extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint i * Delete a load balancer * ## Scopes * - `load_balancers`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\LoadBalancersLoadBalancerDeleteBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/DeleteLoadBalancersRulesLoadBalancerRule.php b/src/Core/Endpoint/DeleteLoadBalancersRulesLoadBalancerRule.php index ed8ff2f9..24d550f7 100644 --- a/src/Core/Endpoint/DeleteLoadBalancersRulesLoadBalancerRule.php +++ b/src/Core/Endpoint/DeleteLoadBalancersRulesLoadBalancerRule.php @@ -18,6 +18,9 @@ class DeleteLoadBalancersRulesLoadBalancerRule extends \KatapultAPI\Core\Runtime * Delete a load balancer rule * ## Scopes * - `load_balancers`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRuleDeleteBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/DeleteObjectStorageObjectStorageClusterBucket.php b/src/Core/Endpoint/DeleteObjectStorageObjectStorageClusterBucket.php new file mode 100644 index 00000000..ad492cd0 --- /dev/null +++ b/src/Core/Endpoint/DeleteObjectStorageObjectStorageClusterBucket.php @@ -0,0 +1,103 @@ +body = $requestBody; + } + + public function getMethod(): string + { + return 'DELETE'; + } + + public function getUri(): string + { + return '/object_storage/object_storage_cluster/buckets/bucket'; + } + + public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array + { + if ($this->body instanceof \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketDeleteBody) { + return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; + } + + return [[], null]; + } + + public function getExtraHeaders(): array + { + return ['Accept' => ['application/json']]; + } + + /** + * @return \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketDeleteResponse200|null + * + * @throws \KatapultAPI\Core\Exception\DeleteObjectStorageObjectStorageClusterBucketBadRequestException + * @throws \KatapultAPI\Core\Exception\DeleteObjectStorageObjectStorageClusterBucketForbiddenException + * @throws \KatapultAPI\Core\Exception\DeleteObjectStorageObjectStorageClusterBucketNotFoundException + * @throws \KatapultAPI\Core\Exception\DeleteObjectStorageObjectStorageClusterBucketNotAcceptableException + * @throws \KatapultAPI\Core\Exception\DeleteObjectStorageObjectStorageClusterBucketTooManyRequestsException + * @throws \KatapultAPI\Core\Exception\DeleteObjectStorageObjectStorageClusterBucketInternalServerErrorException + * @throws \KatapultAPI\Core\Exception\DeleteObjectStorageObjectStorageClusterBucketServiceUnavailableException + * @throws \KatapultAPI\Core\Exception\DeleteObjectStorageObjectStorageClusterBucketGatewayTimeoutException + */ + 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\ObjectStorageObjectStorageClusterBucketsBucketDeleteResponse200', 'json'); + } + if (is_null($contentType) === false && (400 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\DeleteObjectStorageObjectStorageClusterBucketBadRequestException($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\DeleteObjectStorageObjectStorageClusterBucketForbiddenException($response); + } + if (is_null($contentType) === false && (404 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\DeleteObjectStorageObjectStorageClusterBucketNotFoundException($response); + } + if (is_null($contentType) === false && (406 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\DeleteObjectStorageObjectStorageClusterBucketNotAcceptableException($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\DeleteObjectStorageObjectStorageClusterBucketTooManyRequestsException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response', 'json'), $response); + } + if (is_null($contentType) === false && (500 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\DeleteObjectStorageObjectStorageClusterBucketInternalServerErrorException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseMultipleObjectStorageBucketsFoundResponse', 'json'), $response); + } + if (is_null($contentType) === false && (503 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\DeleteObjectStorageObjectStorageClusterBucketServiceUnavailableException($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\DeleteObjectStorageObjectStorageClusterBucketGatewayTimeoutException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseNetworkErrorResponse', 'json'), $response); + } + } + + public function getAuthenticationScopes(): array + { + return ['OAuth2', 'Authenticator']; + } +} diff --git a/src/Core/Endpoint/DeleteOrganization.php b/src/Core/Endpoint/DeleteOrganization.php index 744a276b..1eea9cfd 100644 --- a/src/Core/Endpoint/DeleteOrganization.php +++ b/src/Core/Endpoint/DeleteOrganization.php @@ -18,6 +18,9 @@ class DeleteOrganization extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint i * Delete a managed organization. All resources must be removed first. * ## Scopes * - `managed_organizations:delete`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\ManagedOrganizationsOrganizationDeleteBody $requestBody = null) { @@ -91,6 +94,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/DeleteSecurityGroup.php b/src/Core/Endpoint/DeleteSecurityGroup.php index 043c60cf..37f37b76 100644 --- a/src/Core/Endpoint/DeleteSecurityGroup.php +++ b/src/Core/Endpoint/DeleteSecurityGroup.php @@ -18,6 +18,9 @@ class DeleteSecurityGroup extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint * Delete a security group * ## Scopes * - `security_group`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\SecurityGroupsSecurityGroupDeleteBody $requestBody = null) { @@ -91,6 +94,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/DeleteSecurityGroupsRulesSecurityGroupRule.php b/src/Core/Endpoint/DeleteSecurityGroupsRulesSecurityGroupRule.php index 79880db8..3d7a9922 100644 --- a/src/Core/Endpoint/DeleteSecurityGroupsRulesSecurityGroupRule.php +++ b/src/Core/Endpoint/DeleteSecurityGroupsRulesSecurityGroupRule.php @@ -18,6 +18,9 @@ class DeleteSecurityGroupsRulesSecurityGroupRule extends \KatapultAPI\Core\Runti * Delete a security group rule * ## Scopes * - `security_groups`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\SecurityGroupsRulesSecurityGroupRuleDeleteBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/DeleteSshKey.php b/src/Core/Endpoint/DeleteSshKey.php index 34f70a80..2b8f7184 100644 --- a/src/Core/Endpoint/DeleteSshKey.php +++ b/src/Core/Endpoint/DeleteSshKey.php @@ -85,6 +85,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/DeleteTag.php b/src/Core/Endpoint/DeleteTag.php index 2f383ea2..f0afee94 100644 --- a/src/Core/Endpoint/DeleteTag.php +++ b/src/Core/Endpoint/DeleteTag.php @@ -18,6 +18,9 @@ class DeleteTag extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint implements * Deletes a tag * ## Scopes * - `tags`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\TagsTagDeleteBody $requestBody = null) { @@ -83,6 +86,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/DeleteTrashObject.php b/src/Core/Endpoint/DeleteTrashObject.php index 1b83873c..407854d5 100644 --- a/src/Core/Endpoint/DeleteTrashObject.php +++ b/src/Core/Endpoint/DeleteTrashObject.php @@ -18,6 +18,9 @@ class DeleteTrashObject extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint im * Purge a specific trash object * ## Scopes * - `trash_objects:purge`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\TrashObjectsTrashObjectDeleteBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/DeleteVirtualMachine.php b/src/Core/Endpoint/DeleteVirtualMachine.php index c45acdab..81ca0c85 100644 --- a/src/Core/Endpoint/DeleteVirtualMachine.php +++ b/src/Core/Endpoint/DeleteVirtualMachine.php @@ -18,6 +18,9 @@ class DeleteVirtualMachine extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint * Moves an existing virtual machine to the trash * ## Scopes * - `virtual_machines`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\VirtualMachinesVirtualMachineDeleteBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/DeleteVirtualMachineGroup.php b/src/Core/Endpoint/DeleteVirtualMachineGroup.php index 57390d86..ac21602e 100644 --- a/src/Core/Endpoint/DeleteVirtualMachineGroup.php +++ b/src/Core/Endpoint/DeleteVirtualMachineGroup.php @@ -17,6 +17,9 @@ class DeleteVirtualMachineGroup extends \KatapultAPI\Core\Runtime\Client\BaseEnd /** * ## Scopes * - `virtual_machine_groups`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\VirtualMachineGroupsVirtualMachineGroupDeleteBody $requestBody = null) { @@ -86,6 +89,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/DeleteVirtualNetwork.php b/src/Core/Endpoint/DeleteVirtualNetwork.php new file mode 100644 index 00000000..8ffe596b --- /dev/null +++ b/src/Core/Endpoint/DeleteVirtualNetwork.php @@ -0,0 +1,94 @@ +body = $requestBody; + } + + public function getMethod(): string + { + return 'DELETE'; + } + + public function getUri(): string + { + return '/virtual_networks/virtual_network'; + } + + public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array + { + if ($this->body instanceof \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkDeleteBody) { + return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; + } + + return [[], null]; + } + + public function getExtraHeaders(): array + { + return ['Accept' => ['application/json']]; + } + + /** + * @return \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkDeleteResponse200|null + * + * @throws \KatapultAPI\Core\Exception\DeleteVirtualNetworkBadRequestException + * @throws \KatapultAPI\Core\Exception\DeleteVirtualNetworkForbiddenException + * @throws \KatapultAPI\Core\Exception\DeleteVirtualNetworkNotFoundException + * @throws \KatapultAPI\Core\Exception\DeleteVirtualNetworkConflictException + * @throws \KatapultAPI\Core\Exception\DeleteVirtualNetworkTooManyRequestsException + * @throws \KatapultAPI\Core\Exception\DeleteVirtualNetworkServiceUnavailableException + */ + 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\VirtualNetworksVirtualNetworkDeleteResponse200', 'json'); + } + if (is_null($contentType) === false && (400 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\DeleteVirtualNetworkBadRequestException($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\DeleteVirtualNetworkForbiddenException($response); + } + if (is_null($contentType) === false && (404 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\DeleteVirtualNetworkNotFoundException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseVirtualNetworkNotFoundResponse', 'json'), $response); + } + if (is_null($contentType) === false && (409 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\DeleteVirtualNetworkConflictException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseDeletionRestrictedResponse', 'json'), $response); + } + if (is_null($contentType) === false && (429 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\DeleteVirtualNetworkTooManyRequestsException($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\DeleteVirtualNetworkServiceUnavailableException($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 c97616ac..f8319c3b 100644 --- a/src/Core/Endpoint/GetAddressList.php +++ b/src/Core/Endpoint/GetAddressList.php @@ -20,10 +20,15 @@ class GetAddressList extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint imple * - `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 to return. All 'address_list[]' params are mutually exclusive, only one can be provided. - * } + * @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 = []) { @@ -96,6 +101,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetAddressListEntries.php b/src/Core/Endpoint/GetAddressListEntries.php index 334ad6b1..9b6a0cbf 100644 --- a/src/Core/Endpoint/GetAddressListEntries.php +++ b/src/Core/Endpoint/GetAddressListEntries.php @@ -20,12 +20,17 @@ class GetAddressListEntries extends \KatapultAPI\Core\Runtime\Client\BaseEndpoin * - `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. All 'address_list[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @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. + * } */ public function __construct(array $queryParameters = []) { @@ -57,7 +62,7 @@ protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver $optionsResolver = parent::getQueryOptionsResolver(); $optionsResolver->setDefined(['address_list[id]', 'page', 'per_page']); $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); $optionsResolver->addAllowedTypes('address_list[id]', ['string']); $optionsResolver->addAllowedTypes('page', ['int']); $optionsResolver->addAllowedTypes('per_page', ['int']); @@ -100,6 +105,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetAddressListEntry.php b/src/Core/Endpoint/GetAddressListEntry.php index 12c4762d..7832b3f7 100644 --- a/src/Core/Endpoint/GetAddressListEntry.php +++ b/src/Core/Endpoint/GetAddressListEntry.php @@ -20,10 +20,15 @@ class GetAddressListEntry extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint * - `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_entry[id] The address list entry to return. All 'address_list_entry[]' params are mutually exclusive, only one can be provided. - * } + * @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 = []) { @@ -96,6 +101,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetAddressLists.php b/src/Core/Endpoint/GetAddressLists.php index a523f995..2bb77d78 100644 --- a/src/Core/Endpoint/GetAddressLists.php +++ b/src/Core/Endpoint/GetAddressLists.php @@ -20,10 +20,13 @@ class GetAddressLists extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint impl * - `address_lists` * - `address_lists:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * - * @var int $page - * @var int $per_page + * @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 = []) @@ -56,7 +59,7 @@ protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver $optionsResolver = parent::getQueryOptionsResolver(); $optionsResolver->setDefined(['page', 'per_page']); $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); $optionsResolver->addAllowedTypes('page', ['int']); $optionsResolver->addAllowedTypes('per_page', ['int']); @@ -94,6 +97,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetCertificate.php b/src/Core/Endpoint/GetCertificate.php index af0fb251..037b0310 100644 --- a/src/Core/Endpoint/GetCertificate.php +++ b/src/Core/Endpoint/GetCertificate.php @@ -20,6 +20,9 @@ class GetCertificate extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint imple * - `certificates` * - `certificates:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * * @var string $certificate[id] All 'certificate[]' params are mutually exclusive, only one can be provided. @@ -100,6 +103,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetCountries.php b/src/Core/Endpoint/GetCountries.php index 28ae20b9..c87616d4 100644 --- a/src/Core/Endpoint/GetCountries.php +++ b/src/Core/Endpoint/GetCountries.php @@ -19,8 +19,8 @@ class GetCountries extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint impleme * * @param array $queryParameters { * - * @var int $page - * @var int $per_page + * @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 = []) @@ -53,7 +53,7 @@ protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver $optionsResolver = parent::getQueryOptionsResolver(); $optionsResolver->setDefined(['page', 'per_page']); $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); $optionsResolver->addAllowedTypes('page', ['int']); $optionsResolver->addAllowedTypes('per_page', ['int']); @@ -91,6 +91,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetCountry.php b/src/Core/Endpoint/GetCountry.php index 3a192ad7..26a9233f 100644 --- a/src/Core/Endpoint/GetCountry.php +++ b/src/Core/Endpoint/GetCountry.php @@ -19,10 +19,16 @@ class GetCountry extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint implement * * @param array $queryParameters { * - * @var string $country[id] The country to return. All 'country[]' params are mutually exclusive, only one can be provided. - * @var string $country[iso_code2] The country to return. All 'country[]' params are mutually exclusive, only one can be provided. - * @var string $country[iso_code3] The country to return. All 'country[]' params are mutually exclusive, only one can be provided. - * } + * @var string $country[id] The country to return. + * + * All 'country[]' params are mutually exclusive, only one can be provided. + * @var string $country[iso_code2] The country to return. + * + * All 'country[]' params are mutually exclusive, only one can be provided. + * @var string $country[iso_code3] The country to return. + * + * All 'country[]' params are mutually exclusive, only one can be provided. + * } */ public function __construct(array $queryParameters = []) { @@ -97,6 +103,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetCountryCountryStates.php b/src/Core/Endpoint/GetCountryCountryStates.php index de3894a1..bfea67e8 100644 --- a/src/Core/Endpoint/GetCountryCountryStates.php +++ b/src/Core/Endpoint/GetCountryCountryStates.php @@ -19,12 +19,18 @@ class GetCountryCountryStates extends \KatapultAPI\Core\Runtime\Client\BaseEndpo * * @param array $queryParameters { * - * @var string $country[id] The country to return states for. All 'country[]' params are mutually exclusive, only one can be provided. - * @var string $country[iso_code2] The country to return states for. All 'country[]' params are mutually exclusive, only one can be provided. - * @var string $country[iso_code3] The country to return states for. All 'country[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @var string $country[id] The country to return states for. + * + * All 'country[]' params are mutually exclusive, only one can be provided. + * @var string $country[iso_code2] The country to return states for. + * + * All 'country[]' params are mutually exclusive, only one can be provided. + * @var string $country[iso_code3] The country to return states for. + * + * All 'country[]' 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. + * } */ public function __construct(array $queryParameters = []) { @@ -56,7 +62,7 @@ protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver $optionsResolver = parent::getQueryOptionsResolver(); $optionsResolver->setDefined(['country[id]', 'country[iso_code2]', 'country[iso_code3]', 'page', 'per_page']); $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); $optionsResolver->addAllowedTypes('country[id]', ['string']); $optionsResolver->addAllowedTypes('country[iso_code2]', ['string']); $optionsResolver->addAllowedTypes('country[iso_code3]', ['string']); @@ -101,6 +107,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetCountryState.php b/src/Core/Endpoint/GetCountryState.php index d4e5ec39..0d02d010 100644 --- a/src/Core/Endpoint/GetCountryState.php +++ b/src/Core/Endpoint/GetCountryState.php @@ -19,8 +19,10 @@ 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. - * } + * @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 = []) { @@ -93,6 +95,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetCurrencies.php b/src/Core/Endpoint/GetCurrencies.php index c948c547..2618ba1c 100644 --- a/src/Core/Endpoint/GetCurrencies.php +++ b/src/Core/Endpoint/GetCurrencies.php @@ -19,8 +19,8 @@ class GetCurrencies extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint implem * * @param array $queryParameters { * - * @var int $page - * @var int $per_page + * @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 = []) @@ -53,7 +53,7 @@ protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver $optionsResolver = parent::getQueryOptionsResolver(); $optionsResolver->setDefined(['page', 'per_page']); $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); $optionsResolver->addAllowedTypes('page', ['int']); $optionsResolver->addAllowedTypes('per_page', ['int']); @@ -91,6 +91,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetCurrency.php b/src/Core/Endpoint/GetCurrency.php index 09b998d9..bad394ec 100644 --- a/src/Core/Endpoint/GetCurrency.php +++ b/src/Core/Endpoint/GetCurrency.php @@ -19,9 +19,13 @@ class GetCurrency extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint implemen * * @param array $queryParameters { * - * @var string $currency[id] The currency to return. All 'currency[]' params are mutually exclusive, only one can be provided. - * @var string $currency[iso_code] The currency to return. All 'currency[]' params are mutually exclusive, only one can be provided. - * } + * @var string $currency[id] The currency to return. + * + * All 'currency[]' params are mutually exclusive, only one can be provided. + * @var string $currency[iso_code] The currency to return. + * + * All 'currency[]' params are mutually exclusive, only one can be provided. + * } */ public function __construct(array $queryParameters = []) { @@ -95,6 +99,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetDataCenter.php b/src/Core/Endpoint/GetDataCenter.php index 87db75a0..b95cf1dd 100644 --- a/src/Core/Endpoint/GetDataCenter.php +++ b/src/Core/Endpoint/GetDataCenter.php @@ -95,6 +95,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetDataCenterDefaultNetwork.php b/src/Core/Endpoint/GetDataCenterDefaultNetwork.php index 19f04e23..94d68902 100644 --- a/src/Core/Endpoint/GetDataCenterDefaultNetwork.php +++ b/src/Core/Endpoint/GetDataCenterDefaultNetwork.php @@ -95,6 +95,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetDataCenterGpuTypes.php b/src/Core/Endpoint/GetDataCenterGpuTypes.php index adf1e511..5063e142 100644 --- a/src/Core/Endpoint/GetDataCenterGpuTypes.php +++ b/src/Core/Endpoint/GetDataCenterGpuTypes.php @@ -19,11 +19,15 @@ class GetDataCenterGpuTypes extends \KatapultAPI\Core\Runtime\Client\BaseEndpoin * * @param array $queryParameters { * - * @var string $data_center[id] The data center to list GPU types for. All 'data_center[]' params are mutually exclusive, only one can be provided. - * @var string $data_center[permalink] The data center to list GPU types for. All 'data_center[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @var string $data_center[id] The data center to list GPU types for. + * + * All 'data_center[]' params are mutually exclusive, only one can be provided. + * @var string $data_center[permalink] The data center to list GPU types for. + * + * All 'data_center[]' 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. + * } */ public function __construct(array $queryParameters = []) { @@ -55,7 +59,7 @@ protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver $optionsResolver = parent::getQueryOptionsResolver(); $optionsResolver->setDefined(['data_center[id]', 'data_center[permalink]', 'page', 'per_page']); $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); $optionsResolver->addAllowedTypes('data_center[id]', ['string']); $optionsResolver->addAllowedTypes('data_center[permalink]', ['string']); $optionsResolver->addAllowedTypes('page', ['int']); @@ -99,6 +103,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetDataCenters.php b/src/Core/Endpoint/GetDataCenters.php index 09c56180..ff0b60a9 100644 --- a/src/Core/Endpoint/GetDataCenters.php +++ b/src/Core/Endpoint/GetDataCenters.php @@ -65,6 +65,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetDisk.php b/src/Core/Endpoint/GetDisk.php index 053c8b6f..e2cbaac0 100644 --- a/src/Core/Endpoint/GetDisk.php +++ b/src/Core/Endpoint/GetDisk.php @@ -20,10 +20,15 @@ class GetDisk extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint implements \ * - `disks` * - `disks:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * - * @var string $disk[id] The disk to return. All 'disk[]' params are mutually exclusive, only one can be provided. - * } + * @var string $disk[id] The disk to return. + * + * All 'disk[]' params are mutually exclusive, only one can be provided. + * } */ public function __construct(array $queryParameters = []) { @@ -100,6 +105,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetDiskBackupPolicy.php b/src/Core/Endpoint/GetDiskBackupPolicy.php index d5c5894c..990720d8 100644 --- a/src/Core/Endpoint/GetDiskBackupPolicy.php +++ b/src/Core/Endpoint/GetDiskBackupPolicy.php @@ -20,10 +20,15 @@ class GetDiskBackupPolicy extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint * - `disk_backup_policies` * - `disk_backup_policies:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @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. - * } + * @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 = []) { @@ -100,6 +105,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetDiskDiskBackupPolicies.php b/src/Core/Endpoint/GetDiskDiskBackupPolicies.php index 512813c9..5f064dca 100644 --- a/src/Core/Endpoint/GetDiskDiskBackupPolicies.php +++ b/src/Core/Endpoint/GetDiskDiskBackupPolicies.php @@ -20,12 +20,17 @@ class GetDiskDiskBackupPolicies extends \KatapultAPI\Core\Runtime\Client\BaseEnd * - `disk_backup_policies` * - `disk_backup_policies:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @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 - * @var int $per_page - * } + * @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. + * } */ public function __construct(array $queryParameters = []) { @@ -57,7 +62,7 @@ protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver $optionsResolver = parent::getQueryOptionsResolver(); $optionsResolver->setDefined(['disk[id]', 'page', 'per_page']); $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); $optionsResolver->addAllowedTypes('disk[id]', ['string']); $optionsResolver->addAllowedTypes('page', ['int']); $optionsResolver->addAllowedTypes('per_page', ['int']); @@ -104,6 +109,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetDiskTemplate.php b/src/Core/Endpoint/GetDiskTemplate.php index ca484937..8c6b43b6 100644 --- a/src/Core/Endpoint/GetDiskTemplate.php +++ b/src/Core/Endpoint/GetDiskTemplate.php @@ -20,11 +20,18 @@ class GetDiskTemplate extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint impl * - `disk_templates` * - `disk_templates:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * - * @var string $disk_template[id] The disk template to return. All 'disk_template[]' params are mutually exclusive, only one can be provided. - * @var string $disk_template[permalink] The disk template to return. All 'disk_template[]' params are mutually exclusive, only one can be provided. - * } + * @var string $disk_template[id] The disk template to return. + * + * All 'disk_template[]' params are mutually exclusive, only one can be provided. + * @var string $disk_template[permalink] The disk template to return. + * + * All 'disk_template[]' params are mutually exclusive, only one can be provided. + * } */ public function __construct(array $queryParameters = []) { @@ -98,6 +105,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetDiskTemplateVersion.php b/src/Core/Endpoint/GetDiskTemplateVersion.php index 789e7af1..eb8319bb 100644 --- a/src/Core/Endpoint/GetDiskTemplateVersion.php +++ b/src/Core/Endpoint/GetDiskTemplateVersion.php @@ -20,10 +20,15 @@ class GetDiskTemplateVersion extends \KatapultAPI\Core\Runtime\Client\BaseEndpoi * - `disk_templates` * - `disk_templates:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @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. - * } + * @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 = []) { @@ -96,6 +101,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetDiskTemplateVersionSpec.php b/src/Core/Endpoint/GetDiskTemplateVersionSpec.php index b2a78260..0d23f641 100644 --- a/src/Core/Endpoint/GetDiskTemplateVersionSpec.php +++ b/src/Core/Endpoint/GetDiskTemplateVersionSpec.php @@ -20,10 +20,15 @@ class GetDiskTemplateVersionSpec extends \KatapultAPI\Core\Runtime\Client\BaseEn * - `disk_templates` * - `disk_templates:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @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. - * } + * @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 = []) { @@ -96,6 +101,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetDiskTemplateVersions.php b/src/Core/Endpoint/GetDiskTemplateVersions.php index a939b832..8f60388b 100644 --- a/src/Core/Endpoint/GetDiskTemplateVersions.php +++ b/src/Core/Endpoint/GetDiskTemplateVersions.php @@ -20,13 +20,20 @@ class GetDiskTemplateVersions extends \KatapultAPI\Core\Runtime\Client\BaseEndpo * - `disk_templates` * - `disk_templates:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * - * @var string $disk_template[id] The disk template to return the versions for. All 'disk_template[]' params are mutually exclusive, only one can be provided. - * @var string $disk_template[permalink] The disk template to return the versions for. All 'disk_template[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @var string $disk_template[id] The disk template to return the versions for. + * + * All 'disk_template[]' params are mutually exclusive, only one can be provided. + * @var string $disk_template[permalink] The disk template to return the versions for. + * + * All 'disk_template[]' 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. + * } */ public function __construct(array $queryParameters = []) { @@ -58,7 +65,7 @@ protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver $optionsResolver = parent::getQueryOptionsResolver(); $optionsResolver->setDefined(['disk_template[id]', 'disk_template[permalink]', 'page', 'per_page']); $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); $optionsResolver->addAllowedTypes('disk_template[id]', ['string']); $optionsResolver->addAllowedTypes('disk_template[permalink]', ['string']); $optionsResolver->addAllowedTypes('page', ['int']); @@ -102,6 +109,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetDnsRecord.php b/src/Core/Endpoint/GetDnsRecord.php index e6b9e549..bbc4b83a 100644 --- a/src/Core/Endpoint/GetDnsRecord.php +++ b/src/Core/Endpoint/GetDnsRecord.php @@ -20,6 +20,9 @@ class GetDnsRecord extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint impleme * - `dns` * - `dns:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * * @var string $dns_record[id] All 'dns_record[]' params are mutually exclusive, only one can be provided. @@ -96,6 +99,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetDnsZone.php b/src/Core/Endpoint/GetDnsZone.php index d343b0c3..3ef87772 100644 --- a/src/Core/Endpoint/GetDnsZone.php +++ b/src/Core/Endpoint/GetDnsZone.php @@ -20,6 +20,9 @@ class GetDnsZone extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint implement * - `dns` * - `dns:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * * @var string $dns_zone[id] All 'dns_zone[]' params are mutually exclusive, only one can be provided @@ -98,6 +101,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetDnsZoneRecords.php b/src/Core/Endpoint/GetDnsZoneRecords.php index 753b241a..ae016b2b 100644 --- a/src/Core/Endpoint/GetDnsZoneRecords.php +++ b/src/Core/Endpoint/GetDnsZoneRecords.php @@ -20,6 +20,9 @@ class GetDnsZoneRecords extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint im * - `dns` * - `dns:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * * @var string $dns_zone[id] All 'dns_zone[]' params are mutually exclusive, only one can be provided @@ -98,6 +101,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetFileStorageVolume.php b/src/Core/Endpoint/GetFileStorageVolume.php index ab17b58c..945f558f 100644 --- a/src/Core/Endpoint/GetFileStorageVolume.php +++ b/src/Core/Endpoint/GetFileStorageVolume.php @@ -20,10 +20,15 @@ class GetFileStorageVolume extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint * - `file_storage_volumes` * - `file_storage_volumes:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @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. - * } + * @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 = []) { @@ -100,6 +105,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetGpuType.php b/src/Core/Endpoint/GetGpuType.php index 6e7ce2f8..92f6eedb 100644 --- a/src/Core/Endpoint/GetGpuType.php +++ b/src/Core/Endpoint/GetGpuType.php @@ -95,6 +95,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetGpuTypes.php b/src/Core/Endpoint/GetGpuTypes.php index 73089d85..7a3d29b2 100644 --- a/src/Core/Endpoint/GetGpuTypes.php +++ b/src/Core/Endpoint/GetGpuTypes.php @@ -19,8 +19,8 @@ class GetGpuTypes extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint implemen * * @param array $queryParameters { * - * @var int $page - * @var int $per_page + * @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 = []) @@ -53,7 +53,7 @@ protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver $optionsResolver = parent::getQueryOptionsResolver(); $optionsResolver->setDefined(['page', 'per_page']); $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); $optionsResolver->addAllowedTypes('page', ['int']); $optionsResolver->addAllowedTypes('per_page', ['int']); @@ -91,6 +91,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetIpAddress.php b/src/Core/Endpoint/GetIpAddress.php index 74a5b442..01c9e999 100644 --- a/src/Core/Endpoint/GetIpAddress.php +++ b/src/Core/Endpoint/GetIpAddress.php @@ -20,11 +20,18 @@ class GetIpAddress extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint impleme * - `ip_addresses` * - `ip_addresses:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * - * @var string $ip_address[id] The IP address to find. All 'ip_address[]' params are mutually exclusive, only one can be provided. - * @var string $ip_address[address] The IP address to find. All 'ip_address[]' params are mutually exclusive, only one can be provided. - * } + * @var string $ip_address[id] The IP address to find. + * + * All 'ip_address[]' params are mutually exclusive, only one can be provided. + * @var string $ip_address[address] The IP address to find. + * + * All 'ip_address[]' params are mutually exclusive, only one can be provided. + * } */ public function __construct(array $queryParameters = []) { @@ -98,6 +105,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetLoadBalancer.php b/src/Core/Endpoint/GetLoadBalancer.php index 15a18036..c648808b 100644 --- a/src/Core/Endpoint/GetLoadBalancer.php +++ b/src/Core/Endpoint/GetLoadBalancer.php @@ -20,11 +20,18 @@ class GetLoadBalancer extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint impl * - `load_balancers` * - `load_balancers:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * - * @var string $load_balancer[id] The load balancer to return the details for. All 'load_balancer[]' params are mutually exclusive, only one can be provided. - * @var string $load_balancer[api_reference] The load balancer to return the details for. All 'load_balancer[]' params are mutually exclusive, only one can be provided. - * } + * @var string $load_balancer[id] The load balancer to return the details for. + * + * All 'load_balancer[]' params are mutually exclusive, only one can be provided. + * @var string $load_balancer[api_reference] The load balancer to return the details for. + * + * All 'load_balancer[]' params are mutually exclusive, only one can be provided. + * } */ public function __construct(array $queryParameters = []) { @@ -98,6 +105,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetLoadBalancerRules.php b/src/Core/Endpoint/GetLoadBalancerRules.php index b033d25e..ad536954 100644 --- a/src/Core/Endpoint/GetLoadBalancerRules.php +++ b/src/Core/Endpoint/GetLoadBalancerRules.php @@ -20,13 +20,20 @@ class GetLoadBalancerRules extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint * - `load_balancers` * - `load_balancers:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * - * @var string $load_balancer[id] The load balancer to return all load rules for. All 'load_balancer[]' params are mutually exclusive, only one can be provided. - * @var string $load_balancer[api_reference] The load balancer to return all load rules for. All 'load_balancer[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @var string $load_balancer[id] The load balancer to return all load rules for. + * + * All 'load_balancer[]' params are mutually exclusive, only one can be provided. + * @var string $load_balancer[api_reference] The load balancer to return all load rules for. + * + * All 'load_balancer[]' 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. + * } */ public function __construct(array $queryParameters = []) { @@ -58,7 +65,7 @@ protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver $optionsResolver = parent::getQueryOptionsResolver(); $optionsResolver->setDefined(['load_balancer[id]', 'load_balancer[api_reference]', 'page', 'per_page']); $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); $optionsResolver->addAllowedTypes('load_balancer[id]', ['string']); $optionsResolver->addAllowedTypes('load_balancer[api_reference]', ['string']); $optionsResolver->addAllowedTypes('page', ['int']); @@ -102,6 +109,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetLoadBalancersRulesLoadBalancerRule.php b/src/Core/Endpoint/GetLoadBalancersRulesLoadBalancerRule.php index 4453d555..c333adc9 100644 --- a/src/Core/Endpoint/GetLoadBalancersRulesLoadBalancerRule.php +++ b/src/Core/Endpoint/GetLoadBalancersRulesLoadBalancerRule.php @@ -20,10 +20,15 @@ class GetLoadBalancersRulesLoadBalancerRule extends \KatapultAPI\Core\Runtime\Cl * - `load_balancers` * - `load_balancers:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @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. - * } + * @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 = []) { @@ -96,6 +101,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetNetwork.php b/src/Core/Endpoint/GetNetwork.php index 97a52b1c..7308605b 100644 --- a/src/Core/Endpoint/GetNetwork.php +++ b/src/Core/Endpoint/GetNetwork.php @@ -19,9 +19,13 @@ class GetNetwork extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint implement * * @param array $queryParameters { * - * @var string $network[id] The network to return. All 'network[]' params are mutually exclusive, only one can be provided. - * @var string $network[permalink] The network to return. All 'network[]' params are mutually exclusive, only one can be provided. - * } + * @var string $network[id] The network to return. + * + * All 'network[]' params are mutually exclusive, only one can be provided. + * @var string $network[permalink] The network to return. + * + * All 'network[]' params are mutually exclusive, only one can be provided. + * } */ public function __construct(array $queryParameters = []) { @@ -95,6 +99,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetObjectStorageObjectStorageClusterBucket.php b/src/Core/Endpoint/GetObjectStorageObjectStorageClusterBucket.php new file mode 100644 index 00000000..eed568a9 --- /dev/null +++ b/src/Core/Endpoint/GetObjectStorageObjectStorageClusterBucket.php @@ -0,0 +1,117 @@ +queryParameters = $queryParameters; + } + + public function getMethod(): string + { + return 'GET'; + } + + public function getUri(): string + { + return '/object_storage/object_storage_cluster/buckets/bucket'; + } + + 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(['object_storage_cluster[region]', 'bucket[name]']); + $optionsResolver->setRequired([]); + $optionsResolver->setDefaults([]); + $optionsResolver->addAllowedTypes('object_storage_cluster[region]', ['string']); + $optionsResolver->addAllowedTypes('bucket[name]', ['string']); + + return $optionsResolver; + } + + /** + * @return \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketGetResponse200|null + * + * @throws \KatapultAPI\Core\Exception\GetObjectStorageObjectStorageClusterBucketBadRequestException + * @throws \KatapultAPI\Core\Exception\GetObjectStorageObjectStorageClusterBucketForbiddenException + * @throws \KatapultAPI\Core\Exception\GetObjectStorageObjectStorageClusterBucketNotFoundException + * @throws \KatapultAPI\Core\Exception\GetObjectStorageObjectStorageClusterBucketNotAcceptableException + * @throws \KatapultAPI\Core\Exception\GetObjectStorageObjectStorageClusterBucketTooManyRequestsException + * @throws \KatapultAPI\Core\Exception\GetObjectStorageObjectStorageClusterBucketInternalServerErrorException + * @throws \KatapultAPI\Core\Exception\GetObjectStorageObjectStorageClusterBucketServiceUnavailableException + */ + 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\ObjectStorageObjectStorageClusterBucketsBucketGetResponse200', 'json'); + } + if (is_null($contentType) === false && (400 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\GetObjectStorageObjectStorageClusterBucketBadRequestException($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\GetObjectStorageObjectStorageClusterBucketForbiddenException($response); + } + if (is_null($contentType) === false && (404 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\GetObjectStorageObjectStorageClusterBucketNotFoundException($response); + } + if (is_null($contentType) === false && (406 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\GetObjectStorageObjectStorageClusterBucketNotAcceptableException($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\GetObjectStorageObjectStorageClusterBucketTooManyRequestsException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response', 'json'), $response); + } + if (is_null($contentType) === false && (500 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\GetObjectStorageObjectStorageClusterBucketInternalServerErrorException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseMultipleObjectStorageBucketsFoundResponse', 'json'), $response); + } + if (is_null($contentType) === false && (503 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\GetObjectStorageObjectStorageClusterBucketServiceUnavailableException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response', 'json'), $response); + } + } + + public function getAuthenticationScopes(): array + { + return ['OAuth2', 'Authenticator']; + } +} diff --git a/src/Core/Endpoint/GetObjectStorageObjectStorageClusterBucketObject.php b/src/Core/Endpoint/GetObjectStorageObjectStorageClusterBucketObject.php new file mode 100644 index 00000000..dd081d2e --- /dev/null +++ b/src/Core/Endpoint/GetObjectStorageObjectStorageClusterBucketObject.php @@ -0,0 +1,123 @@ +queryParameters = $queryParameters; + } + + public function getMethod(): string + { + return 'GET'; + } + + public function getUri(): string + { + return '/object_storage/object_storage_cluster/buckets/bucket/object'; + } + + 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(['object_storage_cluster[region]', 'bucket[name]', 'path']); + $optionsResolver->setRequired(['path']); + $optionsResolver->setDefaults([]); + $optionsResolver->addAllowedTypes('object_storage_cluster[region]', ['string']); + $optionsResolver->addAllowedTypes('bucket[name]', ['string']); + $optionsResolver->addAllowedTypes('path', ['string']); + + return $optionsResolver; + } + + /** + * @return \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketObjectGetResponse200|null + * + * @throws \KatapultAPI\Core\Exception\GetObjectStorageObjectStorageClusterBucketObjectBadRequestException + * @throws \KatapultAPI\Core\Exception\GetObjectStorageObjectStorageClusterBucketObjectForbiddenException + * @throws \KatapultAPI\Core\Exception\GetObjectStorageObjectStorageClusterBucketObjectNotFoundException + * @throws \KatapultAPI\Core\Exception\GetObjectStorageObjectStorageClusterBucketObjectNotAcceptableException + * @throws \KatapultAPI\Core\Exception\GetObjectStorageObjectStorageClusterBucketObjectTooManyRequestsException + * @throws \KatapultAPI\Core\Exception\GetObjectStorageObjectStorageClusterBucketObjectInternalServerErrorException + * @throws \KatapultAPI\Core\Exception\GetObjectStorageObjectStorageClusterBucketObjectServiceUnavailableException + * @throws \KatapultAPI\Core\Exception\GetObjectStorageObjectStorageClusterBucketObjectGatewayTimeoutException + */ + 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\ObjectStorageObjectStorageClusterBucketsBucketObjectGetResponse200', 'json'); + } + if (is_null($contentType) === false && (400 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\GetObjectStorageObjectStorageClusterBucketObjectBadRequestException($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\GetObjectStorageObjectStorageClusterBucketObjectForbiddenException($response); + } + if (is_null($contentType) === false && (404 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\GetObjectStorageObjectStorageClusterBucketObjectNotFoundException($response); + } + if (is_null($contentType) === false && (406 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\GetObjectStorageObjectStorageClusterBucketObjectNotAcceptableException($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\GetObjectStorageObjectStorageClusterBucketObjectTooManyRequestsException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response', 'json'), $response); + } + if (is_null($contentType) === false && (500 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\GetObjectStorageObjectStorageClusterBucketObjectInternalServerErrorException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseMultipleObjectStorageBucketsFoundResponse', 'json'), $response); + } + if (is_null($contentType) === false && (503 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\GetObjectStorageObjectStorageClusterBucketObjectServiceUnavailableException($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\GetObjectStorageObjectStorageClusterBucketObjectGatewayTimeoutException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseNetworkErrorResponse', 'json'), $response); + } + } + + public function getAuthenticationScopes(): array + { + return ['OAuth2', 'Authenticator']; + } +} diff --git a/src/Core/Endpoint/GetOperatingSystem.php b/src/Core/Endpoint/GetOperatingSystem.php index 7b77aae3..777e9164 100644 --- a/src/Core/Endpoint/GetOperatingSystem.php +++ b/src/Core/Endpoint/GetOperatingSystem.php @@ -19,8 +19,10 @@ 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. - * } + * @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 = []) { @@ -93,6 +95,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetOperatingSystems.php b/src/Core/Endpoint/GetOperatingSystems.php index 48a70f4e..177aab8a 100644 --- a/src/Core/Endpoint/GetOperatingSystems.php +++ b/src/Core/Endpoint/GetOperatingSystems.php @@ -19,8 +19,8 @@ class GetOperatingSystems extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint * * @param array $queryParameters { * - * @var int $page - * @var int $per_page + * @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 = []) @@ -53,7 +53,7 @@ protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver $optionsResolver = parent::getQueryOptionsResolver(); $optionsResolver->setDefined(['page', 'per_page']); $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); $optionsResolver->addAllowedTypes('page', ['int']); $optionsResolver->addAllowedTypes('per_page', ['int']); @@ -91,6 +91,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetOrganization.php b/src/Core/Endpoint/GetOrganization.php index 8d8f3133..04a8ec45 100644 --- a/src/Core/Endpoint/GetOrganization.php +++ b/src/Core/Endpoint/GetOrganization.php @@ -19,6 +19,9 @@ class GetOrganization extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint impl * ## Scopes * - `organizations:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * * @var string $organization[id] All 'organization[]' params are mutually exclusive, only one can be provided @@ -97,6 +100,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetOrganizationAddressLists.php b/src/Core/Endpoint/GetOrganizationAddressLists.php index f066d020..e3abf4d5 100644 --- a/src/Core/Endpoint/GetOrganizationAddressLists.php +++ b/src/Core/Endpoint/GetOrganizationAddressLists.php @@ -20,15 +20,30 @@ class GetOrganizationAddressLists extends \KatapultAPI\Core\Runtime\Client\BaseE * - `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 $organization[id] The organization for which the address lists should be returned. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $organization[sub_domain] The organization for which the address lists should be returned. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $annotations[key] An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided. - * @var string $annotations[value] An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @var string $organization[id] The organization for which the address lists should be returned. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[sub_domain] The organization for which the address lists should be returned. + * + * 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. + * } */ public function __construct(array $queryParameters = []) { @@ -58,13 +73,13 @@ public function getExtraHeaders(): array protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver { $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['organization[id]', 'organization[sub_domain]', 'annotations[key]', 'annotations[value]', 'page', 'per_page']); + $optionsResolver->setDefined(['organization[id]', 'organization[sub_domain]', 'annotations[][ke', 'annotations[][valu', 'page', 'per_page']); $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); $optionsResolver->addAllowedTypes('organization[id]', ['string']); $optionsResolver->addAllowedTypes('organization[sub_domain]', ['string']); - $optionsResolver->addAllowedTypes('annotations[key]', ['string']); - $optionsResolver->addAllowedTypes('annotations[value]', ['string']); + $optionsResolver->addAllowedTypes('annotations[][ke', ['array']); + $optionsResolver->addAllowedTypes('annotations[][valu', ['array']); $optionsResolver->addAllowedTypes('page', ['int']); $optionsResolver->addAllowedTypes('per_page', ['int']); @@ -106,6 +121,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetOrganizationApiTokens.php b/src/Core/Endpoint/GetOrganizationApiTokens.php index 586dc2da..0ca49c98 100644 --- a/src/Core/Endpoint/GetOrganizationApiTokens.php +++ b/src/Core/Endpoint/GetOrganizationApiTokens.php @@ -20,15 +20,30 @@ class GetOrganizationApiTokens extends \KatapultAPI\Core\Runtime\Client\BaseEndp * - `api_tokens` * - `api_tokens: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 to list API tokens for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $organization[sub_domain] The organization to list API tokens for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $annotations[key] An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided. - * @var string $annotations[value] An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @var string $organization[id] The organization to list API tokens for. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[sub_domain] The organization to list API tokens for. + * + * 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. + * } */ public function __construct(array $queryParameters = []) { @@ -58,13 +73,13 @@ public function getExtraHeaders(): array protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver { $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['organization[id]', 'organization[sub_domain]', 'annotations[key]', 'annotations[value]', 'page', 'per_page']); + $optionsResolver->setDefined(['organization[id]', 'organization[sub_domain]', 'annotations[][ke', 'annotations[][valu', 'page', 'per_page']); $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); $optionsResolver->addAllowedTypes('organization[id]', ['string']); $optionsResolver->addAllowedTypes('organization[sub_domain]', ['string']); - $optionsResolver->addAllowedTypes('annotations[key]', ['string']); - $optionsResolver->addAllowedTypes('annotations[value]', ['string']); + $optionsResolver->addAllowedTypes('annotations[][ke', ['array']); + $optionsResolver->addAllowedTypes('annotations[][valu', ['array']); $optionsResolver->addAllowedTypes('page', ['int']); $optionsResolver->addAllowedTypes('per_page', ['int']); @@ -106,6 +121,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetOrganizationAvailableNetworks.php b/src/Core/Endpoint/GetOrganizationAvailableNetworks.php index 5f611459..e62b755b 100644 --- a/src/Core/Endpoint/GetOrganizationAvailableNetworks.php +++ b/src/Core/Endpoint/GetOrganizationAvailableNetworks.php @@ -95,6 +95,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetOrganizationCertificates.php b/src/Core/Endpoint/GetOrganizationCertificates.php index 0d658965..c3d79141 100644 --- a/src/Core/Endpoint/GetOrganizationCertificates.php +++ b/src/Core/Endpoint/GetOrganizationCertificates.php @@ -20,12 +20,15 @@ class GetOrganizationCertificates extends \KatapultAPI\Core\Runtime\Client\BaseE * - `certificates` * - `certificates:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * * @var string $organization[id] All 'organization[]' params are mutually exclusive, only one can be provided * @var string $organization[sub_domain] All 'organization[]' params are mutually exclusive, only one can be provided - * @var int $page - * @var int $per_page + * @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 = []) @@ -58,7 +61,7 @@ protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver $optionsResolver = parent::getQueryOptionsResolver(); $optionsResolver->setDefined(['organization[id]', 'organization[sub_domain]', 'page', 'per_page']); $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); $optionsResolver->addAllowedTypes('organization[id]', ['string']); $optionsResolver->addAllowedTypes('organization[sub_domain]', ['string']); $optionsResolver->addAllowedTypes('page', ['int']); @@ -102,6 +105,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetOrganizationDeletionSteps.php b/src/Core/Endpoint/GetOrganizationDeletionSteps.php index ea1660f0..3dbc97f5 100644 --- a/src/Core/Endpoint/GetOrganizationDeletionSteps.php +++ b/src/Core/Endpoint/GetOrganizationDeletionSteps.php @@ -20,6 +20,9 @@ class GetOrganizationDeletionSteps extends \KatapultAPI\Core\Runtime\Client\Base * - `organizations:delete` * - `managed_organizations:delete`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * * @var string $organization[id] All 'organization[]' params are mutually exclusive, only one can be provided @@ -98,6 +101,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetOrganizationDiskBackupPolicies.php b/src/Core/Endpoint/GetOrganizationDiskBackupPolicies.php index 38ad62ad..1cd02654 100644 --- a/src/Core/Endpoint/GetOrganizationDiskBackupPolicies.php +++ b/src/Core/Endpoint/GetOrganizationDiskBackupPolicies.php @@ -20,13 +20,20 @@ class GetOrganizationDiskBackupPolicies extends \KatapultAPI\Core\Runtime\Client * - `disk_backup_policies` * - `disk_backup_policies: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 to return disk backup policies for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $organization[sub_domain] The organization to return disk backup policies for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @var string $organization[id] The organization to return disk backup policies for. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[sub_domain] The organization to return disk backup policies for. + * + * 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. + * } */ public function __construct(array $queryParameters = []) { @@ -58,7 +65,7 @@ protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver $optionsResolver = parent::getQueryOptionsResolver(); $optionsResolver->setDefined(['organization[id]', 'organization[sub_domain]', 'page', 'per_page']); $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); $optionsResolver->addAllowedTypes('organization[id]', ['string']); $optionsResolver->addAllowedTypes('organization[sub_domain]', ['string']); $optionsResolver->addAllowedTypes('page', ['int']); @@ -102,6 +109,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetOrganizationDiskIoProfiles.php b/src/Core/Endpoint/GetOrganizationDiskIoProfiles.php index 45bad553..b86ab9a1 100644 --- a/src/Core/Endpoint/GetOrganizationDiskIoProfiles.php +++ b/src/Core/Endpoint/GetOrganizationDiskIoProfiles.php @@ -19,11 +19,15 @@ class GetOrganizationDiskIoProfiles extends \KatapultAPI\Core\Runtime\Client\Bas * * @param array $queryParameters { * - * @var string $organization[id] The organization to find disk IO profiles for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $organization[sub_domain] The organization to find disk IO profiles for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @var string $organization[id] The organization to find disk IO profiles for. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[sub_domain] The organization to find disk IO profiles for. + * + * 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. + * } */ public function __construct(array $queryParameters = []) { @@ -55,7 +59,7 @@ protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver $optionsResolver = parent::getQueryOptionsResolver(); $optionsResolver->setDefined(['organization[id]', 'organization[sub_domain]', 'page', 'per_page']); $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); $optionsResolver->addAllowedTypes('organization[id]', ['string']); $optionsResolver->addAllowedTypes('organization[sub_domain]', ['string']); $optionsResolver->addAllowedTypes('page', ['int']); @@ -99,6 +103,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetOrganizationDiskTemplates.php b/src/Core/Endpoint/GetOrganizationDiskTemplates.php index 7b75fb0a..fd1ec241 100644 --- a/src/Core/Endpoint/GetOrganizationDiskTemplates.php +++ b/src/Core/Endpoint/GetOrganizationDiskTemplates.php @@ -20,15 +20,24 @@ class GetOrganizationDiskTemplates extends \KatapultAPI\Core\Runtime\Client\Base * - `disk_templates` * - `disk_templates: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 to find disk templates for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $organization[sub_domain] The organization to find disk templates for. All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[id] The organization to find disk templates for. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[sub_domain] The organization to find disk templates for. + * + * 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 - * @var int $per_page - * } + * @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. + * } */ public function __construct(array $queryParameters = []) { @@ -60,7 +69,7 @@ protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver $optionsResolver = parent::getQueryOptionsResolver(); $optionsResolver->setDefined(['organization[id]', 'organization[sub_domain]', 'include_universal', 'operating_system[id]', 'page', 'per_page']); $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); $optionsResolver->addAllowedTypes('organization[id]', ['string']); $optionsResolver->addAllowedTypes('organization[sub_domain]', ['string']); $optionsResolver->addAllowedTypes('include_universal', ['bool']); @@ -106,6 +115,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetOrganizationDisks.php b/src/Core/Endpoint/GetOrganizationDisks.php index 870af1c2..d2daaf11 100644 --- a/src/Core/Endpoint/GetOrganizationDisks.php +++ b/src/Core/Endpoint/GetOrganizationDisks.php @@ -20,15 +20,30 @@ class GetOrganizationDisks extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint * - `disks` * - `disks: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 to find disks for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $organization[sub_domain] The organization to find disks for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $annotations[key] An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided. - * @var string $annotations[value] An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @var string $organization[id] The organization to find disks for. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[sub_domain] The organization to find disks for. + * + * 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. + * } */ public function __construct(array $queryParameters = []) { @@ -58,13 +73,13 @@ public function getExtraHeaders(): array protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver { $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['organization[id]', 'organization[sub_domain]', 'annotations[key]', 'annotations[value]', 'page', 'per_page']); + $optionsResolver->setDefined(['organization[id]', 'organization[sub_domain]', 'annotations[][ke', 'annotations[][valu', 'page', 'per_page']); $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); $optionsResolver->addAllowedTypes('organization[id]', ['string']); $optionsResolver->addAllowedTypes('organization[sub_domain]', ['string']); - $optionsResolver->addAllowedTypes('annotations[key]', ['string']); - $optionsResolver->addAllowedTypes('annotations[value]', ['string']); + $optionsResolver->addAllowedTypes('annotations[][ke', ['array']); + $optionsResolver->addAllowedTypes('annotations[][valu', ['array']); $optionsResolver->addAllowedTypes('page', ['int']); $optionsResolver->addAllowedTypes('per_page', ['int']); @@ -106,6 +121,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetOrganizationDnsZones.php b/src/Core/Endpoint/GetOrganizationDnsZones.php index 4c59dff1..38ebfd8b 100644 --- a/src/Core/Endpoint/GetOrganizationDnsZones.php +++ b/src/Core/Endpoint/GetOrganizationDnsZones.php @@ -20,12 +20,15 @@ class GetOrganizationDnsZones extends \KatapultAPI\Core\Runtime\Client\BaseEndpo * - `dns` * - `dns:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * * @var string $organization[id] All 'organization[]' params are mutually exclusive, only one can be provided * @var string $organization[sub_domain] All 'organization[]' params are mutually exclusive, only one can be provided - * @var int $page - * @var int $per_page + * @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 = []) @@ -58,7 +61,7 @@ protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver $optionsResolver = parent::getQueryOptionsResolver(); $optionsResolver->setDefined(['organization[id]', 'organization[sub_domain]', 'page', 'per_page']); $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); $optionsResolver->addAllowedTypes('organization[id]', ['string']); $optionsResolver->addAllowedTypes('organization[sub_domain]', ['string']); $optionsResolver->addAllowedTypes('page', ['int']); @@ -102,6 +105,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetOrganizationDnsZonesNameservers.php b/src/Core/Endpoint/GetOrganizationDnsZonesNameservers.php index 77f54329..37e0c424 100644 --- a/src/Core/Endpoint/GetOrganizationDnsZonesNameservers.php +++ b/src/Core/Endpoint/GetOrganizationDnsZonesNameservers.php @@ -20,6 +20,9 @@ class GetOrganizationDnsZonesNameservers extends \KatapultAPI\Core\Runtime\Clien * - `dns` * - `dns:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * * @var string $organization[id] All 'organization[]' params are mutually exclusive, only one can be provided @@ -98,6 +101,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetOrganizationFileStorageVolumes.php b/src/Core/Endpoint/GetOrganizationFileStorageVolumes.php index e6781f2d..8af72227 100644 --- a/src/Core/Endpoint/GetOrganizationFileStorageVolumes.php +++ b/src/Core/Endpoint/GetOrganizationFileStorageVolumes.php @@ -20,15 +20,30 @@ class GetOrganizationFileStorageVolumes extends \KatapultAPI\Core\Runtime\Client * - `file_storage_volumes` * - `file_storage_volumes: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 to return all file storage volumes for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $organization[sub_domain] The organization to return all file storage volumes for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $annotations[key] An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided. - * @var string $annotations[value] An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @var string $organization[id] The organization to return all file storage volumes for. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[sub_domain] The organization to return all file storage volumes for. + * + * 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. + * } */ public function __construct(array $queryParameters = []) { @@ -58,13 +73,13 @@ public function getExtraHeaders(): array protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver { $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['organization[id]', 'organization[sub_domain]', 'annotations[key]', 'annotations[value]', 'page', 'per_page']); + $optionsResolver->setDefined(['organization[id]', 'organization[sub_domain]', 'annotations[][ke', 'annotations[][valu', 'page', 'per_page']); $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); $optionsResolver->addAllowedTypes('organization[id]', ['string']); $optionsResolver->addAllowedTypes('organization[sub_domain]', ['string']); - $optionsResolver->addAllowedTypes('annotations[key]', ['string']); - $optionsResolver->addAllowedTypes('annotations[value]', ['string']); + $optionsResolver->addAllowedTypes('annotations[][ke', ['array']); + $optionsResolver->addAllowedTypes('annotations[][valu', ['array']); $optionsResolver->addAllowedTypes('page', ['int']); $optionsResolver->addAllowedTypes('per_page', ['int']); @@ -106,6 +121,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetOrganizationIpAddresses.php b/src/Core/Endpoint/GetOrganizationIpAddresses.php index be78f207..ce2844e7 100644 --- a/src/Core/Endpoint/GetOrganizationIpAddresses.php +++ b/src/Core/Endpoint/GetOrganizationIpAddresses.php @@ -20,14 +20,21 @@ class GetOrganizationIpAddresses extends \KatapultAPI\Core\Runtime\Client\BaseEn * - `ip_addresses` * - `ip_addresses: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 to use when looking up IP addresses. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $organization[sub_domain] The organization to use when looking up IP addresses. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var bool $allocated If true, only return allocated IP addresss. If false, only return unallocated IP addresses. - * @var int $page - * @var int $per_page - * } + * @var string $organization[id] The organization to use when looking up IP addresses. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[sub_domain] The organization to use when looking up IP addresses. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var bool $allocated If true, only return allocated IP addresss. If false, only return unallocated IP addresses. + * @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 = []) { @@ -59,7 +66,7 @@ protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver $optionsResolver = parent::getQueryOptionsResolver(); $optionsResolver->setDefined(['organization[id]', 'organization[sub_domain]', 'allocated', 'page', 'per_page']); $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); $optionsResolver->addAllowedTypes('organization[id]', ['string']); $optionsResolver->addAllowedTypes('organization[sub_domain]', ['string']); $optionsResolver->addAllowedTypes('allocated', ['bool']); @@ -104,6 +111,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetOrganizationLoadBalancers.php b/src/Core/Endpoint/GetOrganizationLoadBalancers.php index b334acef..82595a8e 100644 --- a/src/Core/Endpoint/GetOrganizationLoadBalancers.php +++ b/src/Core/Endpoint/GetOrganizationLoadBalancers.php @@ -20,15 +20,30 @@ class GetOrganizationLoadBalancers extends \KatapultAPI\Core\Runtime\Client\Base * - `load_balancers` * - `load_balancers: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 to return all load balancers for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $organization[sub_domain] The organization to return all load balancers for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $annotations[key] An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided. - * @var string $annotations[value] An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @var string $organization[id] The organization to return all load balancers for. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[sub_domain] The organization to return all load balancers for. + * + * 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. + * } */ public function __construct(array $queryParameters = []) { @@ -58,13 +73,13 @@ public function getExtraHeaders(): array protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver { $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['organization[id]', 'organization[sub_domain]', 'annotations[key]', 'annotations[value]', 'page', 'per_page']); + $optionsResolver->setDefined(['organization[id]', 'organization[sub_domain]', 'annotations[][ke', 'annotations[][valu', 'page', 'per_page']); $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); $optionsResolver->addAllowedTypes('organization[id]', ['string']); $optionsResolver->addAllowedTypes('organization[sub_domain]', ['string']); - $optionsResolver->addAllowedTypes('annotations[key]', ['string']); - $optionsResolver->addAllowedTypes('annotations[value]', ['string']); + $optionsResolver->addAllowedTypes('annotations[][ke', ['array']); + $optionsResolver->addAllowedTypes('annotations[][valu', ['array']); $optionsResolver->addAllowedTypes('page', ['int']); $optionsResolver->addAllowedTypes('per_page', ['int']); @@ -106,6 +121,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetOrganizationManaged.php b/src/Core/Endpoint/GetOrganizationManaged.php index a70340b2..d328d7d5 100644 --- a/src/Core/Endpoint/GetOrganizationManaged.php +++ b/src/Core/Endpoint/GetOrganizationManaged.php @@ -19,15 +19,26 @@ class GetOrganizationManaged extends \KatapultAPI\Core\Runtime\Client\BaseEndpoi * ## Scopes * - `managed_organizations`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * * @var string $organization[id] All 'organization[]' params are mutually exclusive, only one can be provided * @var string $organization[sub_domain] All 'organization[]' params are mutually exclusive, only one can be provided - * @var string $annotations[key] An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided. - * @var string $annotations[value] An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @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. + * } */ public function __construct(array $queryParameters = []) { @@ -57,13 +68,13 @@ public function getExtraHeaders(): array protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver { $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['organization[id]', 'organization[sub_domain]', 'annotations[key]', 'annotations[value]', 'page', 'per_page']); + $optionsResolver->setDefined(['organization[id]', 'organization[sub_domain]', 'annotations[][ke', 'annotations[][valu', 'page', 'per_page']); $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); $optionsResolver->addAllowedTypes('organization[id]', ['string']); $optionsResolver->addAllowedTypes('organization[sub_domain]', ['string']); - $optionsResolver->addAllowedTypes('annotations[key]', ['string']); - $optionsResolver->addAllowedTypes('annotations[value]', ['string']); + $optionsResolver->addAllowedTypes('annotations[][ke', ['array']); + $optionsResolver->addAllowedTypes('annotations[][valu', ['array']); $optionsResolver->addAllowedTypes('page', ['int']); $optionsResolver->addAllowedTypes('per_page', ['int']); @@ -105,6 +116,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetOrganizationNetworkSpeedProfiles.php b/src/Core/Endpoint/GetOrganizationNetworkSpeedProfiles.php index 430d0566..eb91690d 100644 --- a/src/Core/Endpoint/GetOrganizationNetworkSpeedProfiles.php +++ b/src/Core/Endpoint/GetOrganizationNetworkSpeedProfiles.php @@ -19,11 +19,15 @@ class GetOrganizationNetworkSpeedProfiles extends \KatapultAPI\Core\Runtime\Clie * * @param array $queryParameters { * - * @var string $organization[id] The organization to use when looking up network speed profiles. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $organization[sub_domain] The organization to use when looking up network speed profiles. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @var string $organization[id] The organization to use when looking up network speed profiles. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[sub_domain] The organization to use when looking up network speed profiles. + * + * 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. + * } */ public function __construct(array $queryParameters = []) { @@ -55,7 +59,7 @@ protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver $optionsResolver = parent::getQueryOptionsResolver(); $optionsResolver->setDefined(['organization[id]', 'organization[sub_domain]', 'page', 'per_page']); $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); $optionsResolver->addAllowedTypes('organization[id]', ['string']); $optionsResolver->addAllowedTypes('organization[sub_domain]', ['string']); $optionsResolver->addAllowedTypes('page', ['int']); @@ -99,6 +103,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetOrganizationPolicy.php b/src/Core/Endpoint/GetOrganizationPolicy.php index ea6aec94..905ffb3e 100644 --- a/src/Core/Endpoint/GetOrganizationPolicy.php +++ b/src/Core/Endpoint/GetOrganizationPolicy.php @@ -19,6 +19,9 @@ class GetOrganizationPolicy extends \KatapultAPI\Core\Runtime\Client\BaseEndpoin * ## Scopes * - `organizations:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * * @var string $organization[id] All 'organization[]' params are mutually exclusive, only one can be provided @@ -97,6 +100,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetOrganizationPolicyLimits.php b/src/Core/Endpoint/GetOrganizationPolicyLimits.php index 90901ed8..4b5eb734 100644 --- a/src/Core/Endpoint/GetOrganizationPolicyLimits.php +++ b/src/Core/Endpoint/GetOrganizationPolicyLimits.php @@ -19,6 +19,9 @@ class GetOrganizationPolicyLimits extends \KatapultAPI\Core\Runtime\Client\BaseE * ## Scopes * - `organizations:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * * @var string $organization[id] All 'organization[]' params are mutually exclusive, only one can be provided @@ -97,6 +100,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetOrganizationPrices.php b/src/Core/Endpoint/GetOrganizationPrices.php index 58ff5c0e..fd9dc6aa 100644 --- a/src/Core/Endpoint/GetOrganizationPrices.php +++ b/src/Core/Endpoint/GetOrganizationPrices.php @@ -19,6 +19,9 @@ class GetOrganizationPrices extends \KatapultAPI\Core\Runtime\Client\BaseEndpoin * ## Scopes * - `organizations:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * * @var string $organization[id] All 'organization[]' params are mutually exclusive, only one can be provided @@ -97,6 +100,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetOrganizationSecurityGroups.php b/src/Core/Endpoint/GetOrganizationSecurityGroups.php index 69371849..566b8901 100644 --- a/src/Core/Endpoint/GetOrganizationSecurityGroups.php +++ b/src/Core/Endpoint/GetOrganizationSecurityGroups.php @@ -20,15 +20,30 @@ class GetOrganizationSecurityGroups extends \KatapultAPI\Core\Runtime\Client\Bas * - `security_groups` * - `security_groups: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 to return all security groups for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $organization[sub_domain] The organization to return all security groups for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $annotations[key] An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided. - * @var string $annotations[value] An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @var string $organization[id] The organization to return all security groups for. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[sub_domain] The organization to return all security groups for. + * + * 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. + * } */ public function __construct(array $queryParameters = []) { @@ -58,13 +73,13 @@ public function getExtraHeaders(): array protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver { $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['organization[id]', 'organization[sub_domain]', 'annotations[key]', 'annotations[value]', 'page', 'per_page']); + $optionsResolver->setDefined(['organization[id]', 'organization[sub_domain]', 'annotations[][ke', 'annotations[][valu', 'page', 'per_page']); $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); $optionsResolver->addAllowedTypes('organization[id]', ['string']); $optionsResolver->addAllowedTypes('organization[sub_domain]', ['string']); - $optionsResolver->addAllowedTypes('annotations[key]', ['string']); - $optionsResolver->addAllowedTypes('annotations[value]', ['string']); + $optionsResolver->addAllowedTypes('annotations[][ke', ['array']); + $optionsResolver->addAllowedTypes('annotations[][valu', ['array']); $optionsResolver->addAllowedTypes('page', ['int']); $optionsResolver->addAllowedTypes('per_page', ['int']); @@ -106,6 +121,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetOrganizationSshKeys.php b/src/Core/Endpoint/GetOrganizationSshKeys.php index 3ab622af..7a84904a 100644 --- a/src/Core/Endpoint/GetOrganizationSshKeys.php +++ b/src/Core/Endpoint/GetOrganizationSshKeys.php @@ -19,11 +19,15 @@ class GetOrganizationSshKeys extends \KatapultAPI\Core\Runtime\Client\BaseEndpoi * * @param array $queryParameters { * - * @var string $organization[id] The organization to list SSH keys for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $organization[sub_domain] The organization to list SSH keys for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @var string $organization[id] The organization to list SSH keys for. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[sub_domain] The organization to list SSH keys for. + * + * 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. + * } */ public function __construct(array $queryParameters = []) { @@ -55,7 +59,7 @@ protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver $optionsResolver = parent::getQueryOptionsResolver(); $optionsResolver->setDefined(['organization[id]', 'organization[sub_domain]', 'page', 'per_page']); $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); $optionsResolver->addAllowedTypes('organization[id]', ['string']); $optionsResolver->addAllowedTypes('organization[sub_domain]', ['string']); $optionsResolver->addAllowedTypes('page', ['int']); @@ -99,6 +103,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetOrganizationTags.php b/src/Core/Endpoint/GetOrganizationTags.php index 76bfd644..44c57c2e 100644 --- a/src/Core/Endpoint/GetOrganizationTags.php +++ b/src/Core/Endpoint/GetOrganizationTags.php @@ -20,13 +20,20 @@ class GetOrganizationTags extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint * - `tags` * - `tags: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 to list the tags for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $organization[sub_domain] The organization to list the tags for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @var string $organization[id] The organization to list the tags for. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[sub_domain] The organization to list the tags for. + * + * 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. + * } */ public function __construct(array $queryParameters = []) { @@ -58,7 +65,7 @@ protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver $optionsResolver = parent::getQueryOptionsResolver(); $optionsResolver->setDefined(['organization[id]', 'organization[sub_domain]', 'page', 'per_page']); $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); $optionsResolver->addAllowedTypes('organization[id]', ['string']); $optionsResolver->addAllowedTypes('organization[sub_domain]', ['string']); $optionsResolver->addAllowedTypes('page', ['int']); @@ -102,6 +109,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetOrganizationTrashObjects.php b/src/Core/Endpoint/GetOrganizationTrashObjects.php index b4203bee..6b37656b 100644 --- a/src/Core/Endpoint/GetOrganizationTrashObjects.php +++ b/src/Core/Endpoint/GetOrganizationTrashObjects.php @@ -19,13 +19,20 @@ class GetOrganizationTrashObjects extends \KatapultAPI\Core\Runtime\Client\BaseE * ## Scopes * - `trash_objects: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 to find all trash objects for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $organization[sub_domain] The organization to find all trash objects for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @var string $organization[id] The organization to find all trash objects for. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[sub_domain] The organization to find all trash objects for. + * + * 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. + * } */ public function __construct(array $queryParameters = []) { @@ -57,7 +64,7 @@ protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver $optionsResolver = parent::getQueryOptionsResolver(); $optionsResolver->setDefined(['organization[id]', 'organization[sub_domain]', 'page', 'per_page']); $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); $optionsResolver->addAllowedTypes('organization[id]', ['string']); $optionsResolver->addAllowedTypes('organization[sub_domain]', ['string']); $optionsResolver->addAllowedTypes('page', ['int']); @@ -101,6 +108,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetOrganizationUsersWithAccess.php b/src/Core/Endpoint/GetOrganizationUsersWithAccess.php index 7e66cb96..aa34335e 100644 --- a/src/Core/Endpoint/GetOrganizationUsersWithAccess.php +++ b/src/Core/Endpoint/GetOrganizationUsersWithAccess.php @@ -24,12 +24,15 @@ class GetOrganizationUsersWithAccess extends \KatapultAPI\Core\Runtime\Client\Ba * ## Scopes * - `organizations:read` * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * * @var string $organization[id] All 'organization[]' params are mutually exclusive, only one can be provided * @var string $organization[sub_domain] All 'organization[]' params are mutually exclusive, only one can be provided - * @var int $page - * @var int $per_page + * @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 = []) @@ -62,7 +65,7 @@ protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver $optionsResolver = parent::getQueryOptionsResolver(); $optionsResolver->setDefined(['organization[id]', 'organization[sub_domain]', 'page', 'per_page']); $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); $optionsResolver->addAllowedTypes('organization[id]', ['string']); $optionsResolver->addAllowedTypes('organization[sub_domain]', ['string']); $optionsResolver->addAllowedTypes('page', ['int']); @@ -106,6 +109,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetOrganizationVirtualMachineGroups.php b/src/Core/Endpoint/GetOrganizationVirtualMachineGroups.php index 774850eb..f7a4b395 100644 --- a/src/Core/Endpoint/GetOrganizationVirtualMachineGroups.php +++ b/src/Core/Endpoint/GetOrganizationVirtualMachineGroups.php @@ -20,11 +20,18 @@ class GetOrganizationVirtualMachineGroups extends \KatapultAPI\Core\Runtime\Clie * - `virtual_machine_groups` * - `virtual_machine_groups: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 to return groups for. All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $organization[sub_domain] The organization to return groups for. All 'organization[]' params are mutually exclusive, only one can be provided. - * } + * @var string $organization[id] The organization to return groups for. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[sub_domain] The organization to return groups for. + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * } */ public function __construct(array $queryParameters = []) { @@ -98,6 +105,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetOrganizationVirtualMachines.php b/src/Core/Endpoint/GetOrganizationVirtualMachines.php index 3d5ccf16..c5400791 100644 --- a/src/Core/Endpoint/GetOrganizationVirtualMachines.php +++ b/src/Core/Endpoint/GetOrganizationVirtualMachines.php @@ -20,15 +20,26 @@ class GetOrganizationVirtualMachines extends \KatapultAPI\Core\Runtime\Client\Ba * - `virtual_machines` * - `virtual_machines:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * * @var string $organization[id] All 'organization[]' params are mutually exclusive, only one can be provided * @var string $organization[sub_domain] All 'organization[]' params are mutually exclusive, only one can be provided - * @var string $annotations[key] An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided. - * @var string $annotations[value] An array of annotations to filter by. All 'annotations[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @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. + * } */ public function __construct(array $queryParameters = []) { @@ -58,13 +69,13 @@ public function getExtraHeaders(): array protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver\OptionsResolver { $optionsResolver = parent::getQueryOptionsResolver(); - $optionsResolver->setDefined(['organization[id]', 'organization[sub_domain]', 'annotations[key]', 'annotations[value]', 'page', 'per_page']); + $optionsResolver->setDefined(['organization[id]', 'organization[sub_domain]', 'annotations[][ke', 'annotations[][valu', 'page', 'per_page']); $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); $optionsResolver->addAllowedTypes('organization[id]', ['string']); $optionsResolver->addAllowedTypes('organization[sub_domain]', ['string']); - $optionsResolver->addAllowedTypes('annotations[key]', ['string']); - $optionsResolver->addAllowedTypes('annotations[value]', ['string']); + $optionsResolver->addAllowedTypes('annotations[][ke', ['array']); + $optionsResolver->addAllowedTypes('annotations[][valu', ['array']); $optionsResolver->addAllowedTypes('page', ['int']); $optionsResolver->addAllowedTypes('per_page', ['int']); @@ -106,6 +117,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetOrganizationVirtualNetworks.php b/src/Core/Endpoint/GetOrganizationVirtualNetworks.php new file mode 100644 index 00000000..633c90e7 --- /dev/null +++ b/src/Core/Endpoint/GetOrganizationVirtualNetworks.php @@ -0,0 +1,114 @@ +queryParameters = $queryParameters; + } + + public function getMethod(): string + { + return 'GET'; + } + + public function getUri(): string + { + return '/organizations/organization/virtual_networks'; + } + + 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\OrganizationsOrganizationVirtualNetworksGetResponse200|null + * + * @throws \KatapultAPI\Core\Exception\GetOrganizationVirtualNetworksBadRequestException + * @throws \KatapultAPI\Core\Exception\GetOrganizationVirtualNetworksForbiddenException + * @throws \KatapultAPI\Core\Exception\GetOrganizationVirtualNetworksNotFoundException + * @throws \KatapultAPI\Core\Exception\GetOrganizationVirtualNetworksTooManyRequestsException + * @throws \KatapultAPI\Core\Exception\GetOrganizationVirtualNetworksServiceUnavailableException + */ + 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\OrganizationsOrganizationVirtualNetworksGetResponse200', 'json'); + } + if (is_null($contentType) === false && (400 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\GetOrganizationVirtualNetworksBadRequestException($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\GetOrganizationVirtualNetworksForbiddenException($response); + } + if (is_null($contentType) === false && (404 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\GetOrganizationVirtualNetworksNotFoundException($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\GetOrganizationVirtualNetworksTooManyRequestsException($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\GetOrganizationVirtualNetworksServiceUnavailableException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response', 'json'), $response); + } + } + + public function getAuthenticationScopes(): array + { + return ['OAuth2', 'Authenticator']; + } +} diff --git a/src/Core/Endpoint/GetOrganizations.php b/src/Core/Endpoint/GetOrganizations.php index b3fbde7c..096f8cd8 100644 --- a/src/Core/Endpoint/GetOrganizations.php +++ b/src/Core/Endpoint/GetOrganizations.php @@ -65,6 +65,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetSecurityGroup.php b/src/Core/Endpoint/GetSecurityGroup.php index 70f0cea1..28eb5e55 100644 --- a/src/Core/Endpoint/GetSecurityGroup.php +++ b/src/Core/Endpoint/GetSecurityGroup.php @@ -20,10 +20,15 @@ class GetSecurityGroup extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint imp * - `security_groups` * - `security_groups:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @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. - * } + * @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 = []) { @@ -96,6 +101,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetSecurityGroupRules.php b/src/Core/Endpoint/GetSecurityGroupRules.php index b43d5d28..43ac62be 100644 --- a/src/Core/Endpoint/GetSecurityGroupRules.php +++ b/src/Core/Endpoint/GetSecurityGroupRules.php @@ -20,12 +20,17 @@ class GetSecurityGroupRules extends \KatapultAPI\Core\Runtime\Client\BaseEndpoin * - `security_groups` * - `security_groups:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @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 - * @var int $per_page - * } + * @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. + * } */ public function __construct(array $queryParameters = []) { @@ -57,7 +62,7 @@ protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver $optionsResolver = parent::getQueryOptionsResolver(); $optionsResolver->setDefined(['security_group[id]', 'page', 'per_page']); $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); $optionsResolver->addAllowedTypes('security_group[id]', ['string']); $optionsResolver->addAllowedTypes('page', ['int']); $optionsResolver->addAllowedTypes('per_page', ['int']); @@ -100,6 +105,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetSecurityGroupsRulesSecurityGroupRule.php b/src/Core/Endpoint/GetSecurityGroupsRulesSecurityGroupRule.php index 84033d00..84e7a881 100644 --- a/src/Core/Endpoint/GetSecurityGroupsRulesSecurityGroupRule.php +++ b/src/Core/Endpoint/GetSecurityGroupsRulesSecurityGroupRule.php @@ -20,10 +20,15 @@ class GetSecurityGroupsRulesSecurityGroupRule extends \KatapultAPI\Core\Runtime\ * - `security_groups` * - `security_groups:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @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. - * } + * @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 = []) { @@ -96,6 +101,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetTag.php b/src/Core/Endpoint/GetTag.php index 69ad83f5..e8b79433 100644 --- a/src/Core/Endpoint/GetTag.php +++ b/src/Core/Endpoint/GetTag.php @@ -20,10 +20,15 @@ class GetTag extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint implements \K * - `tags` * - `tags:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @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. - * } + * @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 = []) { @@ -96,6 +101,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetTask.php b/src/Core/Endpoint/GetTask.php index 7de749ee..cd7362e8 100644 --- a/src/Core/Endpoint/GetTask.php +++ b/src/Core/Endpoint/GetTask.php @@ -20,6 +20,9 @@ class GetTask extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint implements \ * - `tasks` * - `tasks:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * * @var string $task[id] All 'task[]' params are mutually exclusive, only one can be provided. @@ -96,6 +99,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetTrashObject.php b/src/Core/Endpoint/GetTrashObject.php index f3ec3877..481f78d9 100644 --- a/src/Core/Endpoint/GetTrashObject.php +++ b/src/Core/Endpoint/GetTrashObject.php @@ -19,11 +19,18 @@ class GetTrashObject extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint imple * ## Scopes * - `trash_objects:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * - * @var string $trash_object[id] The trash object to find. All 'trash_object[]' params are mutually exclusive, only one can be provided. - * @var string $trash_object[object_id] The trash object to find. All 'trash_object[]' params are mutually exclusive, only one can be provided. - * } + * @var string $trash_object[id] The trash object to find. + * + * All 'trash_object[]' params are mutually exclusive, only one can be provided. + * @var string $trash_object[object_id] The trash object to find. + * + * All 'trash_object[]' params are mutually exclusive, only one can be provided. + * } */ public function __construct(array $queryParameters = []) { @@ -97,6 +104,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetUsersCurrent.php b/src/Core/Endpoint/GetUsersCurrent.php index 18f0927c..98c67b71 100644 --- a/src/Core/Endpoint/GetUsersCurrent.php +++ b/src/Core/Endpoint/GetUsersCurrent.php @@ -69,6 +69,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetVMNIVMNI.php b/src/Core/Endpoint/GetVMNIVMNI.php index 6554e527..9a7da413 100644 --- a/src/Core/Endpoint/GetVMNIVMNI.php +++ b/src/Core/Endpoint/GetVMNIVMNI.php @@ -20,10 +20,15 @@ class GetVMNIVMNI extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint implemen * - `virtual_machines` * - `virtual_machines:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @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. - * } + * @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 = []) { @@ -96,6 +101,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetVirtualMachine.php b/src/Core/Endpoint/GetVirtualMachine.php index 544e3c65..d5dd620e 100644 --- a/src/Core/Endpoint/GetVirtualMachine.php +++ b/src/Core/Endpoint/GetVirtualMachine.php @@ -20,6 +20,9 @@ class GetVirtualMachine extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint im * - `virtual_machines` * - `virtual_machines:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * * @var string $virtual_machine[id] All 'virtual_machine[]' params are mutually exclusive, only one can be provided @@ -102,6 +105,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetVirtualMachineAuthorizedKeys.php b/src/Core/Endpoint/GetVirtualMachineAuthorizedKeys.php index 6b5b255c..2771f100 100644 --- a/src/Core/Endpoint/GetVirtualMachineAuthorizedKeys.php +++ b/src/Core/Endpoint/GetVirtualMachineAuthorizedKeys.php @@ -20,6 +20,9 @@ class GetVirtualMachineAuthorizedKeys extends \KatapultAPI\Core\Runtime\Client\B * ## Scopes * - `virtual_machines:authorized_keys`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $accept Accept content header text/plain|application/json */ public function __construct(array $accept = []) @@ -85,6 +88,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetVirtualMachineDiskBackupPolicies.php b/src/Core/Endpoint/GetVirtualMachineDiskBackupPolicies.php index 9685f45a..5b3d140f 100644 --- a/src/Core/Endpoint/GetVirtualMachineDiskBackupPolicies.php +++ b/src/Core/Endpoint/GetVirtualMachineDiskBackupPolicies.php @@ -20,14 +20,21 @@ class GetVirtualMachineDiskBackupPolicies extends \KatapultAPI\Core\Runtime\Clie * - `disk_backup_policies` * - `disk_backup_policies:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * - * @var string $virtual_machine[id] The virtual machine to return disk backup policies for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided. - * @var string $virtual_machine[fqdn] The virtual machine to return disk backup policies for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided. - * @var bool $include_disks 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 - * @var int $page - * @var int $per_page - * } + * @var string $virtual_machine[id] The virtual machine to return disk backup policies for. + * + * All 'virtual_machine[]' params are mutually exclusive, only one can be provided. + * @var string $virtual_machine[fqdn] The virtual machine to return disk backup policies for. + * + * All 'virtual_machine[]' params are mutually exclusive, only one can be provided. + * @var bool $include_disks 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 + * @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 = []) { @@ -59,7 +66,7 @@ protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver $optionsResolver = parent::getQueryOptionsResolver(); $optionsResolver->setDefined(['virtual_machine[id]', 'virtual_machine[fqdn]', 'include_disks', 'page', 'per_page']); $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); $optionsResolver->addAllowedTypes('virtual_machine[id]', ['string']); $optionsResolver->addAllowedTypes('virtual_machine[fqdn]', ['string']); $optionsResolver->addAllowedTypes('include_disks', ['bool']); @@ -108,6 +115,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetVirtualMachineDisks.php b/src/Core/Endpoint/GetVirtualMachineDisks.php index c205af6e..97f23c53 100644 --- a/src/Core/Endpoint/GetVirtualMachineDisks.php +++ b/src/Core/Endpoint/GetVirtualMachineDisks.php @@ -20,13 +20,20 @@ class GetVirtualMachineDisks extends \KatapultAPI\Core\Runtime\Client\BaseEndpoi * - `disks` * - `disks:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * - * @var string $virtual_machine[id] The virtual machine to find disks for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided. - * @var string $virtual_machine[fqdn] The virtual machine to find disks for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @var string $virtual_machine[id] The virtual machine to find disks for. + * + * All 'virtual_machine[]' params are mutually exclusive, only one can be provided. + * @var string $virtual_machine[fqdn] The virtual machine to find disks for. + * + * All 'virtual_machine[]' 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. + * } */ public function __construct(array $queryParameters = []) { @@ -58,7 +65,7 @@ protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver $optionsResolver = parent::getQueryOptionsResolver(); $optionsResolver->setDefined(['virtual_machine[id]', 'virtual_machine[fqdn]', 'page', 'per_page']); $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); $optionsResolver->addAllowedTypes('virtual_machine[id]', ['string']); $optionsResolver->addAllowedTypes('virtual_machine[fqdn]', ['string']); $optionsResolver->addAllowedTypes('page', ['int']); @@ -106,6 +113,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetVirtualMachineGroup.php b/src/Core/Endpoint/GetVirtualMachineGroup.php index b88348f0..9fb9a8a1 100644 --- a/src/Core/Endpoint/GetVirtualMachineGroup.php +++ b/src/Core/Endpoint/GetVirtualMachineGroup.php @@ -20,10 +20,15 @@ class GetVirtualMachineGroup extends \KatapultAPI\Core\Runtime\Client\BaseEndpoi * - `virtual_machine_groups` * - `virtual_machine_groups:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @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. - * } + * @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 = []) { @@ -96,6 +101,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetVirtualMachineNetworkInterface.php b/src/Core/Endpoint/GetVirtualMachineNetworkInterface.php index 10d4b70a..b1b8d4d9 100644 --- a/src/Core/Endpoint/GetVirtualMachineNetworkInterface.php +++ b/src/Core/Endpoint/GetVirtualMachineNetworkInterface.php @@ -20,13 +20,24 @@ class GetVirtualMachineNetworkInterface extends \KatapultAPI\Core\Runtime\Client * - `virtual_machines` * - `virtual_machines:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * - * @var string $virtual_machine[id] The virtual machine to find the network interface for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided. - * @var string $virtual_machine[fqdn] The virtual machine to find the network interface for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided. - * @var string $network[id] The network to find the network interface for. All 'network[]' params are mutually exclusive, only one can be provided. - * @var string $network[permalink] The network to find the network interface for. All 'network[]' params are mutually exclusive, only one can be provided. - * } + * @var string $virtual_machine[id] The virtual machine to find the network interface for. + * + * All 'virtual_machine[]' params are mutually exclusive, only one can be provided. + * @var string $virtual_machine[fqdn] The virtual machine to find the network interface for. + * + * All 'virtual_machine[]' params are mutually exclusive, only one can be provided. + * @var string $network[id] The network to find the network interface for. + * + * All 'network[]' params are mutually exclusive, only one can be provided. + * @var string $network[permalink] The network to find the network interface for. + * + * All 'network[]' params are mutually exclusive, only one can be provided. + * } */ public function __construct(array $queryParameters = []) { @@ -106,6 +117,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetVirtualMachineNetworkInterfaceAvailableIpsAddressVersion.php b/src/Core/Endpoint/GetVirtualMachineNetworkInterfaceAvailableIpsAddressVersion.php index 20971e3c..14f8e5e4 100644 --- a/src/Core/Endpoint/GetVirtualMachineNetworkInterfaceAvailableIpsAddressVersion.php +++ b/src/Core/Endpoint/GetVirtualMachineNetworkInterfaceAvailableIpsAddressVersion.php @@ -20,9 +20,14 @@ class GetVirtualMachineNetworkInterfaceAvailableIpsAddressVersion extends \Katap * - `ip_addresses` * - `ip_addresses:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @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. + * + * All 'virtual_machine_network_interface[]' params are mutually exclusive, only one can be provided. * @var string $address_version The IP address version to return results for * } */ @@ -98,6 +103,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetVirtualMachineNetworkInterfaces.php b/src/Core/Endpoint/GetVirtualMachineNetworkInterfaces.php index d230b37d..0391be79 100644 --- a/src/Core/Endpoint/GetVirtualMachineNetworkInterfaces.php +++ b/src/Core/Endpoint/GetVirtualMachineNetworkInterfaces.php @@ -20,13 +20,20 @@ class GetVirtualMachineNetworkInterfaces extends \KatapultAPI\Core\Runtime\Clien * - `virtual_machines` * - `virtual_machines:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * - * @var string $virtual_machine[id] The virtual machine to show network interfaces for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided. - * @var string $virtual_machine[fqdn] The virtual machine to show network interfaces for. All 'virtual_machine[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @var string $virtual_machine[id] The virtual machine to show network interfaces for. + * + * All 'virtual_machine[]' params are mutually exclusive, only one can be provided. + * @var string $virtual_machine[fqdn] The virtual machine to show network interfaces for. + * + * All 'virtual_machine[]' 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. + * } */ public function __construct(array $queryParameters = []) { @@ -58,7 +65,7 @@ protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver $optionsResolver = parent::getQueryOptionsResolver(); $optionsResolver->setDefined(['virtual_machine[id]', 'virtual_machine[fqdn]', 'page', 'per_page']); $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); $optionsResolver->addAllowedTypes('virtual_machine[id]', ['string']); $optionsResolver->addAllowedTypes('virtual_machine[fqdn]', ['string']); $optionsResolver->addAllowedTypes('page', ['int']); @@ -106,6 +113,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetVirtualMachinePackage.php b/src/Core/Endpoint/GetVirtualMachinePackage.php index 740da407..77fa47b8 100644 --- a/src/Core/Endpoint/GetVirtualMachinePackage.php +++ b/src/Core/Endpoint/GetVirtualMachinePackage.php @@ -19,6 +19,9 @@ class GetVirtualMachinePackage extends \KatapultAPI\Core\Runtime\Client\BaseEndp * ## Scopes * - `virtual_machine_packages:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * * @var string $virtual_machine_package[id] All 'virtual_machine_package[]' params are mutually exclusive, only one can be provided @@ -97,6 +100,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetVirtualMachinePackages.php b/src/Core/Endpoint/GetVirtualMachinePackages.php index 53b26f37..0c7eebc3 100644 --- a/src/Core/Endpoint/GetVirtualMachinePackages.php +++ b/src/Core/Endpoint/GetVirtualMachinePackages.php @@ -19,13 +19,20 @@ class GetVirtualMachinePackages extends \KatapultAPI\Core\Runtime\Client\BaseEnd * ## Scopes * - `virtual_machine_packages:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * - * @var string $organization[id] Provide an organization to only show packages available to the given organization (otherwise only public packages will be displayed). All 'organization[]' params are mutually exclusive, only one can be provided. - * @var string $organization[sub_domain] Provide an organization to only show packages available to the given organization (otherwise only public packages will be displayed). All 'organization[]' params are mutually exclusive, only one can be provided. - * @var int $page - * @var int $per_page - * } + * @var string $organization[id] Provide an organization to only show packages available to the given organization (otherwise only public packages will be displayed). + * + * All 'organization[]' params are mutually exclusive, only one can be provided. + * @var string $organization[sub_domain] Provide an organization to only show packages available to the given organization (otherwise only public packages will be displayed). + * + * 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. + * } */ public function __construct(array $queryParameters = []) { @@ -57,7 +64,7 @@ protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver $optionsResolver = parent::getQueryOptionsResolver(); $optionsResolver->setDefined(['organization[id]', 'organization[sub_domain]', 'page', 'per_page']); $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); $optionsResolver->addAllowedTypes('organization[id]', ['string']); $optionsResolver->addAllowedTypes('organization[sub_domain]', ['string']); $optionsResolver->addAllowedTypes('page', ['int']); @@ -101,6 +108,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetVirtualMachinesBuildsVirtualMachineBuild.php b/src/Core/Endpoint/GetVirtualMachinesBuildsVirtualMachineBuild.php index c4f27c7e..b10f617a 100644 --- a/src/Core/Endpoint/GetVirtualMachinesBuildsVirtualMachineBuild.php +++ b/src/Core/Endpoint/GetVirtualMachinesBuildsVirtualMachineBuild.php @@ -20,6 +20,9 @@ class GetVirtualMachinesBuildsVirtualMachineBuild extends \KatapultAPI\Core\Runt * - `virtual_machines` * - `virtual_machines:read`. * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. + * * @param array $queryParameters { * * @var string $virtual_machine_build[id] All 'virtual_machine_build[]' params are mutually exclusive, only one can be provided. @@ -96,6 +99,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetVirtualNetwork.php b/src/Core/Endpoint/GetVirtualNetwork.php new file mode 100644 index 00000000..41353e78 --- /dev/null +++ b/src/Core/Endpoint/GetVirtualNetwork.php @@ -0,0 +1,106 @@ +queryParameters = $queryParameters; + } + + public function getMethod(): string + { + return 'GET'; + } + + public function getUri(): string + { + return '/virtual_networks/virtual_network'; + } + + 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(['virtual_network[id]']); + $optionsResolver->setRequired([]); + $optionsResolver->setDefaults([]); + $optionsResolver->addAllowedTypes('virtual_network[id]', ['string']); + + return $optionsResolver; + } + + /** + * @return \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkGetResponse200|null + * + * @throws \KatapultAPI\Core\Exception\GetVirtualNetworkBadRequestException + * @throws \KatapultAPI\Core\Exception\GetVirtualNetworkForbiddenException + * @throws \KatapultAPI\Core\Exception\GetVirtualNetworkNotFoundException + * @throws \KatapultAPI\Core\Exception\GetVirtualNetworkTooManyRequestsException + * @throws \KatapultAPI\Core\Exception\GetVirtualNetworkServiceUnavailableException + */ + 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\VirtualNetworksVirtualNetworkGetResponse200', 'json'); + } + if (is_null($contentType) === false && (400 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\GetVirtualNetworkBadRequestException($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\GetVirtualNetworkForbiddenException($response); + } + if (is_null($contentType) === false && (404 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\GetVirtualNetworkNotFoundException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseVirtualNetworkNotFoundResponse', 'json'), $response); + } + if (is_null($contentType) === false && (429 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\GetVirtualNetworkTooManyRequestsException($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\GetVirtualNetworkServiceUnavailableException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response', 'json'), $response); + } + } + + public function getAuthenticationScopes(): array + { + return ['OAuth2', 'Authenticator']; + } +} diff --git a/src/Core/Endpoint/GetZone.php b/src/Core/Endpoint/GetZone.php index b7dd5a29..87e76fc7 100644 --- a/src/Core/Endpoint/GetZone.php +++ b/src/Core/Endpoint/GetZone.php @@ -19,9 +19,13 @@ class GetZone extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint implements \ * * @param array $queryParameters { * - * @var string $zone[id] The zone to find. All 'zone[]' params are mutually exclusive, only one can be provided. - * @var string $zone[permalink] The zone to find. All 'zone[]' params are mutually exclusive, only one can be provided. - * } + * @var string $zone[id] The zone to find. + * + * All 'zone[]' params are mutually exclusive, only one can be provided. + * @var string $zone[permalink] The zone to find. + * + * All 'zone[]' params are mutually exclusive, only one can be provided. + * } */ public function __construct(array $queryParameters = []) { @@ -95,6 +99,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/GetZones.php b/src/Core/Endpoint/GetZones.php index 297dc38c..90f8f164 100644 --- a/src/Core/Endpoint/GetZones.php +++ b/src/Core/Endpoint/GetZones.php @@ -65,6 +65,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PatchAddressList.php b/src/Core/Endpoint/PatchAddressList.php index c70a40a2..daef0b4f 100644 --- a/src/Core/Endpoint/PatchAddressList.php +++ b/src/Core/Endpoint/PatchAddressList.php @@ -18,6 +18,9 @@ class PatchAddressList extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint imp * Update a address list with new properties. * ## Scopes * - `address_lists`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\AddressListsAddressListPatchBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PatchAddressListEntry.php b/src/Core/Endpoint/PatchAddressListEntry.php index 2e769f53..f154ccfb 100644 --- a/src/Core/Endpoint/PatchAddressListEntry.php +++ b/src/Core/Endpoint/PatchAddressListEntry.php @@ -18,6 +18,9 @@ class PatchAddressListEntry extends \KatapultAPI\Core\Runtime\Client\BaseEndpoin * Update an address list entry with new properties. * ## Scopes * - `address_lists`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\AddressListEntriesAddressListEntryPatchBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PatchApiToken.php b/src/Core/Endpoint/PatchApiToken.php index 97a4f5d8..01e4a332 100644 --- a/src/Core/Endpoint/PatchApiToken.php +++ b/src/Core/Endpoint/PatchApiToken.php @@ -18,6 +18,9 @@ class PatchApiToken extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint implem * Updates an organization API token with new properties * ## Scopes * - `api_tokens`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\ApiTokensApiTokenPatchBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PatchDisk.php b/src/Core/Endpoint/PatchDisk.php index 5c413c9b..1d11d8e1 100644 --- a/src/Core/Endpoint/PatchDisk.php +++ b/src/Core/Endpoint/PatchDisk.php @@ -18,6 +18,9 @@ class PatchDisk extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint implements * Update a disk for a given organization. * ## Scopes * - `disks`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\DisksDiskPatchBody $requestBody = null) { @@ -91,6 +94,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PatchDiskBackupPolicy.php b/src/Core/Endpoint/PatchDiskBackupPolicy.php index e4e82281..59a999f0 100644 --- a/src/Core/Endpoint/PatchDiskBackupPolicy.php +++ b/src/Core/Endpoint/PatchDiskBackupPolicy.php @@ -18,6 +18,9 @@ class PatchDiskBackupPolicy extends \KatapultAPI\Core\Runtime\Client\BaseEndpoin * Updates the disk backup policy with the provided details * ## Scopes * - `disk_backup_policies`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\DiskBackupPoliciesDiskBackupPolicyPatchBody $requestBody = null) { @@ -91,6 +94,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PatchDnsRecord.php b/src/Core/Endpoint/PatchDnsRecord.php index 5d0bc0ce..ce4b320a 100644 --- a/src/Core/Endpoint/PatchDnsRecord.php +++ b/src/Core/Endpoint/PatchDnsRecord.php @@ -18,6 +18,9 @@ class PatchDnsRecord extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint imple * Update a DNS record properties * ## Scopes * - `dns`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\DnsRecordsDnsRecordPatchBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PatchDnsZone.php b/src/Core/Endpoint/PatchDnsZone.php index 146efee7..28f12163 100644 --- a/src/Core/Endpoint/PatchDnsZone.php +++ b/src/Core/Endpoint/PatchDnsZone.php @@ -18,6 +18,9 @@ class PatchDnsZone extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint impleme * Update properties for a DNS zone * ## Scopes * - `dns`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\DnsZonesDnsZonePatchBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PatchFileStorageVolume.php b/src/Core/Endpoint/PatchFileStorageVolume.php index bb3b8128..68393263 100644 --- a/src/Core/Endpoint/PatchFileStorageVolume.php +++ b/src/Core/Endpoint/PatchFileStorageVolume.php @@ -18,6 +18,9 @@ class PatchFileStorageVolume extends \KatapultAPI\Core\Runtime\Client\BaseEndpoi * Update a file storage volume with new properties. * ## Scopes * - `file_storage_volumes`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\FileStorageVolumesFileStorageVolumePatchBody $requestBody = null) { @@ -91,6 +94,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PatchIpAddress.php b/src/Core/Endpoint/PatchIpAddress.php index 059dde0e..8382be1c 100644 --- a/src/Core/Endpoint/PatchIpAddress.php +++ b/src/Core/Endpoint/PatchIpAddress.php @@ -18,6 +18,9 @@ class PatchIpAddress extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint imple * Updates the details on an IP address * ## Scopes * - `ip_addresses`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\IpAddressesIpAddressPatchBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PatchLoadBalancer.php b/src/Core/Endpoint/PatchLoadBalancer.php index 8c46c335..8f6f27b1 100644 --- a/src/Core/Endpoint/PatchLoadBalancer.php +++ b/src/Core/Endpoint/PatchLoadBalancer.php @@ -18,6 +18,9 @@ class PatchLoadBalancer extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint im * Updates a load balancer with new properties * ## Scopes * - `load_balancers`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\LoadBalancersLoadBalancerPatchBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PatchLoadBalancersRulesLoadBalancerRule.php b/src/Core/Endpoint/PatchLoadBalancersRulesLoadBalancerRule.php index 646e45fc..83e3b468 100644 --- a/src/Core/Endpoint/PatchLoadBalancersRulesLoadBalancerRule.php +++ b/src/Core/Endpoint/PatchLoadBalancersRulesLoadBalancerRule.php @@ -18,6 +18,9 @@ class PatchLoadBalancersRulesLoadBalancerRule extends \KatapultAPI\Core\Runtime\ * Updates a load balancer rule with new properties * ## Scopes * - `load_balancers`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRulePatchBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PatchObjectStorageObjectStorageClusterBucket.php b/src/Core/Endpoint/PatchObjectStorageObjectStorageClusterBucket.php new file mode 100644 index 00000000..3cabf4ef --- /dev/null +++ b/src/Core/Endpoint/PatchObjectStorageObjectStorageClusterBucket.php @@ -0,0 +1,103 @@ +body = $requestBody; + } + + public function getMethod(): string + { + return 'PATCH'; + } + + public function getUri(): string + { + return '/object_storage/object_storage_cluster/buckets/bucket'; + } + + public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array + { + if ($this->body instanceof \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketPatchBody) { + return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; + } + + return [[], null]; + } + + public function getExtraHeaders(): array + { + return ['Accept' => ['application/json']]; + } + + /** + * @return \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketPatchResponse200|null + * + * @throws \KatapultAPI\Core\Exception\PatchObjectStorageObjectStorageClusterBucketBadRequestException + * @throws \KatapultAPI\Core\Exception\PatchObjectStorageObjectStorageClusterBucketForbiddenException + * @throws \KatapultAPI\Core\Exception\PatchObjectStorageObjectStorageClusterBucketNotFoundException + * @throws \KatapultAPI\Core\Exception\PatchObjectStorageObjectStorageClusterBucketNotAcceptableException + * @throws \KatapultAPI\Core\Exception\PatchObjectStorageObjectStorageClusterBucketUnprocessableEntityException + * @throws \KatapultAPI\Core\Exception\PatchObjectStorageObjectStorageClusterBucketTooManyRequestsException + * @throws \KatapultAPI\Core\Exception\PatchObjectStorageObjectStorageClusterBucketInternalServerErrorException + * @throws \KatapultAPI\Core\Exception\PatchObjectStorageObjectStorageClusterBucketServiceUnavailableException + */ + 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\ObjectStorageObjectStorageClusterBucketsBucketPatchResponse200', 'json'); + } + if (is_null($contentType) === false && (400 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PatchObjectStorageObjectStorageClusterBucketBadRequestException($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\PatchObjectStorageObjectStorageClusterBucketForbiddenException($response); + } + if (is_null($contentType) === false && (404 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PatchObjectStorageObjectStorageClusterBucketNotFoundException($response); + } + if (is_null($contentType) === false && (406 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PatchObjectStorageObjectStorageClusterBucketNotAcceptableException($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\PatchObjectStorageObjectStorageClusterBucketUnprocessableEntityException($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\PatchObjectStorageObjectStorageClusterBucketTooManyRequestsException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response', 'json'), $response); + } + if (is_null($contentType) === false && (500 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PatchObjectStorageObjectStorageClusterBucketInternalServerErrorException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseMultipleObjectStorageBucketsFoundResponse', 'json'), $response); + } + if (is_null($contentType) === false && (503 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PatchObjectStorageObjectStorageClusterBucketServiceUnavailableException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response', 'json'), $response); + } + } + + public function getAuthenticationScopes(): array + { + return ['OAuth2', 'Authenticator']; + } +} diff --git a/src/Core/Endpoint/PatchSecurityGroup.php b/src/Core/Endpoint/PatchSecurityGroup.php index f3fedc23..0cbe736d 100644 --- a/src/Core/Endpoint/PatchSecurityGroup.php +++ b/src/Core/Endpoint/PatchSecurityGroup.php @@ -18,6 +18,9 @@ class PatchSecurityGroup extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint i * Updates a security group with new properties * ## Scopes * - `security_groups`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\SecurityGroupsSecurityGroupPatchBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PatchSecurityGroupsRulesSecurityGroupRule.php b/src/Core/Endpoint/PatchSecurityGroupsRulesSecurityGroupRule.php index 79c6a6cf..d23de26f 100644 --- a/src/Core/Endpoint/PatchSecurityGroupsRulesSecurityGroupRule.php +++ b/src/Core/Endpoint/PatchSecurityGroupsRulesSecurityGroupRule.php @@ -18,6 +18,9 @@ class PatchSecurityGroupsRulesSecurityGroupRule extends \KatapultAPI\Core\Runtim * Updates a security group rule with new properties * ## Scopes * - `security_groups`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\SecurityGroupsRulesSecurityGroupRulePatchBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PatchTag.php b/src/Core/Endpoint/PatchTag.php index 0d7ea906..728b0cc2 100644 --- a/src/Core/Endpoint/PatchTag.php +++ b/src/Core/Endpoint/PatchTag.php @@ -18,6 +18,9 @@ class PatchTag extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint implements * Updates a tag with the provided properties * ## Scopes * - `tags`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\TagsTagPatchBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PatchVirtualMachine.php b/src/Core/Endpoint/PatchVirtualMachine.php index 87a7cfe8..94164605 100644 --- a/src/Core/Endpoint/PatchVirtualMachine.php +++ b/src/Core/Endpoint/PatchVirtualMachine.php @@ -18,6 +18,9 @@ class PatchVirtualMachine extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint * Update the properties of a virtual machine * ## Scopes * - `virtual_machines`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\VirtualMachinesVirtualMachinePatchBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PatchVirtualMachineGroup.php b/src/Core/Endpoint/PatchVirtualMachineGroup.php index ace85c84..b48cbbe6 100644 --- a/src/Core/Endpoint/PatchVirtualMachineGroup.php +++ b/src/Core/Endpoint/PatchVirtualMachineGroup.php @@ -18,6 +18,9 @@ class PatchVirtualMachineGroup extends \KatapultAPI\Core\Runtime\Client\BaseEndp * Update a virtual machine group with the provided details * ## Scopes * - `virtual_machine_groups`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\VirtualMachineGroupsVirtualMachineGroupPatchBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PatchVirtualMachineNetworkInterfaceUpdateSpeedProfile.php b/src/Core/Endpoint/PatchVirtualMachineNetworkInterfaceUpdateSpeedProfile.php index c83d3768..573c32d7 100644 --- a/src/Core/Endpoint/PatchVirtualMachineNetworkInterfaceUpdateSpeedProfile.php +++ b/src/Core/Endpoint/PatchVirtualMachineNetworkInterfaceUpdateSpeedProfile.php @@ -17,6 +17,9 @@ class PatchVirtualMachineNetworkInterfaceUpdateSpeedProfile extends \KatapultAPI /** * ## Scopes * - `virtual_machines`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceUpdateSpeedProfilePatchBody $requestBody = null) { @@ -90,6 +93,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PatchVirtualNetwork.php b/src/Core/Endpoint/PatchVirtualNetwork.php new file mode 100644 index 00000000..89150a56 --- /dev/null +++ b/src/Core/Endpoint/PatchVirtualNetwork.php @@ -0,0 +1,95 @@ +body = $requestBody; + } + + public function getMethod(): string + { + return 'PATCH'; + } + + public function getUri(): string + { + return '/virtual_networks/virtual_network'; + } + + public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array + { + if ($this->body instanceof \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkPatchBody) { + return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; + } + + return [[], null]; + } + + public function getExtraHeaders(): array + { + return ['Accept' => ['application/json']]; + } + + /** + * @return \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkPatchResponse200|null + * + * @throws \KatapultAPI\Core\Exception\PatchVirtualNetworkBadRequestException + * @throws \KatapultAPI\Core\Exception\PatchVirtualNetworkForbiddenException + * @throws \KatapultAPI\Core\Exception\PatchVirtualNetworkNotFoundException + * @throws \KatapultAPI\Core\Exception\PatchVirtualNetworkUnprocessableEntityException + * @throws \KatapultAPI\Core\Exception\PatchVirtualNetworkTooManyRequestsException + * @throws \KatapultAPI\Core\Exception\PatchVirtualNetworkServiceUnavailableException + */ + 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\VirtualNetworksVirtualNetworkPatchResponse200', 'json'); + } + if (is_null($contentType) === false && (400 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PatchVirtualNetworkBadRequestException($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\PatchVirtualNetworkForbiddenException($response); + } + if (is_null($contentType) === false && (404 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PatchVirtualNetworkNotFoundException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseVirtualNetworkNotFoundResponse', 'json'), $response); + } + if (is_null($contentType) === false && (422 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PatchVirtualNetworkUnprocessableEntityException($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\PatchVirtualNetworkTooManyRequestsException($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\PatchVirtualNetworkServiceUnavailableException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response', 'json'), $response); + } + } + + public function getAuthenticationScopes(): array + { + return ['OAuth2', 'Authenticator']; + } +} diff --git a/src/Core/Endpoint/PostAddressListEntries.php b/src/Core/Endpoint/PostAddressListEntries.php index 57df76e8..3356396d 100644 --- a/src/Core/Endpoint/PostAddressListEntries.php +++ b/src/Core/Endpoint/PostAddressListEntries.php @@ -18,6 +18,9 @@ class PostAddressListEntries extends \KatapultAPI\Core\Runtime\Client\BaseEndpoi * Create a new address list entry for a given address list. * ## Scopes * - `address_lists`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\AddressListsAddressListEntriesPostBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostAddressListEntriesBulk.php b/src/Core/Endpoint/PostAddressListEntriesBulk.php index 8df755b8..6e7cd9d6 100644 --- a/src/Core/Endpoint/PostAddressListEntriesBulk.php +++ b/src/Core/Endpoint/PostAddressListEntriesBulk.php @@ -18,6 +18,9 @@ class PostAddressListEntriesBulk extends \KatapultAPI\Core\Runtime\Client\BaseEn * Create or delete multiple address list entries for a given address list. * ## Scopes * - `address_lists`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\AddressListsAddressListEntriesBulkPostBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostApiTokenRegenerateSecret.php b/src/Core/Endpoint/PostApiTokenRegenerateSecret.php index d4125ae7..50d34a97 100644 --- a/src/Core/Endpoint/PostApiTokenRegenerateSecret.php +++ b/src/Core/Endpoint/PostApiTokenRegenerateSecret.php @@ -18,6 +18,9 @@ class PostApiTokenRegenerateSecret extends \KatapultAPI\Core\Runtime\Client\Base * Regenerates the secret for an organization API token * ## Scopes * - `api_tokens`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\ApiTokensApiTokenRegenerateSecretPostBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostDiskAssign.php b/src/Core/Endpoint/PostDiskAssign.php index 027cdec3..eeb1362c 100644 --- a/src/Core/Endpoint/PostDiskAssign.php +++ b/src/Core/Endpoint/PostDiskAssign.php @@ -18,6 +18,9 @@ class PostDiskAssign extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint imple * Assign a disk to a virtual machine. * ## Scopes * - `disks`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\DisksDiskAssignPostBody $requestBody = null) { @@ -91,6 +94,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostDiskAttach.php b/src/Core/Endpoint/PostDiskAttach.php index 768495e7..e1de7f64 100644 --- a/src/Core/Endpoint/PostDiskAttach.php +++ b/src/Core/Endpoint/PostDiskAttach.php @@ -18,6 +18,9 @@ class PostDiskAttach extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint imple * Attach a disk to its virtual machine. * ## Scopes * - `disks`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\DisksDiskAttachPostBody $requestBody = null) { @@ -91,6 +94,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostDiskDetach.php b/src/Core/Endpoint/PostDiskDetach.php index f51e914c..4b40284b 100644 --- a/src/Core/Endpoint/PostDiskDetach.php +++ b/src/Core/Endpoint/PostDiskDetach.php @@ -18,6 +18,9 @@ class PostDiskDetach extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint imple * Detach a disk from its virtual machine. * ## Scopes * - `disks`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\DisksDiskDetachPostBody $requestBody = null) { @@ -91,6 +94,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostDiskDiskBackupPolicies.php b/src/Core/Endpoint/PostDiskDiskBackupPolicies.php index ea056de9..269349e5 100644 --- a/src/Core/Endpoint/PostDiskDiskBackupPolicies.php +++ b/src/Core/Endpoint/PostDiskDiskBackupPolicies.php @@ -18,6 +18,9 @@ class PostDiskDiskBackupPolicies extends \KatapultAPI\Core\Runtime\Client\BaseEn * Creates a new disk backup policy for a disk * ## Scopes * - `disk_backup_policies`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\DisksDiskDiskBackupPoliciesPostBody $requestBody = null) { @@ -91,6 +94,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostDiskUnassign.php b/src/Core/Endpoint/PostDiskUnassign.php index d99a6048..959e1486 100644 --- a/src/Core/Endpoint/PostDiskUnassign.php +++ b/src/Core/Endpoint/PostDiskUnassign.php @@ -18,6 +18,9 @@ class PostDiskUnassign extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint imp * Unassign a disk from a virtual machine. * ## Scopes * - `disks`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\DisksDiskUnassignPostBody $requestBody = null) { @@ -91,6 +94,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostDnsZoneRecords.php b/src/Core/Endpoint/PostDnsZoneRecords.php index 45bdc0fd..ad485609 100644 --- a/src/Core/Endpoint/PostDnsZoneRecords.php +++ b/src/Core/Endpoint/PostDnsZoneRecords.php @@ -18,6 +18,9 @@ class PostDnsZoneRecords extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint i * Create a new DNS record * ## Scopes * - `dns`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\DnsZonesDnsZoneRecordsPostBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostDnsZoneVerify.php b/src/Core/Endpoint/PostDnsZoneVerify.php index 35f2d0e6..b2ff158c 100644 --- a/src/Core/Endpoint/PostDnsZoneVerify.php +++ b/src/Core/Endpoint/PostDnsZoneVerify.php @@ -18,6 +18,9 @@ class PostDnsZoneVerify extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint im * Attempt to verify the nameservers for a given DNS zone * ## Scopes * - `dns`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\DnsZonesDnsZoneVerifyPostBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostInvalidateLinkedWebSession.php b/src/Core/Endpoint/PostInvalidateLinkedWebSession.php index 47225048..1a194ac9 100644 --- a/src/Core/Endpoint/PostInvalidateLinkedWebSession.php +++ b/src/Core/Endpoint/PostInvalidateLinkedWebSession.php @@ -79,6 +79,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostIpAddressUnallocate.php b/src/Core/Endpoint/PostIpAddressUnallocate.php index 6830a949..c3cb0393 100644 --- a/src/Core/Endpoint/PostIpAddressUnallocate.php +++ b/src/Core/Endpoint/PostIpAddressUnallocate.php @@ -18,6 +18,9 @@ class PostIpAddressUnallocate extends \KatapultAPI\Core\Runtime\Client\BaseEndpo * Unallocate an IP address from its resource * ## Scopes * - `ip_addresses`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\IpAddressesIpAddressUnallocatePostBody $requestBody = null) { @@ -91,6 +94,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostLoadBalancerRules.php b/src/Core/Endpoint/PostLoadBalancerRules.php index 22554bcb..f076eb04 100644 --- a/src/Core/Endpoint/PostLoadBalancerRules.php +++ b/src/Core/Endpoint/PostLoadBalancerRules.php @@ -18,6 +18,9 @@ class PostLoadBalancerRules extends \KatapultAPI\Core\Runtime\Client\BaseEndpoin * Create a new load balancer rule * ## Scopes * - `load_balancers`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\LoadBalancersLoadBalancerRulesPostBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostObjectStorageObjectStorageClusterBucketPresignedUrl.php b/src/Core/Endpoint/PostObjectStorageObjectStorageClusterBucketPresignedUrl.php new file mode 100644 index 00000000..e9f7d300 --- /dev/null +++ b/src/Core/Endpoint/PostObjectStorageObjectStorageClusterBucketPresignedUrl.php @@ -0,0 +1,107 @@ +body = $requestBody; + } + + public function getMethod(): string + { + return 'POST'; + } + + public function getUri(): string + { + return '/object_storage/object_storage_cluster/buckets/bucket/presigned_url'; + } + + public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array + { + if ($this->body instanceof \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostBody) { + return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; + } + + return [[], null]; + } + + public function getExtraHeaders(): array + { + return ['Accept' => ['application/json']]; + } + + /** + * @return \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostResponse200|null + * + * @throws \KatapultAPI\Core\Exception\PostObjectStorageObjectStorageClusterBucketPresignedUrlBadRequestException + * @throws \KatapultAPI\Core\Exception\PostObjectStorageObjectStorageClusterBucketPresignedUrlForbiddenException + * @throws \KatapultAPI\Core\Exception\PostObjectStorageObjectStorageClusterBucketPresignedUrlNotFoundException + * @throws \KatapultAPI\Core\Exception\PostObjectStorageObjectStorageClusterBucketPresignedUrlNotAcceptableException + * @throws \KatapultAPI\Core\Exception\PostObjectStorageObjectStorageClusterBucketPresignedUrlUnprocessableEntityException + * @throws \KatapultAPI\Core\Exception\PostObjectStorageObjectStorageClusterBucketPresignedUrlTooManyRequestsException + * @throws \KatapultAPI\Core\Exception\PostObjectStorageObjectStorageClusterBucketPresignedUrlInternalServerErrorException + * @throws \KatapultAPI\Core\Exception\PostObjectStorageObjectStorageClusterBucketPresignedUrlServiceUnavailableException + * @throws \KatapultAPI\Core\Exception\PostObjectStorageObjectStorageClusterBucketPresignedUrlGatewayTimeoutException + */ + 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\ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostResponse200', 'json'); + } + if (is_null($contentType) === false && (400 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostObjectStorageObjectStorageClusterBucketPresignedUrlBadRequestException($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\PostObjectStorageObjectStorageClusterBucketPresignedUrlForbiddenException($response); + } + if (is_null($contentType) === false && (404 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostObjectStorageObjectStorageClusterBucketPresignedUrlNotFoundException($response); + } + if (is_null($contentType) === false && (406 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostObjectStorageObjectStorageClusterBucketPresignedUrlNotAcceptableException($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\PostObjectStorageObjectStorageClusterBucketPresignedUrlUnprocessableEntityException($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\PostObjectStorageObjectStorageClusterBucketPresignedUrlTooManyRequestsException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response', 'json'), $response); + } + if (is_null($contentType) === false && (500 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostObjectStorageObjectStorageClusterBucketPresignedUrlInternalServerErrorException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseMultipleObjectStorageBucketsFoundResponse', 'json'), $response); + } + if (is_null($contentType) === false && (503 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostObjectStorageObjectStorageClusterBucketPresignedUrlServiceUnavailableException($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\PostObjectStorageObjectStorageClusterBucketPresignedUrlGatewayTimeoutException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseNetworkErrorResponse', 'json'), $response); + } + } + + public function getAuthenticationScopes(): array + { + return ['OAuth2', 'Authenticator']; + } +} diff --git a/src/Core/Endpoint/PostObjectStorageObjectStorageClusterBucketRevokePresignedUrls.php b/src/Core/Endpoint/PostObjectStorageObjectStorageClusterBucketRevokePresignedUrls.php new file mode 100644 index 00000000..153e2be0 --- /dev/null +++ b/src/Core/Endpoint/PostObjectStorageObjectStorageClusterBucketRevokePresignedUrls.php @@ -0,0 +1,103 @@ +body = $requestBody; + } + + public function getMethod(): string + { + return 'POST'; + } + + public function getUri(): string + { + return '/object_storage/object_storage_cluster/buckets/bucket/revoke_presigned_urls'; + } + + public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array + { + if ($this->body instanceof \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostBody) { + return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; + } + + return [[], null]; + } + + public function getExtraHeaders(): array + { + return ['Accept' => ['application/json']]; + } + + /** + * @return \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostResponse200|null + * + * @throws \KatapultAPI\Core\Exception\PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsBadRequestException + * @throws \KatapultAPI\Core\Exception\PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsForbiddenException + * @throws \KatapultAPI\Core\Exception\PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsNotFoundException + * @throws \KatapultAPI\Core\Exception\PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsNotAcceptableException + * @throws \KatapultAPI\Core\Exception\PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsTooManyRequestsException + * @throws \KatapultAPI\Core\Exception\PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsInternalServerErrorException + * @throws \KatapultAPI\Core\Exception\PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsServiceUnavailableException + * @throws \KatapultAPI\Core\Exception\PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsGatewayTimeoutException + */ + 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\ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostResponse200', 'json'); + } + if (is_null($contentType) === false && (400 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsBadRequestException($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\PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsForbiddenException($response); + } + if (is_null($contentType) === false && (404 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsNotFoundException($response); + } + if (is_null($contentType) === false && (406 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsNotAcceptableException($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\PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsTooManyRequestsException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response', 'json'), $response); + } + if (is_null($contentType) === false && (500 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsInternalServerErrorException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseMultipleObjectStorageBucketsFoundResponse', 'json'), $response); + } + if (is_null($contentType) === false && (503 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsServiceUnavailableException($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\PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsGatewayTimeoutException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseNetworkErrorResponse', 'json'), $response); + } + } + + public function getAuthenticationScopes(): array + { + return ['OAuth2', 'Authenticator']; + } +} diff --git a/src/Core/Endpoint/PostOrganizationAddressLists.php b/src/Core/Endpoint/PostOrganizationAddressLists.php index 2a20d3c5..68a9f080 100644 --- a/src/Core/Endpoint/PostOrganizationAddressLists.php +++ b/src/Core/Endpoint/PostOrganizationAddressLists.php @@ -18,6 +18,9 @@ class PostOrganizationAddressLists extends \KatapultAPI\Core\Runtime\Client\Base * Create a new address list for a given organization. * ## Scopes * - `address_lists`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\OrganizationsOrganizationAddressListsPostBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostOrganizationApiTokens.php b/src/Core/Endpoint/PostOrganizationApiTokens.php index 2047dae4..516020dc 100644 --- a/src/Core/Endpoint/PostOrganizationApiTokens.php +++ b/src/Core/Endpoint/PostOrganizationApiTokens.php @@ -18,6 +18,9 @@ class PostOrganizationApiTokens extends \KatapultAPI\Core\Runtime\Client\BaseEnd * Create a new API token for a given organization * ## Scopes * - `api_tokens`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\OrganizationsOrganizationApiTokensPostBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostOrganizationDisks.php b/src/Core/Endpoint/PostOrganizationDisks.php index f25ec653..e7e7bb31 100644 --- a/src/Core/Endpoint/PostOrganizationDisks.php +++ b/src/Core/Endpoint/PostOrganizationDisks.php @@ -18,6 +18,9 @@ class PostOrganizationDisks extends \KatapultAPI\Core\Runtime\Client\BaseEndpoin * Create a new disk for a given organization. * ## Scopes * - `disks`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\OrganizationsOrganizationDisksPostBody $requestBody = null) { @@ -91,6 +94,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostOrganizationDnsZones.php b/src/Core/Endpoint/PostOrganizationDnsZones.php index 1a0f1e91..71b5d063 100644 --- a/src/Core/Endpoint/PostOrganizationDnsZones.php +++ b/src/Core/Endpoint/PostOrganizationDnsZones.php @@ -18,6 +18,9 @@ class PostOrganizationDnsZones extends \KatapultAPI\Core\Runtime\Client\BaseEndp * Create a new DNS zone within an existing organization * ## Scopes * - `dns`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\OrganizationsOrganizationDnsZonesPostBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostOrganizationFileStorageVolumes.php b/src/Core/Endpoint/PostOrganizationFileStorageVolumes.php index 4a2fd7a6..3b599429 100644 --- a/src/Core/Endpoint/PostOrganizationFileStorageVolumes.php +++ b/src/Core/Endpoint/PostOrganizationFileStorageVolumes.php @@ -18,6 +18,9 @@ class PostOrganizationFileStorageVolumes extends \KatapultAPI\Core\Runtime\Clien * Create a new file storage volume for a given organization. * ## Scopes * - `file_storage_volumes`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\OrganizationsOrganizationFileStorageVolumesPostBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostOrganizationIpAddresses.php b/src/Core/Endpoint/PostOrganizationIpAddresses.php index 1103457f..2a67c431 100644 --- a/src/Core/Endpoint/PostOrganizationIpAddresses.php +++ b/src/Core/Endpoint/PostOrganizationIpAddresses.php @@ -18,6 +18,9 @@ class PostOrganizationIpAddresses extends \KatapultAPI\Core\Runtime\Client\BaseE * Creates a new IP address on this organization * ## Scopes * - `ip_addresses`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\OrganizationsOrganizationIpAddressesPostBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostOrganizationLoadBalancers.php b/src/Core/Endpoint/PostOrganizationLoadBalancers.php index e000d8f6..eda1b49c 100644 --- a/src/Core/Endpoint/PostOrganizationLoadBalancers.php +++ b/src/Core/Endpoint/PostOrganizationLoadBalancers.php @@ -18,6 +18,9 @@ class PostOrganizationLoadBalancers extends \KatapultAPI\Core\Runtime\Client\Bas * Create a new load balancer for a given organization * ## Scopes * - `load_balancers`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\OrganizationsOrganizationLoadBalancersPostBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostOrganizationManaged.php b/src/Core/Endpoint/PostOrganizationManaged.php index f2c1f49e..13f82823 100644 --- a/src/Core/Endpoint/PostOrganizationManaged.php +++ b/src/Core/Endpoint/PostOrganizationManaged.php @@ -18,6 +18,9 @@ class PostOrganizationManaged extends \KatapultAPI\Core\Runtime\Client\BaseEndpo * Create a new managed organization within an existing organization * ## Scopes * - `managed_organizations`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\OrganizationsOrganizationManagedPostBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostOrganizationObjectStorageObjectStorageClusterBuckets.php b/src/Core/Endpoint/PostOrganizationObjectStorageObjectStorageClusterBuckets.php new file mode 100644 index 00000000..c767ce50 --- /dev/null +++ b/src/Core/Endpoint/PostOrganizationObjectStorageObjectStorageClusterBuckets.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/buckets'; + } + + public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array + { + if ($this->body instanceof \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostBody) { + return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; + } + + return [[], null]; + } + + public function getExtraHeaders(): array + { + return ['Accept' => ['application/json']]; + } + + /** + * @return \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostResponse201|null + * + * @throws \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterBucketsBadRequestException + * @throws \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterBucketsForbiddenException + * @throws \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterBucketsNotFoundException + * @throws \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterBucketsNotAcceptableException + * @throws \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterBucketsUnprocessableEntityException + * @throws \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterBucketsTooManyRequestsException + * @throws \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterBucketsServiceUnavailableException + */ + 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\OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostResponse201', 'json'); + } + if (is_null($contentType) === false && (400 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterBucketsBadRequestException($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\PostOrganizationObjectStorageObjectStorageClusterBucketsForbiddenException($response); + } + if (is_null($contentType) === false && (404 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterBucketsNotFoundException($response); + } + if (is_null($contentType) === false && (406 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostOrganizationObjectStorageObjectStorageClusterBucketsNotAcceptableException($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\PostOrganizationObjectStorageObjectStorageClusterBucketsUnprocessableEntityException($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\PostOrganizationObjectStorageObjectStorageClusterBucketsTooManyRequestsException($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\PostOrganizationObjectStorageObjectStorageClusterBucketsServiceUnavailableException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response', 'json'), $response); + } + } + + public function getAuthenticationScopes(): array + { + return ['OAuth2', 'Authenticator']; + } +} diff --git a/src/Core/Endpoint/PostOrganizationSecurityGroups.php b/src/Core/Endpoint/PostOrganizationSecurityGroups.php index 016c787a..0e430249 100644 --- a/src/Core/Endpoint/PostOrganizationSecurityGroups.php +++ b/src/Core/Endpoint/PostOrganizationSecurityGroups.php @@ -18,6 +18,9 @@ class PostOrganizationSecurityGroups extends \KatapultAPI\Core\Runtime\Client\Ba * Create a new security group for a given organization * ## Scopes * - `security_groups`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\OrganizationsOrganizationSecurityGroupsPostBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostOrganizationSshKeys.php b/src/Core/Endpoint/PostOrganizationSshKeys.php index cd68c7f3..4286ac22 100644 --- a/src/Core/Endpoint/PostOrganizationSshKeys.php +++ b/src/Core/Endpoint/PostOrganizationSshKeys.php @@ -85,6 +85,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostOrganizationTags.php b/src/Core/Endpoint/PostOrganizationTags.php index dfd8c556..2d6aff82 100644 --- a/src/Core/Endpoint/PostOrganizationTags.php +++ b/src/Core/Endpoint/PostOrganizationTags.php @@ -18,6 +18,9 @@ class PostOrganizationTags extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint * Creates a new tag with the provided properties * ## Scopes * - `tags`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\OrganizationsOrganizationTagsPostBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostOrganizationTrashObjectsPurgeAll.php b/src/Core/Endpoint/PostOrganizationTrashObjectsPurgeAll.php index e257ac16..e2b5f0f5 100644 --- a/src/Core/Endpoint/PostOrganizationTrashObjectsPurgeAll.php +++ b/src/Core/Endpoint/PostOrganizationTrashObjectsPurgeAll.php @@ -18,6 +18,9 @@ class PostOrganizationTrashObjectsPurgeAll extends \KatapultAPI\Core\Runtime\Cli * Purge all trash objects for an organization * ## Scopes * - `trash_objects:purge`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\OrganizationsOrganizationTrashObjectsPurgeAllPostBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostOrganizationVirtualMachineGroups.php b/src/Core/Endpoint/PostOrganizationVirtualMachineGroups.php index cfa2bc36..4fae1102 100644 --- a/src/Core/Endpoint/PostOrganizationVirtualMachineGroups.php +++ b/src/Core/Endpoint/PostOrganizationVirtualMachineGroups.php @@ -18,6 +18,9 @@ class PostOrganizationVirtualMachineGroups extends \KatapultAPI\Core\Runtime\Cli * Create a new virtual machine group with the provided details * ## Scopes * - `virtual_machine_groups`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachineGroupsPostBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostOrganizationVirtualMachinesBuild.php b/src/Core/Endpoint/PostOrganizationVirtualMachinesBuild.php index 9bdbf054..5fee3117 100644 --- a/src/Core/Endpoint/PostOrganizationVirtualMachinesBuild.php +++ b/src/Core/Endpoint/PostOrganizationVirtualMachinesBuild.php @@ -18,6 +18,9 @@ class PostOrganizationVirtualMachinesBuild extends \KatapultAPI\Core\Runtime\Cli * 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. * ## Scopes * - `virtual_machines`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildPostBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostOrganizationVirtualMachinesBuildFromSpec.php b/src/Core/Endpoint/PostOrganizationVirtualMachinesBuildFromSpec.php index e7e256d0..6cfdda54 100644 --- a/src/Core/Endpoint/PostOrganizationVirtualMachinesBuildFromSpec.php +++ b/src/Core/Endpoint/PostOrganizationVirtualMachinesBuildFromSpec.php @@ -18,6 +18,9 @@ class PostOrganizationVirtualMachinesBuildFromSpec extends \KatapultAPI\Core\Run * Builds a new virtual machine by receiving a virtual machine spec document * ## Scopes * - `virtual_machines`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildFromSpecPostBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostOrganizationVirtualNetworks.php b/src/Core/Endpoint/PostOrganizationVirtualNetworks.php new file mode 100644 index 00000000..91970447 --- /dev/null +++ b/src/Core/Endpoint/PostOrganizationVirtualNetworks.php @@ -0,0 +1,95 @@ +body = $requestBody; + } + + public function getMethod(): string + { + return 'POST'; + } + + public function getUri(): string + { + return '/organizations/organization/virtual_networks'; + } + + public function getBody(\Symfony\Component\Serializer\SerializerInterface $serializer, $streamFactory = null): array + { + if ($this->body instanceof \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualNetworksPostBody) { + return [['Content-Type' => ['application/json']], $serializer->serialize($this->body, 'json')]; + } + + return [[], null]; + } + + public function getExtraHeaders(): array + { + return ['Accept' => ['application/json']]; + } + + /** + * @return \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualNetworksPostResponse200|null + * + * @throws \KatapultAPI\Core\Exception\PostOrganizationVirtualNetworksBadRequestException + * @throws \KatapultAPI\Core\Exception\PostOrganizationVirtualNetworksForbiddenException + * @throws \KatapultAPI\Core\Exception\PostOrganizationVirtualNetworksNotFoundException + * @throws \KatapultAPI\Core\Exception\PostOrganizationVirtualNetworksUnprocessableEntityException + * @throws \KatapultAPI\Core\Exception\PostOrganizationVirtualNetworksTooManyRequestsException + * @throws \KatapultAPI\Core\Exception\PostOrganizationVirtualNetworksServiceUnavailableException + */ + 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\OrganizationsOrganizationVirtualNetworksPostResponse200', 'json'); + } + if (is_null($contentType) === false && (400 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostOrganizationVirtualNetworksBadRequestException($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\PostOrganizationVirtualNetworksForbiddenException($response); + } + if (is_null($contentType) === false && (404 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostOrganizationVirtualNetworksNotFoundException($response); + } + if (is_null($contentType) === false && (422 === $status && mb_strpos($contentType, 'application/json') !== false)) { + throw new \KatapultAPI\Core\Exception\PostOrganizationVirtualNetworksUnprocessableEntityException($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\PostOrganizationVirtualNetworksTooManyRequestsException($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\PostOrganizationVirtualNetworksServiceUnavailableException($serializer->deserialize($body, 'KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response', 'json'), $response); + } + } + + public function getAuthenticationScopes(): array + { + return ['OAuth2', 'Authenticator']; + } +} diff --git a/src/Core/Endpoint/PostSecurityGroupRules.php b/src/Core/Endpoint/PostSecurityGroupRules.php index bbcf5e9e..442c47a3 100644 --- a/src/Core/Endpoint/PostSecurityGroupRules.php +++ b/src/Core/Endpoint/PostSecurityGroupRules.php @@ -18,6 +18,9 @@ class PostSecurityGroupRules extends \KatapultAPI\Core\Runtime\Client\BaseEndpoi * Create a new security group rule * ## Scopes * - `security_groups`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\SecurityGroupsSecurityGroupRulesPostBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostTrashObjectRestore.php b/src/Core/Endpoint/PostTrashObjectRestore.php index 1150bc6e..9a43e0bb 100644 --- a/src/Core/Endpoint/PostTrashObjectRestore.php +++ b/src/Core/Endpoint/PostTrashObjectRestore.php @@ -18,6 +18,9 @@ class PostTrashObjectRestore extends \KatapultAPI\Core\Runtime\Client\BaseEndpoi * Restore a trashed object to its original location * ## Scopes * - `trash_objects:restore`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\TrashObjectsTrashObjectRestorePostBody $requestBody = null) { @@ -83,6 +86,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostVirtualMachineAllocateIp.php b/src/Core/Endpoint/PostVirtualMachineAllocateIp.php index 03a43338..b8e13cdb 100644 --- a/src/Core/Endpoint/PostVirtualMachineAllocateIp.php +++ b/src/Core/Endpoint/PostVirtualMachineAllocateIp.php @@ -18,6 +18,9 @@ class PostVirtualMachineAllocateIp extends \KatapultAPI\Core\Runtime\Client\Base * Allocate an IP address to a virtual machine, automatically determining the network interface * ## Scopes * - `ip_addresses`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\VirtualMachinesVirtualMachineAllocateIpPostBody $requestBody = null) { @@ -91,6 +94,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostVirtualMachineConsoleSessions.php b/src/Core/Endpoint/PostVirtualMachineConsoleSessions.php index 5bc6bd1b..9d7cf5cb 100644 --- a/src/Core/Endpoint/PostVirtualMachineConsoleSessions.php +++ b/src/Core/Endpoint/PostVirtualMachineConsoleSessions.php @@ -19,6 +19,9 @@ class PostVirtualMachineConsoleSessions extends \KatapultAPI\Core\Runtime\Client * ## Scopes * - `virtual_machines` * - `virtual_machines:console`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\VirtualMachinesVirtualMachineConsoleSessionsPostBody $requestBody = null) { @@ -92,6 +95,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostVirtualMachineDiskBackupPolicies.php b/src/Core/Endpoint/PostVirtualMachineDiskBackupPolicies.php index f973bae5..e114e9ee 100644 --- a/src/Core/Endpoint/PostVirtualMachineDiskBackupPolicies.php +++ b/src/Core/Endpoint/PostVirtualMachineDiskBackupPolicies.php @@ -18,6 +18,9 @@ class PostVirtualMachineDiskBackupPolicies extends \KatapultAPI\Core\Runtime\Cli * Creates a new disk backup policy for a virtual machine * ## Scopes * - `disk_backup_policies`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\VirtualMachinesVirtualMachineDiskBackupPoliciesPostBody $requestBody = null) { @@ -91,6 +94,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostVirtualMachineNetworkInterfaceAllocateIp.php b/src/Core/Endpoint/PostVirtualMachineNetworkInterfaceAllocateIp.php index 95bd1443..c3d85aa8 100644 --- a/src/Core/Endpoint/PostVirtualMachineNetworkInterfaceAllocateIp.php +++ b/src/Core/Endpoint/PostVirtualMachineNetworkInterfaceAllocateIp.php @@ -18,6 +18,9 @@ class PostVirtualMachineNetworkInterfaceAllocateIp extends \KatapultAPI\Core\Run * Allocate a specific IP address to a given network interface * ## Scopes * - `ip_addresses`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAllocateIpPostBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostVirtualMachineNetworkInterfaceAllocateNewIp.php b/src/Core/Endpoint/PostVirtualMachineNetworkInterfaceAllocateNewIp.php index b40c80cc..a5061b33 100644 --- a/src/Core/Endpoint/PostVirtualMachineNetworkInterfaceAllocateNewIp.php +++ b/src/Core/Endpoint/PostVirtualMachineNetworkInterfaceAllocateNewIp.php @@ -18,6 +18,9 @@ class PostVirtualMachineNetworkInterfaceAllocateNewIp extends \KatapultAPI\Core\ * Add a new IP address to this organization and allocate it to a virtual machine network interface * ## Scopes * - `ip_addresses`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\VirtualMachineNetworkInterfacesVirtualMachineNetworkInterfaceAllocateNewIpPostBody $requestBody = null) { @@ -83,6 +86,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostVirtualMachineReset.php b/src/Core/Endpoint/PostVirtualMachineReset.php index ee620549..b1e01656 100644 --- a/src/Core/Endpoint/PostVirtualMachineReset.php +++ b/src/Core/Endpoint/PostVirtualMachineReset.php @@ -19,6 +19,9 @@ class PostVirtualMachineReset extends \KatapultAPI\Core\Runtime\Client\BaseEndpo * ## Scopes * - `virtual_machines` * - `virtual_machines:power_actions`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\VirtualMachinesVirtualMachineResetPostBody $requestBody = null) { @@ -88,6 +91,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostVirtualMachineShutdown.php b/src/Core/Endpoint/PostVirtualMachineShutdown.php index 96842ca4..d1aaafae 100644 --- a/src/Core/Endpoint/PostVirtualMachineShutdown.php +++ b/src/Core/Endpoint/PostVirtualMachineShutdown.php @@ -19,6 +19,9 @@ class PostVirtualMachineShutdown extends \KatapultAPI\Core\Runtime\Client\BaseEn * ## Scopes * - `virtual_machines` * - `virtual_machines:power_actions`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\VirtualMachinesVirtualMachineShutdownPostBody $requestBody = null) { @@ -88,6 +91,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostVirtualMachineStart.php b/src/Core/Endpoint/PostVirtualMachineStart.php index 7ba9d4ed..fffa840d 100644 --- a/src/Core/Endpoint/PostVirtualMachineStart.php +++ b/src/Core/Endpoint/PostVirtualMachineStart.php @@ -19,6 +19,9 @@ class PostVirtualMachineStart extends \KatapultAPI\Core\Runtime\Client\BaseEndpo * ## Scopes * - `virtual_machines` * - `virtual_machines:power_actions`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\VirtualMachinesVirtualMachineStartPostBody $requestBody = null) { @@ -88,6 +91,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PostVirtualMachineStop.php b/src/Core/Endpoint/PostVirtualMachineStop.php index a6321811..b6334c7c 100644 --- a/src/Core/Endpoint/PostVirtualMachineStop.php +++ b/src/Core/Endpoint/PostVirtualMachineStop.php @@ -19,6 +19,9 @@ class PostVirtualMachineStop extends \KatapultAPI\Core\Runtime\Client\BaseEndpoi * ## Scopes * - `virtual_machines` * - `virtual_machines:power_actions`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\VirtualMachinesVirtualMachineStopPostBody $requestBody = null) { @@ -88,6 +91,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PutDiskIoProfile.php b/src/Core/Endpoint/PutDiskIoProfile.php index b77c7565..9afcdd61 100644 --- a/src/Core/Endpoint/PutDiskIoProfile.php +++ b/src/Core/Endpoint/PutDiskIoProfile.php @@ -18,6 +18,9 @@ class PutDiskIoProfile extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint imp * Change disk IO profile. * ## Scopes * - `disks`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\DisksDiskIoProfilePutBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PutDiskResize.php b/src/Core/Endpoint/PutDiskResize.php index dd301f8b..beade49e 100644 --- a/src/Core/Endpoint/PutDiskResize.php +++ b/src/Core/Endpoint/PutDiskResize.php @@ -18,6 +18,9 @@ class PutDiskResize extends \KatapultAPI\Core\Runtime\Client\BaseEndpoint implem * Resize a disk. * ## Scopes * - `disks`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\DisksDiskResizePutBody $requestBody = null) { @@ -91,6 +94,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PutVirtualMachineFlexibleResources.php b/src/Core/Endpoint/PutVirtualMachineFlexibleResources.php index c8d0c634..1cd68d04 100644 --- a/src/Core/Endpoint/PutVirtualMachineFlexibleResources.php +++ b/src/Core/Endpoint/PutVirtualMachineFlexibleResources.php @@ -18,6 +18,9 @@ class PutVirtualMachineFlexibleResources extends \KatapultAPI\Core\Runtime\Clien * Change the flexible resources assigned to a virtual machine * ## Scopes * - `virtual_machines`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\VirtualMachinesVirtualMachineFlexibleResourcesPutBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Endpoint/PutVirtualMachinePackage.php b/src/Core/Endpoint/PutVirtualMachinePackage.php index 38b231a7..73d07560 100644 --- a/src/Core/Endpoint/PutVirtualMachinePackage.php +++ b/src/Core/Endpoint/PutVirtualMachinePackage.php @@ -18,6 +18,9 @@ class PutVirtualMachinePackage extends \KatapultAPI\Core\Runtime\Client\BaseEndp * Change a package for a virtual machine * ## Scopes * - `virtual_machines`. + * + * ### OAuth2 Scopes + * When using OAuth2 authentication, scopes are prefixed with `api.katapult.io/core/v1/`. */ public function __construct(?\KatapultAPI\Core\Model\VirtualMachinesVirtualMachinePackagePutBody $requestBody = null) { @@ -87,6 +90,6 @@ protected function transformResponseBody(\Psr\Http\Message\ResponseInterface $re public function getAuthenticationScopes(): array { - return ['Authenticator']; + return ['OAuth2', 'Authenticator']; } } diff --git a/src/Core/Exception/DeleteObjectStorageObjectStorageClusterBucketBadRequestException.php b/src/Core/Exception/DeleteObjectStorageObjectStorageClusterBucketBadRequestException.php new file mode 100644 index 00000000..cb6d7b07 --- /dev/null +++ b/src/Core/Exception/DeleteObjectStorageObjectStorageClusterBucketBadRequestException.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/DeleteObjectStorageObjectStorageClusterBucketForbiddenException.php b/src/Core/Exception/DeleteObjectStorageObjectStorageClusterBucketForbiddenException.php new file mode 100644 index 00000000..f301f1f5 --- /dev/null +++ b/src/Core/Exception/DeleteObjectStorageObjectStorageClusterBucketForbiddenException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/DeleteObjectStorageObjectStorageClusterBucketGatewayTimeoutException.php b/src/Core/Exception/DeleteObjectStorageObjectStorageClusterBucketGatewayTimeoutException.php new file mode 100644 index 00000000..3f0dd0d6 --- /dev/null +++ b/src/Core/Exception/DeleteObjectStorageObjectStorageClusterBucketGatewayTimeoutException.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/DeleteObjectStorageObjectStorageClusterBucketInternalServerErrorException.php b/src/Core/Exception/DeleteObjectStorageObjectStorageClusterBucketInternalServerErrorException.php new file mode 100644 index 00000000..cdee8f4f --- /dev/null +++ b/src/Core/Exception/DeleteObjectStorageObjectStorageClusterBucketInternalServerErrorException.php @@ -0,0 +1,40 @@ +responseMultipleObjectStorageBucketsFoundResponse = $responseMultipleObjectStorageBucketsFoundResponse; + $this->response = $response; + } + + public function getResponseMultipleObjectStorageBucketsFoundResponse(): \KatapultAPI\Core\Model\ResponseMultipleObjectStorageBucketsFoundResponse + { + return $this->responseMultipleObjectStorageBucketsFoundResponse; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/DeleteObjectStorageObjectStorageClusterBucketNotAcceptableException.php b/src/Core/Exception/DeleteObjectStorageObjectStorageClusterBucketNotAcceptableException.php new file mode 100644 index 00000000..0d23eacb --- /dev/null +++ b/src/Core/Exception/DeleteObjectStorageObjectStorageClusterBucketNotAcceptableException.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/DeleteObjectStorageObjectStorageClusterBucketNotFoundException.php b/src/Core/Exception/DeleteObjectStorageObjectStorageClusterBucketNotFoundException.php new file mode 100644 index 00000000..0a7f3c08 --- /dev/null +++ b/src/Core/Exception/DeleteObjectStorageObjectStorageClusterBucketNotFoundException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/DeleteObjectStorageObjectStorageClusterBucketServiceUnavailableException.php b/src/Core/Exception/DeleteObjectStorageObjectStorageClusterBucketServiceUnavailableException.php new file mode 100644 index 00000000..75be435f --- /dev/null +++ b/src/Core/Exception/DeleteObjectStorageObjectStorageClusterBucketServiceUnavailableException.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/DeleteObjectStorageObjectStorageClusterBucketTooManyRequestsException.php b/src/Core/Exception/DeleteObjectStorageObjectStorageClusterBucketTooManyRequestsException.php new file mode 100644 index 00000000..33a01f43 --- /dev/null +++ b/src/Core/Exception/DeleteObjectStorageObjectStorageClusterBucketTooManyRequestsException.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/DeleteVirtualNetworkBadRequestException.php b/src/Core/Exception/DeleteVirtualNetworkBadRequestException.php new file mode 100644 index 00000000..28534d6f --- /dev/null +++ b/src/Core/Exception/DeleteVirtualNetworkBadRequestException.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/DeleteVirtualNetworkConflictException.php b/src/Core/Exception/DeleteVirtualNetworkConflictException.php new file mode 100644 index 00000000..c23bcad6 --- /dev/null +++ b/src/Core/Exception/DeleteVirtualNetworkConflictException.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/DeleteVirtualNetworkForbiddenException.php b/src/Core/Exception/DeleteVirtualNetworkForbiddenException.php new file mode 100644 index 00000000..04bea3fc --- /dev/null +++ b/src/Core/Exception/DeleteVirtualNetworkForbiddenException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/DeleteVirtualNetworkNotFoundException.php b/src/Core/Exception/DeleteVirtualNetworkNotFoundException.php new file mode 100644 index 00000000..9880ddde --- /dev/null +++ b/src/Core/Exception/DeleteVirtualNetworkNotFoundException.php @@ -0,0 +1,40 @@ +responseVirtualNetworkNotFoundResponse = $responseVirtualNetworkNotFoundResponse; + $this->response = $response; + } + + public function getResponseVirtualNetworkNotFoundResponse(): \KatapultAPI\Core\Model\ResponseVirtualNetworkNotFoundResponse + { + return $this->responseVirtualNetworkNotFoundResponse; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/DeleteVirtualNetworkServiceUnavailableException.php b/src/Core/Exception/DeleteVirtualNetworkServiceUnavailableException.php new file mode 100644 index 00000000..da315578 --- /dev/null +++ b/src/Core/Exception/DeleteVirtualNetworkServiceUnavailableException.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/DeleteVirtualNetworkTooManyRequestsException.php b/src/Core/Exception/DeleteVirtualNetworkTooManyRequestsException.php new file mode 100644 index 00000000..db50115d --- /dev/null +++ b/src/Core/Exception/DeleteVirtualNetworkTooManyRequestsException.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/GatewayTimeoutException.php b/src/Core/Exception/GatewayTimeoutException.php new file mode 100644 index 00000000..4e82f7bc --- /dev/null +++ b/src/Core/Exception/GatewayTimeoutException.php @@ -0,0 +1,19 @@ +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/GetObjectStorageObjectStorageClusterBucketForbiddenException.php b/src/Core/Exception/GetObjectStorageObjectStorageClusterBucketForbiddenException.php new file mode 100644 index 00000000..9b622676 --- /dev/null +++ b/src/Core/Exception/GetObjectStorageObjectStorageClusterBucketForbiddenException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/GetObjectStorageObjectStorageClusterBucketInternalServerErrorException.php b/src/Core/Exception/GetObjectStorageObjectStorageClusterBucketInternalServerErrorException.php new file mode 100644 index 00000000..514eda72 --- /dev/null +++ b/src/Core/Exception/GetObjectStorageObjectStorageClusterBucketInternalServerErrorException.php @@ -0,0 +1,40 @@ +responseMultipleObjectStorageBucketsFoundResponse = $responseMultipleObjectStorageBucketsFoundResponse; + $this->response = $response; + } + + public function getResponseMultipleObjectStorageBucketsFoundResponse(): \KatapultAPI\Core\Model\ResponseMultipleObjectStorageBucketsFoundResponse + { + return $this->responseMultipleObjectStorageBucketsFoundResponse; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/GetObjectStorageObjectStorageClusterBucketNotAcceptableException.php b/src/Core/Exception/GetObjectStorageObjectStorageClusterBucketNotAcceptableException.php new file mode 100644 index 00000000..3e2d0560 --- /dev/null +++ b/src/Core/Exception/GetObjectStorageObjectStorageClusterBucketNotAcceptableException.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/GetObjectStorageObjectStorageClusterBucketNotFoundException.php b/src/Core/Exception/GetObjectStorageObjectStorageClusterBucketNotFoundException.php new file mode 100644 index 00000000..d8f7ccec --- /dev/null +++ b/src/Core/Exception/GetObjectStorageObjectStorageClusterBucketNotFoundException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/GetObjectStorageObjectStorageClusterBucketObjectBadRequestException.php b/src/Core/Exception/GetObjectStorageObjectStorageClusterBucketObjectBadRequestException.php new file mode 100644 index 00000000..158474ce --- /dev/null +++ b/src/Core/Exception/GetObjectStorageObjectStorageClusterBucketObjectBadRequestException.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/GetObjectStorageObjectStorageClusterBucketObjectForbiddenException.php b/src/Core/Exception/GetObjectStorageObjectStorageClusterBucketObjectForbiddenException.php new file mode 100644 index 00000000..ae2693a2 --- /dev/null +++ b/src/Core/Exception/GetObjectStorageObjectStorageClusterBucketObjectForbiddenException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/GetObjectStorageObjectStorageClusterBucketObjectGatewayTimeoutException.php b/src/Core/Exception/GetObjectStorageObjectStorageClusterBucketObjectGatewayTimeoutException.php new file mode 100644 index 00000000..571390fb --- /dev/null +++ b/src/Core/Exception/GetObjectStorageObjectStorageClusterBucketObjectGatewayTimeoutException.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/GetObjectStorageObjectStorageClusterBucketObjectInternalServerErrorException.php b/src/Core/Exception/GetObjectStorageObjectStorageClusterBucketObjectInternalServerErrorException.php new file mode 100644 index 00000000..bc2085a1 --- /dev/null +++ b/src/Core/Exception/GetObjectStorageObjectStorageClusterBucketObjectInternalServerErrorException.php @@ -0,0 +1,40 @@ +responseMultipleObjectStorageBucketsFoundResponse = $responseMultipleObjectStorageBucketsFoundResponse; + $this->response = $response; + } + + public function getResponseMultipleObjectStorageBucketsFoundResponse(): \KatapultAPI\Core\Model\ResponseMultipleObjectStorageBucketsFoundResponse + { + return $this->responseMultipleObjectStorageBucketsFoundResponse; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/GetObjectStorageObjectStorageClusterBucketObjectNotAcceptableException.php b/src/Core/Exception/GetObjectStorageObjectStorageClusterBucketObjectNotAcceptableException.php new file mode 100644 index 00000000..7f5e4603 --- /dev/null +++ b/src/Core/Exception/GetObjectStorageObjectStorageClusterBucketObjectNotAcceptableException.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/GetObjectStorageObjectStorageClusterBucketObjectNotFoundException.php b/src/Core/Exception/GetObjectStorageObjectStorageClusterBucketObjectNotFoundException.php new file mode 100644 index 00000000..acdd4ddc --- /dev/null +++ b/src/Core/Exception/GetObjectStorageObjectStorageClusterBucketObjectNotFoundException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/GetObjectStorageObjectStorageClusterBucketObjectServiceUnavailableException.php b/src/Core/Exception/GetObjectStorageObjectStorageClusterBucketObjectServiceUnavailableException.php new file mode 100644 index 00000000..43c4d252 --- /dev/null +++ b/src/Core/Exception/GetObjectStorageObjectStorageClusterBucketObjectServiceUnavailableException.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/GetObjectStorageObjectStorageClusterBucketObjectTooManyRequestsException.php b/src/Core/Exception/GetObjectStorageObjectStorageClusterBucketObjectTooManyRequestsException.php new file mode 100644 index 00000000..5732eff3 --- /dev/null +++ b/src/Core/Exception/GetObjectStorageObjectStorageClusterBucketObjectTooManyRequestsException.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/GetObjectStorageObjectStorageClusterBucketServiceUnavailableException.php b/src/Core/Exception/GetObjectStorageObjectStorageClusterBucketServiceUnavailableException.php new file mode 100644 index 00000000..38ef9824 --- /dev/null +++ b/src/Core/Exception/GetObjectStorageObjectStorageClusterBucketServiceUnavailableException.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/GetObjectStorageObjectStorageClusterBucketTooManyRequestsException.php b/src/Core/Exception/GetObjectStorageObjectStorageClusterBucketTooManyRequestsException.php new file mode 100644 index 00000000..7a3bf43a --- /dev/null +++ b/src/Core/Exception/GetObjectStorageObjectStorageClusterBucketTooManyRequestsException.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/GetOrganizationVirtualNetworksBadRequestException.php b/src/Core/Exception/GetOrganizationVirtualNetworksBadRequestException.php new file mode 100644 index 00000000..9870b26c --- /dev/null +++ b/src/Core/Exception/GetOrganizationVirtualNetworksBadRequestException.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/GetOrganizationVirtualNetworksForbiddenException.php b/src/Core/Exception/GetOrganizationVirtualNetworksForbiddenException.php new file mode 100644 index 00000000..075e750f --- /dev/null +++ b/src/Core/Exception/GetOrganizationVirtualNetworksForbiddenException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/GetOrganizationVirtualNetworksNotFoundException.php b/src/Core/Exception/GetOrganizationVirtualNetworksNotFoundException.php new file mode 100644 index 00000000..4fc3ae79 --- /dev/null +++ b/src/Core/Exception/GetOrganizationVirtualNetworksNotFoundException.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/GetOrganizationVirtualNetworksServiceUnavailableException.php b/src/Core/Exception/GetOrganizationVirtualNetworksServiceUnavailableException.php new file mode 100644 index 00000000..51c87f6e --- /dev/null +++ b/src/Core/Exception/GetOrganizationVirtualNetworksServiceUnavailableException.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/GetOrganizationVirtualNetworksTooManyRequestsException.php b/src/Core/Exception/GetOrganizationVirtualNetworksTooManyRequestsException.php new file mode 100644 index 00000000..b55a0b00 --- /dev/null +++ b/src/Core/Exception/GetOrganizationVirtualNetworksTooManyRequestsException.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/GetVirtualNetworkBadRequestException.php b/src/Core/Exception/GetVirtualNetworkBadRequestException.php new file mode 100644 index 00000000..9e5b8cd5 --- /dev/null +++ b/src/Core/Exception/GetVirtualNetworkBadRequestException.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/GetVirtualNetworkForbiddenException.php b/src/Core/Exception/GetVirtualNetworkForbiddenException.php new file mode 100644 index 00000000..fb54a3bb --- /dev/null +++ b/src/Core/Exception/GetVirtualNetworkForbiddenException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/GetVirtualNetworkNotFoundException.php b/src/Core/Exception/GetVirtualNetworkNotFoundException.php new file mode 100644 index 00000000..c1ae27f0 --- /dev/null +++ b/src/Core/Exception/GetVirtualNetworkNotFoundException.php @@ -0,0 +1,40 @@ +responseVirtualNetworkNotFoundResponse = $responseVirtualNetworkNotFoundResponse; + $this->response = $response; + } + + public function getResponseVirtualNetworkNotFoundResponse(): \KatapultAPI\Core\Model\ResponseVirtualNetworkNotFoundResponse + { + return $this->responseVirtualNetworkNotFoundResponse; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/GetVirtualNetworkServiceUnavailableException.php b/src/Core/Exception/GetVirtualNetworkServiceUnavailableException.php new file mode 100644 index 00000000..3ef0476e --- /dev/null +++ b/src/Core/Exception/GetVirtualNetworkServiceUnavailableException.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/GetVirtualNetworkTooManyRequestsException.php b/src/Core/Exception/GetVirtualNetworkTooManyRequestsException.php new file mode 100644 index 00000000..87b14a32 --- /dev/null +++ b/src/Core/Exception/GetVirtualNetworkTooManyRequestsException.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/PatchObjectStorageObjectStorageClusterBucketBadRequestException.php b/src/Core/Exception/PatchObjectStorageObjectStorageClusterBucketBadRequestException.php new file mode 100644 index 00000000..ca766a20 --- /dev/null +++ b/src/Core/Exception/PatchObjectStorageObjectStorageClusterBucketBadRequestException.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/PatchObjectStorageObjectStorageClusterBucketForbiddenException.php b/src/Core/Exception/PatchObjectStorageObjectStorageClusterBucketForbiddenException.php new file mode 100644 index 00000000..7dfebf7b --- /dev/null +++ b/src/Core/Exception/PatchObjectStorageObjectStorageClusterBucketForbiddenException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PatchObjectStorageObjectStorageClusterBucketInternalServerErrorException.php b/src/Core/Exception/PatchObjectStorageObjectStorageClusterBucketInternalServerErrorException.php new file mode 100644 index 00000000..f8767a81 --- /dev/null +++ b/src/Core/Exception/PatchObjectStorageObjectStorageClusterBucketInternalServerErrorException.php @@ -0,0 +1,40 @@ +responseMultipleObjectStorageBucketsFoundResponse = $responseMultipleObjectStorageBucketsFoundResponse; + $this->response = $response; + } + + public function getResponseMultipleObjectStorageBucketsFoundResponse(): \KatapultAPI\Core\Model\ResponseMultipleObjectStorageBucketsFoundResponse + { + return $this->responseMultipleObjectStorageBucketsFoundResponse; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PatchObjectStorageObjectStorageClusterBucketNotAcceptableException.php b/src/Core/Exception/PatchObjectStorageObjectStorageClusterBucketNotAcceptableException.php new file mode 100644 index 00000000..d9b252b0 --- /dev/null +++ b/src/Core/Exception/PatchObjectStorageObjectStorageClusterBucketNotAcceptableException.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/PatchObjectStorageObjectStorageClusterBucketNotFoundException.php b/src/Core/Exception/PatchObjectStorageObjectStorageClusterBucketNotFoundException.php new file mode 100644 index 00000000..dd04b5c2 --- /dev/null +++ b/src/Core/Exception/PatchObjectStorageObjectStorageClusterBucketNotFoundException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PatchObjectStorageObjectStorageClusterBucketServiceUnavailableException.php b/src/Core/Exception/PatchObjectStorageObjectStorageClusterBucketServiceUnavailableException.php new file mode 100644 index 00000000..2272737b --- /dev/null +++ b/src/Core/Exception/PatchObjectStorageObjectStorageClusterBucketServiceUnavailableException.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/PatchObjectStorageObjectStorageClusterBucketTooManyRequestsException.php b/src/Core/Exception/PatchObjectStorageObjectStorageClusterBucketTooManyRequestsException.php new file mode 100644 index 00000000..0a7afd34 --- /dev/null +++ b/src/Core/Exception/PatchObjectStorageObjectStorageClusterBucketTooManyRequestsException.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/PatchObjectStorageObjectStorageClusterBucketUnprocessableEntityException.php b/src/Core/Exception/PatchObjectStorageObjectStorageClusterBucketUnprocessableEntityException.php new file mode 100644 index 00000000..fe236395 --- /dev/null +++ b/src/Core/Exception/PatchObjectStorageObjectStorageClusterBucketUnprocessableEntityException.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/PatchVirtualNetworkBadRequestException.php b/src/Core/Exception/PatchVirtualNetworkBadRequestException.php new file mode 100644 index 00000000..49ea729c --- /dev/null +++ b/src/Core/Exception/PatchVirtualNetworkBadRequestException.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/PatchVirtualNetworkForbiddenException.php b/src/Core/Exception/PatchVirtualNetworkForbiddenException.php new file mode 100644 index 00000000..f3bf6693 --- /dev/null +++ b/src/Core/Exception/PatchVirtualNetworkForbiddenException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PatchVirtualNetworkNotFoundException.php b/src/Core/Exception/PatchVirtualNetworkNotFoundException.php new file mode 100644 index 00000000..b2938371 --- /dev/null +++ b/src/Core/Exception/PatchVirtualNetworkNotFoundException.php @@ -0,0 +1,40 @@ +responseVirtualNetworkNotFoundResponse = $responseVirtualNetworkNotFoundResponse; + $this->response = $response; + } + + public function getResponseVirtualNetworkNotFoundResponse(): \KatapultAPI\Core\Model\ResponseVirtualNetworkNotFoundResponse + { + return $this->responseVirtualNetworkNotFoundResponse; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PatchVirtualNetworkServiceUnavailableException.php b/src/Core/Exception/PatchVirtualNetworkServiceUnavailableException.php new file mode 100644 index 00000000..142d44a9 --- /dev/null +++ b/src/Core/Exception/PatchVirtualNetworkServiceUnavailableException.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/PatchVirtualNetworkTooManyRequestsException.php b/src/Core/Exception/PatchVirtualNetworkTooManyRequestsException.php new file mode 100644 index 00000000..ef071416 --- /dev/null +++ b/src/Core/Exception/PatchVirtualNetworkTooManyRequestsException.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/PatchVirtualNetworkUnprocessableEntityException.php b/src/Core/Exception/PatchVirtualNetworkUnprocessableEntityException.php new file mode 100644 index 00000000..1f31a507 --- /dev/null +++ b/src/Core/Exception/PatchVirtualNetworkUnprocessableEntityException.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/PostObjectStorageObjectStorageClusterBucketPresignedUrlBadRequestException.php b/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketPresignedUrlBadRequestException.php new file mode 100644 index 00000000..bd2dd939 --- /dev/null +++ b/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketPresignedUrlBadRequestException.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/PostObjectStorageObjectStorageClusterBucketPresignedUrlForbiddenException.php b/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketPresignedUrlForbiddenException.php new file mode 100644 index 00000000..7e23222c --- /dev/null +++ b/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketPresignedUrlForbiddenException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketPresignedUrlGatewayTimeoutException.php b/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketPresignedUrlGatewayTimeoutException.php new file mode 100644 index 00000000..10934372 --- /dev/null +++ b/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketPresignedUrlGatewayTimeoutException.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/PostObjectStorageObjectStorageClusterBucketPresignedUrlInternalServerErrorException.php b/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketPresignedUrlInternalServerErrorException.php new file mode 100644 index 00000000..82caf26f --- /dev/null +++ b/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketPresignedUrlInternalServerErrorException.php @@ -0,0 +1,40 @@ +responseMultipleObjectStorageBucketsFoundResponse = $responseMultipleObjectStorageBucketsFoundResponse; + $this->response = $response; + } + + public function getResponseMultipleObjectStorageBucketsFoundResponse(): \KatapultAPI\Core\Model\ResponseMultipleObjectStorageBucketsFoundResponse + { + return $this->responseMultipleObjectStorageBucketsFoundResponse; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketPresignedUrlNotAcceptableException.php b/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketPresignedUrlNotAcceptableException.php new file mode 100644 index 00000000..fd4c1c47 --- /dev/null +++ b/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketPresignedUrlNotAcceptableException.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/PostObjectStorageObjectStorageClusterBucketPresignedUrlNotFoundException.php b/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketPresignedUrlNotFoundException.php new file mode 100644 index 00000000..66c5c8b4 --- /dev/null +++ b/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketPresignedUrlNotFoundException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketPresignedUrlServiceUnavailableException.php b/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketPresignedUrlServiceUnavailableException.php new file mode 100644 index 00000000..581e6a58 --- /dev/null +++ b/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketPresignedUrlServiceUnavailableException.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/PostObjectStorageObjectStorageClusterBucketPresignedUrlTooManyRequestsException.php b/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketPresignedUrlTooManyRequestsException.php new file mode 100644 index 00000000..546e8e28 --- /dev/null +++ b/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketPresignedUrlTooManyRequestsException.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/PostObjectStorageObjectStorageClusterBucketPresignedUrlUnprocessableEntityException.php b/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketPresignedUrlUnprocessableEntityException.php new file mode 100644 index 00000000..fbec6ea2 --- /dev/null +++ b/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketPresignedUrlUnprocessableEntityException.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/PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsBadRequestException.php b/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsBadRequestException.php new file mode 100644 index 00000000..a1ee8641 --- /dev/null +++ b/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsBadRequestException.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/PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsForbiddenException.php b/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsForbiddenException.php new file mode 100644 index 00000000..dd69fcaf --- /dev/null +++ b/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsForbiddenException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsGatewayTimeoutException.php b/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsGatewayTimeoutException.php new file mode 100644 index 00000000..bdf527c7 --- /dev/null +++ b/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsGatewayTimeoutException.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/PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsInternalServerErrorException.php b/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsInternalServerErrorException.php new file mode 100644 index 00000000..fcdb0e61 --- /dev/null +++ b/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsInternalServerErrorException.php @@ -0,0 +1,40 @@ +responseMultipleObjectStorageBucketsFoundResponse = $responseMultipleObjectStorageBucketsFoundResponse; + $this->response = $response; + } + + public function getResponseMultipleObjectStorageBucketsFoundResponse(): \KatapultAPI\Core\Model\ResponseMultipleObjectStorageBucketsFoundResponse + { + return $this->responseMultipleObjectStorageBucketsFoundResponse; + } + + public function getResponse(): \Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsNotAcceptableException.php b/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsNotAcceptableException.php new file mode 100644 index 00000000..a846e79b --- /dev/null +++ b/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsNotAcceptableException.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/PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsNotFoundException.php b/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsNotFoundException.php new file mode 100644 index 00000000..6e39bdc8 --- /dev/null +++ b/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsNotFoundException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsServiceUnavailableException.php b/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsServiceUnavailableException.php new file mode 100644 index 00000000..af64e105 --- /dev/null +++ b/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsServiceUnavailableException.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/PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsTooManyRequestsException.php b/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsTooManyRequestsException.php new file mode 100644 index 00000000..249f56a2 --- /dev/null +++ b/src/Core/Exception/PostObjectStorageObjectStorageClusterBucketRevokePresignedUrlsTooManyRequestsException.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/PostOrganizationObjectStorageObjectStorageClusterBucketsBadRequestException.php b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterBucketsBadRequestException.php new file mode 100644 index 00000000..2a59bfae --- /dev/null +++ b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterBucketsBadRequestException.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/PostOrganizationObjectStorageObjectStorageClusterBucketsForbiddenException.php b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterBucketsForbiddenException.php new file mode 100644 index 00000000..2620ccd2 --- /dev/null +++ b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterBucketsForbiddenException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterBucketsNotAcceptableException.php b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterBucketsNotAcceptableException.php new file mode 100644 index 00000000..cdafccf2 --- /dev/null +++ b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterBucketsNotAcceptableException.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/PostOrganizationObjectStorageObjectStorageClusterBucketsNotFoundException.php b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterBucketsNotFoundException.php new file mode 100644 index 00000000..d83c4220 --- /dev/null +++ b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterBucketsNotFoundException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterBucketsServiceUnavailableException.php b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterBucketsServiceUnavailableException.php new file mode 100644 index 00000000..94d867ba --- /dev/null +++ b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterBucketsServiceUnavailableException.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/PostOrganizationObjectStorageObjectStorageClusterBucketsTooManyRequestsException.php b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterBucketsTooManyRequestsException.php new file mode 100644 index 00000000..3262c231 --- /dev/null +++ b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterBucketsTooManyRequestsException.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/PostOrganizationObjectStorageObjectStorageClusterBucketsUnprocessableEntityException.php b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterBucketsUnprocessableEntityException.php new file mode 100644 index 00000000..db36752a --- /dev/null +++ b/src/Core/Exception/PostOrganizationObjectStorageObjectStorageClusterBucketsUnprocessableEntityException.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/PostOrganizationVirtualNetworksBadRequestException.php b/src/Core/Exception/PostOrganizationVirtualNetworksBadRequestException.php new file mode 100644 index 00000000..69331371 --- /dev/null +++ b/src/Core/Exception/PostOrganizationVirtualNetworksBadRequestException.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/PostOrganizationVirtualNetworksForbiddenException.php b/src/Core/Exception/PostOrganizationVirtualNetworksForbiddenException.php new file mode 100644 index 00000000..111afc16 --- /dev/null +++ b/src/Core/Exception/PostOrganizationVirtualNetworksForbiddenException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostOrganizationVirtualNetworksNotFoundException.php b/src/Core/Exception/PostOrganizationVirtualNetworksNotFoundException.php new file mode 100644 index 00000000..8724a452 --- /dev/null +++ b/src/Core/Exception/PostOrganizationVirtualNetworksNotFoundException.php @@ -0,0 +1,30 @@ +response = $response; + } + + public function getResponse(): ?\Psr\Http\Message\ResponseInterface + { + return $this->response; + } +} diff --git a/src/Core/Exception/PostOrganizationVirtualNetworksServiceUnavailableException.php b/src/Core/Exception/PostOrganizationVirtualNetworksServiceUnavailableException.php new file mode 100644 index 00000000..e858b607 --- /dev/null +++ b/src/Core/Exception/PostOrganizationVirtualNetworksServiceUnavailableException.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/PostOrganizationVirtualNetworksTooManyRequestsException.php b/src/Core/Exception/PostOrganizationVirtualNetworksTooManyRequestsException.php new file mode 100644 index 00000000..71277650 --- /dev/null +++ b/src/Core/Exception/PostOrganizationVirtualNetworksTooManyRequestsException.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/PostOrganizationVirtualNetworksUnprocessableEntityException.php b/src/Core/Exception/PostOrganizationVirtualNetworksUnprocessableEntityException.php new file mode 100644 index 00000000..ffe36791 --- /dev/null +++ b/src/Core/Exception/PostOrganizationVirtualNetworksUnprocessableEntityException.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/ObjectNotFoundSchema.php b/src/Core/Model/ObjectNotFoundSchema.php new file mode 100644 index 00000000..93c6d17e --- /dev/null +++ b/src/Core/Model/ObjectNotFoundSchema.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/ObjectStorageAccountNotFoundSchema.php b/src/Core/Model/ObjectStorageAccountNotFoundSchema.php new file mode 100644 index 00000000..2a4ae138 --- /dev/null +++ b/src/Core/Model/ObjectStorageAccountNotFoundSchema.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/ObjectStorageAccountNotProvisionedSchema.php b/src/Core/Model/ObjectStorageAccountNotProvisionedSchema.php new file mode 100644 index 00000000..cd83e073 --- /dev/null +++ b/src/Core/Model/ObjectStorageAccountNotProvisionedSchema.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/ObjectStorageAccountSuspendedSchema.php b/src/Core/Model/ObjectStorageAccountSuspendedSchema.php new file mode 100644 index 00000000..d98257ab --- /dev/null +++ b/src/Core/Model/ObjectStorageAccountSuspendedSchema.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/ObjectStorageBucket.php b/src/Core/Model/ObjectStorageBucket.php new file mode 100644 index 00000000..3e4434d9 --- /dev/null +++ b/src/Core/Model/ObjectStorageBucket.php @@ -0,0 +1,228 @@ +initialized); + } + /** + * @var string + */ + protected $name; + /** + * @var string|null + */ + protected $label; + /** + * @var int + */ + protected $createdAt; + /** + * @var string + */ + protected $state; + /** + * @var string|null + */ + protected $customDomain; + /** + * @var int|null + */ + protected $objectCount; + /** + * @var int|null + */ + protected $size; + /** + * @var bool + */ + protected $serveStaticSite; + /** + * @var string|null + */ + protected $staticSiteIndex; + /** + * @var string|null + */ + protected $staticSiteError; + /** + * @var string + */ + protected $publicUrl; + /** + * @var ObjectStorageBucketAccessControlList + */ + protected $accessControlList; + + public function getName(): string + { + return $this->name; + } + + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } + + public function getLabel(): ?string + { + return $this->label; + } + + public function setLabel(?string $label): self + { + $this->initialized['label'] = true; + $this->label = $label; + + 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 getState(): string + { + return $this->state; + } + + public function setState(string $state): self + { + $this->initialized['state'] = true; + $this->state = $state; + + return $this; + } + + public function getCustomDomain(): ?string + { + return $this->customDomain; + } + + public function setCustomDomain(?string $customDomain): self + { + $this->initialized['customDomain'] = true; + $this->customDomain = $customDomain; + + return $this; + } + + public function getObjectCount(): ?int + { + return $this->objectCount; + } + + public function setObjectCount(?int $objectCount): self + { + $this->initialized['objectCount'] = true; + $this->objectCount = $objectCount; + + return $this; + } + + public function getSize(): ?int + { + return $this->size; + } + + public function setSize(?int $size): self + { + $this->initialized['size'] = true; + $this->size = $size; + + return $this; + } + + public function getServeStaticSite(): bool + { + return $this->serveStaticSite; + } + + public function setServeStaticSite(bool $serveStaticSite): self + { + $this->initialized['serveStaticSite'] = true; + $this->serveStaticSite = $serveStaticSite; + + return $this; + } + + public function getStaticSiteIndex(): ?string + { + return $this->staticSiteIndex; + } + + public function setStaticSiteIndex(?string $staticSiteIndex): self + { + $this->initialized['staticSiteIndex'] = true; + $this->staticSiteIndex = $staticSiteIndex; + + return $this; + } + + public function getStaticSiteError(): ?string + { + return $this->staticSiteError; + } + + public function setStaticSiteError(?string $staticSiteError): self + { + $this->initialized['staticSiteError'] = true; + $this->staticSiteError = $staticSiteError; + + return $this; + } + + public function getPublicUrl(): string + { + return $this->publicUrl; + } + + public function setPublicUrl(string $publicUrl): self + { + $this->initialized['publicUrl'] = true; + $this->publicUrl = $publicUrl; + + return $this; + } + + public function getAccessControlList(): ObjectStorageBucketAccessControlList + { + return $this->accessControlList; + } + + public function setAccessControlList(ObjectStorageBucketAccessControlList $accessControlList): self + { + $this->initialized['accessControlList'] = true; + $this->accessControlList = $accessControlList; + + return $this; + } +} diff --git a/src/Core/Model/ObjectStorageBucketACLArguments.php b/src/Core/Model/ObjectStorageBucketACLArguments.php new file mode 100644 index 00000000..22914c36 --- /dev/null +++ b/src/Core/Model/ObjectStorageBucketACLArguments.php @@ -0,0 +1,170 @@ +initialized); + } + /** + * Allow anyone to read objects in the bucket. + * + * @var bool + */ + protected $publicRead; + /** + * Allow anyone to list objects in the bucket (requires public_read). + * + * @var bool + */ + protected $publicList; + /** + * Allow any access key to read objects in the bucket. + * + * @var bool + */ + protected $allKeysRead; + /** + * Allow any access key to create or delete objects in the bucket. + * + * @var bool + */ + protected $allKeysWrite; + /** + * @var list + */ + protected $readKeyIds; + /** + * @var list + */ + protected $writeKeyIds; + + /** + * Allow anyone to read objects in the bucket. + */ + public function getPublicRead(): bool + { + return $this->publicRead; + } + + /** + * Allow anyone to read objects in the bucket. + */ + public function setPublicRead(bool $publicRead): self + { + $this->initialized['publicRead'] = true; + $this->publicRead = $publicRead; + + return $this; + } + + /** + * Allow anyone to list objects in the bucket (requires public_read). + */ + public function getPublicList(): bool + { + return $this->publicList; + } + + /** + * Allow anyone to list objects in the bucket (requires public_read). + */ + public function setPublicList(bool $publicList): self + { + $this->initialized['publicList'] = true; + $this->publicList = $publicList; + + return $this; + } + + /** + * Allow any access key to read objects in the bucket. + */ + public function getAllKeysRead(): bool + { + return $this->allKeysRead; + } + + /** + * Allow any access key to read objects in the bucket. + */ + public function setAllKeysRead(bool $allKeysRead): self + { + $this->initialized['allKeysRead'] = true; + $this->allKeysRead = $allKeysRead; + + return $this; + } + + /** + * Allow any access key to create or delete objects in the bucket. + */ + public function getAllKeysWrite(): bool + { + return $this->allKeysWrite; + } + + /** + * Allow any access key to create or delete objects in the bucket. + */ + public function setAllKeysWrite(bool $allKeysWrite): self + { + $this->initialized['allKeysWrite'] = true; + $this->allKeysWrite = $allKeysWrite; + + return $this; + } + + /** + * @return list + */ + public function getReadKeyIds(): array + { + return $this->readKeyIds; + } + + /** + * @param list $readKeyIds + */ + public function setReadKeyIds(array $readKeyIds): self + { + $this->initialized['readKeyIds'] = true; + $this->readKeyIds = $readKeyIds; + + return $this; + } + + /** + * @return list + */ + public function getWriteKeyIds(): array + { + return $this->writeKeyIds; + } + + /** + * @param list $writeKeyIds + */ + public function setWriteKeyIds(array $writeKeyIds): self + { + $this->initialized['writeKeyIds'] = true; + $this->writeKeyIds = $writeKeyIds; + + return $this; + } +} diff --git a/src/Core/Model/ObjectStorageBucketAccessControlList.php b/src/Core/Model/ObjectStorageBucketAccessControlList.php new file mode 100644 index 00000000..8562f4d2 --- /dev/null +++ b/src/Core/Model/ObjectStorageBucketAccessControlList.php @@ -0,0 +1,138 @@ +initialized); + } + /** + * @var bool + */ + protected $publicRead; + /** + * @var bool + */ + protected $publicList; + /** + * @var bool + */ + protected $allKeysRead; + /** + * @var bool + */ + protected $allKeysWrite; + /** + * @var list + */ + protected $readKeyIds; + /** + * @var list + */ + protected $writeKeyIds; + + public function getPublicRead(): bool + { + return $this->publicRead; + } + + public function setPublicRead(bool $publicRead): self + { + $this->initialized['publicRead'] = true; + $this->publicRead = $publicRead; + + return $this; + } + + public function getPublicList(): bool + { + return $this->publicList; + } + + public function setPublicList(bool $publicList): self + { + $this->initialized['publicList'] = true; + $this->publicList = $publicList; + + return $this; + } + + public function getAllKeysRead(): bool + { + return $this->allKeysRead; + } + + public function setAllKeysRead(bool $allKeysRead): self + { + $this->initialized['allKeysRead'] = true; + $this->allKeysRead = $allKeysRead; + + return $this; + } + + public function getAllKeysWrite(): bool + { + return $this->allKeysWrite; + } + + public function setAllKeysWrite(bool $allKeysWrite): self + { + $this->initialized['allKeysWrite'] = true; + $this->allKeysWrite = $allKeysWrite; + + return $this; + } + + /** + * @return list + */ + public function getReadKeyIds(): array + { + return $this->readKeyIds; + } + + /** + * @param list $readKeyIds + */ + public function setReadKeyIds(array $readKeyIds): self + { + $this->initialized['readKeyIds'] = true; + $this->readKeyIds = $readKeyIds; + + return $this; + } + + /** + * @return list + */ + public function getWriteKeyIds(): array + { + return $this->writeKeyIds; + } + + /** + * @param list $writeKeyIds + */ + public function setWriteKeyIds(array $writeKeyIds): self + { + $this->initialized['writeKeyIds'] = true; + $this->writeKeyIds = $writeKeyIds; + + return $this; + } +} diff --git a/src/Core/Model/ObjectStorageBucketArguments.php b/src/Core/Model/ObjectStorageBucketArguments.php new file mode 100644 index 00000000..064fef26 --- /dev/null +++ b/src/Core/Model/ObjectStorageBucketArguments.php @@ -0,0 +1,174 @@ +initialized); + } + /** + * Can only include lowercase alphanumeric characters and hyphens, has to be globally unique. + * + * @var string + */ + protected $name; + /** + * Optional alternative name/comment. + * + * @var string + */ + protected $label; + /** + * Whether to serve the bucket as a static website, defaults to false. + * + * @var bool + */ + protected $serveStaticSite; + /** + * Optional name of the index html page for a static website (requires public_read). + * + * @var string + */ + protected $staticSiteIndex; + /** + * Optional name of the error html page for a static website (requires public_read). + * + * @var string + */ + protected $staticSiteError; + /** + * All 'access_control_list[]' params are mutually exclusive, only one can be provided. + * + * @var ObjectStorageBucketACLArguments + */ + protected $accessControlList; + + /** + * Can only include lowercase alphanumeric characters and hyphens, has to be globally unique. + */ + public function getName(): string + { + return $this->name; + } + + /** + * Can only include lowercase alphanumeric characters and hyphens, has to be globally unique. + */ + public function setName(string $name): self + { + $this->initialized['name'] = true; + $this->name = $name; + + return $this; + } + + /** + * Optional alternative name/comment. + */ + public function getLabel(): string + { + return $this->label; + } + + /** + * Optional alternative name/comment. + */ + public function setLabel(string $label): self + { + $this->initialized['label'] = true; + $this->label = $label; + + return $this; + } + + /** + * Whether to serve the bucket as a static website, defaults to false. + */ + public function getServeStaticSite(): bool + { + return $this->serveStaticSite; + } + + /** + * Whether to serve the bucket as a static website, defaults to false. + */ + public function setServeStaticSite(bool $serveStaticSite): self + { + $this->initialized['serveStaticSite'] = true; + $this->serveStaticSite = $serveStaticSite; + + return $this; + } + + /** + * Optional name of the index html page for a static website (requires public_read). + */ + public function getStaticSiteIndex(): string + { + return $this->staticSiteIndex; + } + + /** + * Optional name of the index html page for a static website (requires public_read). + */ + public function setStaticSiteIndex(string $staticSiteIndex): self + { + $this->initialized['staticSiteIndex'] = true; + $this->staticSiteIndex = $staticSiteIndex; + + return $this; + } + + /** + * Optional name of the error html page for a static website (requires public_read). + */ + public function getStaticSiteError(): string + { + return $this->staticSiteError; + } + + /** + * Optional name of the error html page for a static website (requires public_read). + */ + public function setStaticSiteError(string $staticSiteError): self + { + $this->initialized['staticSiteError'] = true; + $this->staticSiteError = $staticSiteError; + + 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; + $this->accessControlList = $accessControlList; + + return $this; + } +} diff --git a/src/Core/Model/ObjectStorageBucketDeletionError.php b/src/Core/Model/ObjectStorageBucketDeletionError.php new file mode 100644 index 00000000..5516674f --- /dev/null +++ b/src/Core/Model/ObjectStorageBucketDeletionError.php @@ -0,0 +1,41 @@ +initialized); + } + /** + * @var string|null + */ + protected $details; + + public function getDetails(): ?string + { + return $this->details; + } + + public function setDetails(?string $details): self + { + $this->initialized['details'] = true; + $this->details = $details; + + return $this; + } +} diff --git a/src/Core/Model/ObjectStorageBucketDeletionErrorSchema.php b/src/Core/Model/ObjectStorageBucketDeletionErrorSchema.php new file mode 100644 index 00000000..81a97860 --- /dev/null +++ b/src/Core/Model/ObjectStorageBucketDeletionErrorSchema.php @@ -0,0 +1,75 @@ +initialized); + } + /** + * @var string + */ + protected $code; + /** + * @var string + */ + protected $description; + /** + * @var ObjectStorageBucketDeletionError + */ + 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; + } + + public function getDetail(): ObjectStorageBucketDeletionError + { + return $this->detail; + } + + public function setDetail(ObjectStorageBucketDeletionError $detail): self + { + $this->initialized['detail'] = true; + $this->detail = $detail; + + return $this; + } +} diff --git a/src/Core/Model/ObjectStorageBucketLookup.php b/src/Core/Model/ObjectStorageBucketLookup.php new file mode 100644 index 00000000..6c5f11fd --- /dev/null +++ b/src/Core/Model/ObjectStorageBucketLookup.php @@ -0,0 +1,41 @@ +initialized); + } + /** + * @var string + */ + protected $name; + + 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/ObjectStorageBucketNotFoundSchema.php b/src/Core/Model/ObjectStorageBucketNotFoundSchema.php new file mode 100644 index 00000000..fc229ceb --- /dev/null +++ b/src/Core/Model/ObjectStorageBucketNotFoundSchema.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/ObjectStorageClusterLookup.php b/src/Core/Model/ObjectStorageClusterLookup.php new file mode 100644 index 00000000..01a8d961 --- /dev/null +++ b/src/Core/Model/ObjectStorageClusterLookup.php @@ -0,0 +1,41 @@ +initialized); + } + /** + * @var string + */ + protected $region; + + public function getRegion(): string + { + return $this->region; + } + + public function setRegion(string $region): self + { + $this->initialized['region'] = true; + $this->region = $region; + + return $this; + } +} diff --git a/src/Core/Model/ObjectStorageClusterNotFoundSchema.php b/src/Core/Model/ObjectStorageClusterNotFoundSchema.php new file mode 100644 index 00000000..8f14f2b8 --- /dev/null +++ b/src/Core/Model/ObjectStorageClusterNotFoundSchema.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/ObjectStorageObject.php b/src/Core/Model/ObjectStorageObject.php new file mode 100644 index 00000000..ba75c97a --- /dev/null +++ b/src/Core/Model/ObjectStorageObject.php @@ -0,0 +1,134 @@ +initialized); + } + /** + * @var string + */ + protected $filename; + /** + * @var string + */ + protected $bucketName; + /** + * @var string + */ + protected $fullPath; + /** + * @var string + */ + protected $publicUrl; + /** + * The length of the object content in the response body, in bytes. + * + * @var int|null + */ + protected $size; + /** + * @var bool + */ + protected $folder; + + public function getFilename(): string + { + return $this->filename; + } + + public function setFilename(string $filename): self + { + $this->initialized['filename'] = true; + $this->filename = $filename; + + return $this; + } + + public function getBucketName(): string + { + return $this->bucketName; + } + + public function setBucketName(string $bucketName): self + { + $this->initialized['bucketName'] = true; + $this->bucketName = $bucketName; + + return $this; + } + + public function getFullPath(): string + { + return $this->fullPath; + } + + public function setFullPath(string $fullPath): self + { + $this->initialized['fullPath'] = true; + $this->fullPath = $fullPath; + + return $this; + } + + public function getPublicUrl(): string + { + return $this->publicUrl; + } + + public function setPublicUrl(string $publicUrl): self + { + $this->initialized['publicUrl'] = true; + $this->publicUrl = $publicUrl; + + return $this; + } + + /** + * The length of the object content in the response body, in bytes. + */ + public function getSize(): ?int + { + return $this->size; + } + + /** + * The length of the object content in the response body, in bytes. + */ + public function setSize(?int $size): self + { + $this->initialized['size'] = true; + $this->size = $size; + + return $this; + } + + public function getFolder(): bool + { + return $this->folder; + } + + public function setFolder(bool $folder): self + { + $this->initialized['folder'] = true; + $this->folder = $folder; + + return $this; + } +} diff --git a/src/Core/Model/ObjectStorageObjectPresignedURLArguments.php b/src/Core/Model/ObjectStorageObjectPresignedURLArguments.php new file mode 100644 index 00000000..d410ba03 --- /dev/null +++ b/src/Core/Model/ObjectStorageObjectPresignedURLArguments.php @@ -0,0 +1,49 @@ +initialized); + } + /** + * The number of seconds the url should be valid for. + * + * @var int + */ + protected $expirySeconds; + + /** + * The number of seconds the url should be valid for. + */ + public function getExpirySeconds(): int + { + return $this->expirySeconds; + } + + /** + * The number of seconds the url should be valid for. + */ + public function setExpirySeconds(int $expirySeconds): self + { + $this->initialized['expirySeconds'] = true; + $this->expirySeconds = $expirySeconds; + + return $this; + } +} diff --git a/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketDeleteBody.php b/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketDeleteBody.php new file mode 100644 index 00000000..10a525fb --- /dev/null +++ b/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketDeleteBody.php @@ -0,0 +1,74 @@ +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; + $this->objectStorageCluster = $objectStorageCluster; + + 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; + $this->bucket = $bucket; + + return $this; + } +} diff --git a/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketDeleteResponse200.php b/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketDeleteResponse200.php new file mode 100644 index 00000000..75f70649 --- /dev/null +++ b/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketDeleteResponse200.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/ObjectStorageObjectStorageClusterBucketsBucketGetResponse200.php b/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketGetResponse200.php new file mode 100644 index 00000000..8d14ac40 --- /dev/null +++ b/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketGetResponse200.php @@ -0,0 +1,41 @@ +initialized); + } + /** + * @var ObjectStorageBucket + */ + protected $objectStorageBucket; + + public function getObjectStorageBucket(): ObjectStorageBucket + { + return $this->objectStorageBucket; + } + + public function setObjectStorageBucket(ObjectStorageBucket $objectStorageBucket): self + { + $this->initialized['objectStorageBucket'] = true; + $this->objectStorageBucket = $objectStorageBucket; + + return $this; + } +} diff --git a/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketObjectGetResponse200.php b/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketObjectGetResponse200.php new file mode 100644 index 00000000..76ffb124 --- /dev/null +++ b/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketObjectGetResponse200.php @@ -0,0 +1,41 @@ +initialized); + } + /** + * @var ObjectStorageObject + */ + protected $objectDetails; + + public function getObjectDetails(): ObjectStorageObject + { + return $this->objectDetails; + } + + public function setObjectDetails(ObjectStorageObject $objectDetails): self + { + $this->initialized['objectDetails'] = true; + $this->objectDetails = $objectDetails; + + return $this; + } +} diff --git a/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketPatchBody.php b/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketPatchBody.php new file mode 100644 index 00000000..305e33a1 --- /dev/null +++ b/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketPatchBody.php @@ -0,0 +1,99 @@ +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; + $this->objectStorageCluster = $objectStorageCluster; + + 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; + $this->bucket = $bucket; + + 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; + $this->properties = $properties; + + return $this; + } +} diff --git a/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketPatchResponse200.php b/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketPatchResponse200.php new file mode 100644 index 00000000..39dedf95 --- /dev/null +++ b/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketPatchResponse200.php @@ -0,0 +1,41 @@ +initialized); + } + /** + * @var ObjectStorageBucket + */ + protected $objectStorageBucket; + + public function getObjectStorageBucket(): ObjectStorageBucket + { + return $this->objectStorageBucket; + } + + public function setObjectStorageBucket(ObjectStorageBucket $objectStorageBucket): self + { + $this->initialized['objectStorageBucket'] = true; + $this->objectStorageBucket = $objectStorageBucket; + + return $this; + } +} diff --git a/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostBody.php b/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostBody.php new file mode 100644 index 00000000..b8777f70 --- /dev/null +++ b/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostBody.php @@ -0,0 +1,124 @@ +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; + /** + * The name or path for the object. + * + * @var string + */ + 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; + $this->objectStorageCluster = $objectStorageCluster; + + 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; + $this->bucket = $bucket; + + return $this; + } + + /** + * The name or path for the object. + */ + public function getPath(): string + { + return $this->path; + } + + /** + * The name or path for the object. + */ + public function setPath(string $path): self + { + $this->initialized['path'] = true; + $this->path = $path; + + 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; + $this->properties = $properties; + + return $this; + } +} diff --git a/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostResponse200.php b/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostResponse200.php new file mode 100644 index 00000000..b65aff40 --- /dev/null +++ b/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostResponse200.php @@ -0,0 +1,41 @@ +initialized); + } + /** + * @var string + */ + protected $url; + + public function getUrl(): string + { + return $this->url; + } + + public function setUrl(string $url): self + { + $this->initialized['url'] = true; + $this->url = $url; + + return $this; + } +} diff --git a/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostBody.php b/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostBody.php new file mode 100644 index 00000000..5e10e3a6 --- /dev/null +++ b/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostBody.php @@ -0,0 +1,74 @@ +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; + $this->objectStorageCluster = $objectStorageCluster; + + 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; + $this->bucket = $bucket; + + return $this; + } +} diff --git a/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostResponse200.php b/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostResponse200.php new file mode 100644 index 00000000..d1601a28 --- /dev/null +++ b/src/Core/Model/ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostResponse200.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/OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostBody.php b/src/Core/Model/OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostBody.php new file mode 100644 index 00000000..123ccb7f --- /dev/null +++ b/src/Core/Model/OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostBody.php @@ -0,0 +1,99 @@ +initialized); + } + /** + * All 'organization[]' params are mutually exclusive, only one can be provided. + * + * @var OrganizationLookup + */ + 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; + + /** + * 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; + } + + /** + * 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; + $this->objectStorageCluster = $objectStorageCluster; + + 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; + $this->properties = $properties; + + return $this; + } +} diff --git a/src/Core/Model/OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostResponse201.php b/src/Core/Model/OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostResponse201.php new file mode 100644 index 00000000..29de9ae6 --- /dev/null +++ b/src/Core/Model/OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostResponse201.php @@ -0,0 +1,41 @@ +initialized); + } + /** + * @var ObjectStorageBucket + */ + protected $objectStorageBucket; + + public function getObjectStorageBucket(): ObjectStorageBucket + { + return $this->objectStorageBucket; + } + + public function setObjectStorageBucket(ObjectStorageBucket $objectStorageBucket): self + { + $this->initialized['objectStorageBucket'] = true; + $this->objectStorageBucket = $objectStorageBucket; + + return $this; + } +} diff --git a/src/Core/Model/OrganizationsOrganizationVirtualNetworksGetResponse200.php b/src/Core/Model/OrganizationsOrganizationVirtualNetworksGetResponse200.php new file mode 100644 index 00000000..4178189d --- /dev/null +++ b/src/Core/Model/OrganizationsOrganizationVirtualNetworksGetResponse200.php @@ -0,0 +1,70 @@ +initialized); + } + /** + * @var PaginationObject + */ + protected $pagination; + /** + * The virtual networks for the provided organization. + * + * @var list + */ + protected $virtualNetworks; + + public function getPagination(): PaginationObject + { + return $this->pagination; + } + + public function setPagination(PaginationObject $pagination): self + { + $this->initialized['pagination'] = true; + $this->pagination = $pagination; + + return $this; + } + + /** + * The virtual networks for the provided organization. + * + * @return list + */ + public function getVirtualNetworks(): array + { + return $this->virtualNetworks; + } + + /** + * The virtual networks for the provided organization. + * + * @param list $virtualNetworks + */ + public function setVirtualNetworks(array $virtualNetworks): self + { + $this->initialized['virtualNetworks'] = true; + $this->virtualNetworks = $virtualNetworks; + + return $this; + } +} diff --git a/src/Core/Model/OrganizationsOrganizationVirtualNetworksPostBody.php b/src/Core/Model/OrganizationsOrganizationVirtualNetworksPostBody.php new file mode 100644 index 00000000..33336a7e --- /dev/null +++ b/src/Core/Model/OrganizationsOrganizationVirtualNetworksPostBody.php @@ -0,0 +1,99 @@ +initialized); + } + /** + * All 'organization[]' params are mutually exclusive, only one can be provided. + * + * @var OrganizationLookup + */ + protected $organization; + /** + * All 'data_center[]' params are mutually exclusive, only one can be provided. + * + * @var DataCenterLookup + */ + protected $dataCenter; + /** + * All 'properties[]' params are mutually exclusive, only one can be provided. + * + * @var VirtualNetworkArguments + */ + 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; + } + + /** + * All 'data_center[]' params are mutually exclusive, only one can be provided. + */ + public function getDataCenter(): DataCenterLookup + { + return $this->dataCenter; + } + + /** + * All 'data_center[]' params are mutually exclusive, only one can be provided. + */ + public function setDataCenter(DataCenterLookup $dataCenter): self + { + $this->initialized['dataCenter'] = true; + $this->dataCenter = $dataCenter; + + 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; + $this->properties = $properties; + + return $this; + } +} diff --git a/src/Core/Model/OrganizationsOrganizationVirtualNetworksPostResponse200.php b/src/Core/Model/OrganizationsOrganizationVirtualNetworksPostResponse200.php new file mode 100644 index 00000000..911e5773 --- /dev/null +++ b/src/Core/Model/OrganizationsOrganizationVirtualNetworksPostResponse200.php @@ -0,0 +1,49 @@ +initialized); + } + /** + * The new virtual network details. + * + * @var OrganizationsOrganizationVirtualNetworksPostResponse200VirtualNetwork + */ + protected $virtualNetwork; + + /** + * The new virtual network details. + */ + public function getVirtualNetwork(): OrganizationsOrganizationVirtualNetworksPostResponse200VirtualNetwork + { + return $this->virtualNetwork; + } + + /** + * The new virtual network details. + */ + public function setVirtualNetwork(OrganizationsOrganizationVirtualNetworksPostResponse200VirtualNetwork $virtualNetwork): self + { + $this->initialized['virtualNetwork'] = true; + $this->virtualNetwork = $virtualNetwork; + + return $this; + } +} diff --git a/src/Core/Model/OrganizationsOrganizationVirtualNetworksPostResponse200VirtualNetwork.php b/src/Core/Model/OrganizationsOrganizationVirtualNetworksPostResponse200VirtualNetwork.php new file mode 100644 index 00000000..f586b580 --- /dev/null +++ b/src/Core/Model/OrganizationsOrganizationVirtualNetworksPostResponse200VirtualNetwork.php @@ -0,0 +1,75 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + /** + * @var DataCenter + */ + protected $dataCenter; + + 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 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/ResponseMultipleObjectStorageBucketsFoundResponse.php b/src/Core/Model/ResponseMultipleObjectStorageBucketsFoundResponse.php new file mode 100644 index 00000000..3719e6ac --- /dev/null +++ b/src/Core/Model/ResponseMultipleObjectStorageBucketsFoundResponse.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/ResponseNetworkErrorResponse.php b/src/Core/Model/ResponseNetworkErrorResponse.php new file mode 100644 index 00000000..775ff114 --- /dev/null +++ b/src/Core/Model/ResponseNetworkErrorResponse.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/ResponseVirtualNetworkNotFoundResponse.php b/src/Core/Model/ResponseVirtualNetworkNotFoundResponse.php new file mode 100644 index 00000000..f270da54 --- /dev/null +++ b/src/Core/Model/ResponseVirtualNetworkNotFoundResponse.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/VirtualNetwork.php b/src/Core/Model/VirtualNetwork.php new file mode 100644 index 00000000..3a978087 --- /dev/null +++ b/src/Core/Model/VirtualNetwork.php @@ -0,0 +1,75 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + /** + * @var DataCenter + */ + protected $dataCenter; + + 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 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/VirtualNetworkArguments.php b/src/Core/Model/VirtualNetworkArguments.php new file mode 100644 index 00000000..56e983c4 --- /dev/null +++ b/src/Core/Model/VirtualNetworkArguments.php @@ -0,0 +1,41 @@ +initialized); + } + /** + * @var string + */ + protected $name; + + 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/VirtualNetworkLookup.php b/src/Core/Model/VirtualNetworkLookup.php new file mode 100644 index 00000000..521b56f0 --- /dev/null +++ b/src/Core/Model/VirtualNetworkLookup.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/VirtualNetworksVirtualNetworkDeleteBody.php b/src/Core/Model/VirtualNetworksVirtualNetworkDeleteBody.php new file mode 100644 index 00000000..94771a07 --- /dev/null +++ b/src/Core/Model/VirtualNetworksVirtualNetworkDeleteBody.php @@ -0,0 +1,49 @@ +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; + $this->virtualNetwork = $virtualNetwork; + + return $this; + } +} diff --git a/src/Core/Model/VirtualNetworksVirtualNetworkDeleteResponse200.php b/src/Core/Model/VirtualNetworksVirtualNetworkDeleteResponse200.php new file mode 100644 index 00000000..d142913e --- /dev/null +++ b/src/Core/Model/VirtualNetworksVirtualNetworkDeleteResponse200.php @@ -0,0 +1,49 @@ +initialized); + } + /** + * The details for the deleted virtual network. + * + * @var VirtualNetworksVirtualNetworkDeleteResponse200VirtualNetwork + */ + protected $virtualNetwork; + + /** + * The details for the deleted virtual network. + */ + public function getVirtualNetwork(): VirtualNetworksVirtualNetworkDeleteResponse200VirtualNetwork + { + return $this->virtualNetwork; + } + + /** + * The details for the deleted virtual network. + */ + public function setVirtualNetwork(VirtualNetworksVirtualNetworkDeleteResponse200VirtualNetwork $virtualNetwork): self + { + $this->initialized['virtualNetwork'] = true; + $this->virtualNetwork = $virtualNetwork; + + return $this; + } +} diff --git a/src/Core/Model/VirtualNetworksVirtualNetworkDeleteResponse200VirtualNetwork.php b/src/Core/Model/VirtualNetworksVirtualNetworkDeleteResponse200VirtualNetwork.php new file mode 100644 index 00000000..525f61ec --- /dev/null +++ b/src/Core/Model/VirtualNetworksVirtualNetworkDeleteResponse200VirtualNetwork.php @@ -0,0 +1,75 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + /** + * @var DataCenter + */ + protected $dataCenter; + + 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 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/VirtualNetworksVirtualNetworkGetResponse200.php b/src/Core/Model/VirtualNetworksVirtualNetworkGetResponse200.php new file mode 100644 index 00000000..9a26db41 --- /dev/null +++ b/src/Core/Model/VirtualNetworksVirtualNetworkGetResponse200.php @@ -0,0 +1,49 @@ +initialized); + } + /** + * The virtual network details. + * + * @var VirtualNetworksVirtualNetworkGetResponse200VirtualNetwork + */ + protected $virtualNetwork; + + /** + * The virtual network details. + */ + public function getVirtualNetwork(): VirtualNetworksVirtualNetworkGetResponse200VirtualNetwork + { + return $this->virtualNetwork; + } + + /** + * The virtual network details. + */ + public function setVirtualNetwork(VirtualNetworksVirtualNetworkGetResponse200VirtualNetwork $virtualNetwork): self + { + $this->initialized['virtualNetwork'] = true; + $this->virtualNetwork = $virtualNetwork; + + return $this; + } +} diff --git a/src/Core/Model/VirtualNetworksVirtualNetworkGetResponse200VirtualNetwork.php b/src/Core/Model/VirtualNetworksVirtualNetworkGetResponse200VirtualNetwork.php new file mode 100644 index 00000000..0f3cea01 --- /dev/null +++ b/src/Core/Model/VirtualNetworksVirtualNetworkGetResponse200VirtualNetwork.php @@ -0,0 +1,75 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + /** + * @var DataCenter + */ + protected $dataCenter; + + 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 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/VirtualNetworksVirtualNetworkPatchBody.php b/src/Core/Model/VirtualNetworksVirtualNetworkPatchBody.php new file mode 100644 index 00000000..22b5a339 --- /dev/null +++ b/src/Core/Model/VirtualNetworksVirtualNetworkPatchBody.php @@ -0,0 +1,74 @@ +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; + $this->virtualNetwork = $virtualNetwork; + + 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; + $this->properties = $properties; + + return $this; + } +} diff --git a/src/Core/Model/VirtualNetworksVirtualNetworkPatchResponse200.php b/src/Core/Model/VirtualNetworksVirtualNetworkPatchResponse200.php new file mode 100644 index 00000000..9f6fa243 --- /dev/null +++ b/src/Core/Model/VirtualNetworksVirtualNetworkPatchResponse200.php @@ -0,0 +1,49 @@ +initialized); + } + /** + * The updated virtual network details. + * + * @var VirtualNetworksVirtualNetworkPatchResponse200VirtualNetwork + */ + protected $virtualNetwork; + + /** + * The updated virtual network details. + */ + public function getVirtualNetwork(): VirtualNetworksVirtualNetworkPatchResponse200VirtualNetwork + { + return $this->virtualNetwork; + } + + /** + * The updated virtual network details. + */ + public function setVirtualNetwork(VirtualNetworksVirtualNetworkPatchResponse200VirtualNetwork $virtualNetwork): self + { + $this->initialized['virtualNetwork'] = true; + $this->virtualNetwork = $virtualNetwork; + + return $this; + } +} diff --git a/src/Core/Model/VirtualNetworksVirtualNetworkPatchResponse200VirtualNetwork.php b/src/Core/Model/VirtualNetworksVirtualNetworkPatchResponse200VirtualNetwork.php new file mode 100644 index 00000000..d6192028 --- /dev/null +++ b/src/Core/Model/VirtualNetworksVirtualNetworkPatchResponse200VirtualNetwork.php @@ -0,0 +1,75 @@ +initialized); + } + /** + * @var string + */ + protected $id; + /** + * @var string + */ + protected $name; + /** + * @var DataCenter + */ + protected $dataCenter; + + 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 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/Normalizer/JaneObjectNormalizer.php b/src/Core/Normalizer/JaneObjectNormalizer.php index 6fb532c7..1a17c97f 100644 --- a/src/Core/Normalizer/JaneObjectNormalizer.php +++ b/src/Core/Normalizer/JaneObjectNormalizer.php @@ -794,6 +794,12 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\NetworkSpeedProfile::class => NetworkSpeedProfileNormalizer::class, + \KatapultAPI\Core\Model\VirtualNetwork::class => VirtualNetworkNormalizer::class, + + \KatapultAPI\Core\Model\VirtualNetworkArguments::class => VirtualNetworkArgumentsNormalizer::class, + + \KatapultAPI\Core\Model\VirtualNetworkLookup::class => VirtualNetworkLookupNormalizer::class, + \KatapultAPI\Core\Model\GetAddressLists200ResponseAddressLists::class => GetAddressLists200ResponseAddressListsNormalizer::class, \KatapultAPI\Core\Model\GetOrganizationAddressLists200ResponseAddressLists::class => GetOrganizationAddressLists200ResponseAddressListsNormalizer::class, @@ -958,6 +964,38 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\IdentityNotLinkedToWebSessionSchema::class => IdentityNotLinkedToWebSessionSchemaNormalizer::class, + \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\ObjectStorageBucketAccessControlList::class => ObjectStorageBucketAccessControlListNormalizer::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\ObjectStorageBucketLookup::class => ObjectStorageBucketLookupNormalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageBucketNotFoundSchema::class => ObjectStorageBucketNotFoundSchemaNormalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageBucketDeletionError::class => ObjectStorageBucketDeletionErrorNormalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageBucketDeletionErrorSchema::class => ObjectStorageBucketDeletionErrorSchemaNormalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageObject::class => ObjectStorageObjectNormalizer::class, + + \KatapultAPI\Core\Model\ObjectNotFoundSchema::class => ObjectNotFoundSchemaNormalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageObjectPresignedURLArguments::class => ObjectStorageObjectPresignedURLArgumentsNormalizer::class, + \KatapultAPI\Core\Model\ResponseAPIAuthenticator400Response::class => ResponseAPIAuthenticator400ResponseNormalizer::class, \KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response::class => ResponseAPIAuthenticator429ResponseNormalizer::class, @@ -1020,6 +1058,8 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\ResponseNetworkNotFoundResponse::class => ResponseNetworkNotFoundResponseNormalizer::class, + \KatapultAPI\Core\Model\ResponseVirtualNetworkNotFoundResponse::class => ResponseVirtualNetworkNotFoundResponseNormalizer::class, + \KatapultAPI\Core\Model\ResponseAddressListNotFoundResponse::class => ResponseAddressListNotFoundResponseNormalizer::class, \KatapultAPI\Core\Model\ResponseAddressListEntryNotFoundResponse::class => ResponseAddressListEntryNotFoundResponseNormalizer::class, @@ -1060,6 +1100,10 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\ResponseNoUserAssociatedWithIdentityResponse::class => ResponseNoUserAssociatedWithIdentityResponseNormalizer::class, + \KatapultAPI\Core\Model\ResponseMultipleObjectStorageBucketsFoundResponse::class => ResponseMultipleObjectStorageBucketsFoundResponseNormalizer::class, + + \KatapultAPI\Core\Model\ResponseNetworkErrorResponse::class => ResponseNetworkErrorResponseNormalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationApiTokensGetResponse200::class => OrganizationsOrganizationApiTokensGetResponse200Normalizer::class, \KatapultAPI\Core\Model\OrganizationsOrganizationApiTokensPostBody::class => OrganizationsOrganizationApiTokensPostBodyNormalizer::class, @@ -1086,6 +1130,34 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\ApiTokensApiTokenRegenerateSecretPostResponse200ApiToken::class => ApiTokensApiTokenRegenerateSecretPostResponse200ApiTokenNormalizer::class, + \KatapultAPI\Core\Model\AddressListsAddressListEntriesGetResponse200::class => AddressListsAddressListEntriesGetResponse200Normalizer::class, + + \KatapultAPI\Core\Model\AddressListsAddressListEntriesPostBody::class => AddressListsAddressListEntriesPostBodyNormalizer::class, + + \KatapultAPI\Core\Model\AddressListsAddressListEntriesPostResponse201::class => AddressListsAddressListEntriesPostResponse201Normalizer::class, + + \KatapultAPI\Core\Model\AddressListsAddressListEntriesPostResponse201AddressListEntry::class => AddressListsAddressListEntriesPostResponse201AddressListEntryNormalizer::class, + + \KatapultAPI\Core\Model\AddressListEntriesAddressListEntryDeleteBody::class => AddressListEntriesAddressListEntryDeleteBodyNormalizer::class, + + \KatapultAPI\Core\Model\AddressListEntriesAddressListEntryDeleteResponse200::class => AddressListEntriesAddressListEntryDeleteResponse200Normalizer::class, + + \KatapultAPI\Core\Model\AddressListEntriesAddressListEntryDeleteResponse200AddressListEntry::class => AddressListEntriesAddressListEntryDeleteResponse200AddressListEntryNormalizer::class, + + \KatapultAPI\Core\Model\AddressListEntriesAddressListEntryGetResponse200::class => AddressListEntriesAddressListEntryGetResponse200Normalizer::class, + + \KatapultAPI\Core\Model\AddressListEntriesAddressListEntryGetResponse200AddressListEntry::class => AddressListEntriesAddressListEntryGetResponse200AddressListEntryNormalizer::class, + + \KatapultAPI\Core\Model\AddressListEntriesAddressListEntryPatchBody::class => AddressListEntriesAddressListEntryPatchBodyNormalizer::class, + + \KatapultAPI\Core\Model\AddressListEntriesAddressListEntryPatchResponse200::class => AddressListEntriesAddressListEntryPatchResponse200Normalizer::class, + + \KatapultAPI\Core\Model\AddressListEntriesAddressListEntryPatchResponse200AddressListEntry::class => AddressListEntriesAddressListEntryPatchResponse200AddressListEntryNormalizer::class, + + \KatapultAPI\Core\Model\AddressListsAddressListEntriesBulkPostBody::class => AddressListsAddressListEntriesBulkPostBodyNormalizer::class, + + \KatapultAPI\Core\Model\AddressListsAddressListEntriesBulkPostResponse200::class => AddressListsAddressListEntriesBulkPostResponse200Normalizer::class, + \KatapultAPI\Core\Model\AddressListsGetResponse200::class => AddressListsGetResponse200Normalizer::class, \KatapultAPI\Core\Model\OrganizationsOrganizationAddressListsGetResponse200::class => OrganizationsOrganizationAddressListsGetResponse200Normalizer::class, @@ -1112,38 +1184,52 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\AddressListsAddressListPatchResponse200AddressList::class => AddressListsAddressListPatchResponse200AddressListNormalizer::class, - \KatapultAPI\Core\Model\AddressListsAddressListEntriesGetResponse200::class => AddressListsAddressListEntriesGetResponse200Normalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostBody::class => OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostBodyNormalizer::class, - \KatapultAPI\Core\Model\AddressListsAddressListEntriesPostBody::class => AddressListsAddressListEntriesPostBodyNormalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostResponse201::class => OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostResponse201Normalizer::class, - \KatapultAPI\Core\Model\AddressListsAddressListEntriesPostResponse201::class => AddressListsAddressListEntriesPostResponse201Normalizer::class, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketDeleteBody::class => ObjectStorageObjectStorageClusterBucketsBucketDeleteBodyNormalizer::class, - \KatapultAPI\Core\Model\AddressListsAddressListEntriesPostResponse201AddressListEntry::class => AddressListsAddressListEntriesPostResponse201AddressListEntryNormalizer::class, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketDeleteResponse200::class => ObjectStorageObjectStorageClusterBucketsBucketDeleteResponse200Normalizer::class, - \KatapultAPI\Core\Model\AddressListEntriesAddressListEntryDeleteBody::class => AddressListEntriesAddressListEntryDeleteBodyNormalizer::class, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketGetResponse200::class => ObjectStorageObjectStorageClusterBucketsBucketGetResponse200Normalizer::class, - \KatapultAPI\Core\Model\AddressListEntriesAddressListEntryDeleteResponse200::class => AddressListEntriesAddressListEntryDeleteResponse200Normalizer::class, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketPatchBody::class => ObjectStorageObjectStorageClusterBucketsBucketPatchBodyNormalizer::class, - \KatapultAPI\Core\Model\AddressListEntriesAddressListEntryDeleteResponse200AddressListEntry::class => AddressListEntriesAddressListEntryDeleteResponse200AddressListEntryNormalizer::class, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketPatchResponse200::class => ObjectStorageObjectStorageClusterBucketsBucketPatchResponse200Normalizer::class, - \KatapultAPI\Core\Model\AddressListEntriesAddressListEntryGetResponse200::class => AddressListEntriesAddressListEntryGetResponse200Normalizer::class, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostBody::class => ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostBodyNormalizer::class, - \KatapultAPI\Core\Model\AddressListEntriesAddressListEntryGetResponse200AddressListEntry::class => AddressListEntriesAddressListEntryGetResponse200AddressListEntryNormalizer::class, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostResponse200::class => ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostResponse200Normalizer::class, - \KatapultAPI\Core\Model\AddressListEntriesAddressListEntryPatchBody::class => AddressListEntriesAddressListEntryPatchBodyNormalizer::class, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketObjectGetResponse200::class => ObjectStorageObjectStorageClusterBucketsBucketObjectGetResponse200Normalizer::class, - \KatapultAPI\Core\Model\AddressListEntriesAddressListEntryPatchResponse200::class => AddressListEntriesAddressListEntryPatchResponse200Normalizer::class, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostBody::class => ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostBodyNormalizer::class, - \KatapultAPI\Core\Model\AddressListEntriesAddressListEntryPatchResponse200AddressListEntry::class => AddressListEntriesAddressListEntryPatchResponse200AddressListEntryNormalizer::class, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostResponse200::class => ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostResponse200Normalizer::class, - \KatapultAPI\Core\Model\AddressListsAddressListEntriesBulkPostBody::class => AddressListsAddressListEntriesBulkPostBodyNormalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildPostBody::class => OrganizationsOrganizationVirtualMachinesBuildPostBodyNormalizer::class, - \KatapultAPI\Core\Model\AddressListsAddressListEntriesBulkPostResponse200::class => AddressListsAddressListEntriesBulkPostResponse200Normalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildPostResponse201::class => OrganizationsOrganizationVirtualMachinesBuildPostResponse201Normalizer::class, + + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildPostResponse201Build::class => OrganizationsOrganizationVirtualMachinesBuildPostResponse201BuildNormalizer::class, + + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildFromSpecPostBody::class => OrganizationsOrganizationVirtualMachinesBuildFromSpecPostBodyNormalizer::class, + + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildFromSpecPostResponse201::class => OrganizationsOrganizationVirtualMachinesBuildFromSpecPostResponse201Normalizer::class, + + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildFromSpecPostResponse201Build::class => OrganizationsOrganizationVirtualMachinesBuildFromSpecPostResponse201BuildNormalizer::class, + + \KatapultAPI\Core\Model\VirtualMachinesBuildsVirtualMachineBuildGetResponse200::class => VirtualMachinesBuildsVirtualMachineBuildGetResponse200Normalizer::class, \KatapultAPI\Core\Model\OrganizationsOrganizationCertificatesGetResponse200::class => OrganizationsOrganizationCertificatesGetResponse200Normalizer::class, \KatapultAPI\Core\Model\CertificatesCertificateGetResponse200::class => CertificatesCertificateGetResponse200Normalizer::class, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineConsoleSessionsPostBody::class => VirtualMachinesVirtualMachineConsoleSessionsPostBodyNormalizer::class, + + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineConsoleSessionsPostResponse201::class => VirtualMachinesVirtualMachineConsoleSessionsPostResponse201Normalizer::class, + \KatapultAPI\Core\Model\CountriesGetResponse200::class => CountriesGetResponse200Normalizer::class, \KatapultAPI\Core\Model\CountriesCountryGetResponse200::class => CountriesCountryGetResponse200Normalizer::class, @@ -1192,26 +1278,6 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\DnsZonesDnsZoneVerifyPostResponse200DnsZone::class => DnsZonesDnsZoneVerifyPostResponse200DnsZoneNormalizer::class, - \KatapultAPI\Core\Model\DnsZonesDnsZoneRecordsGetResponse200::class => DnsZonesDnsZoneRecordsGetResponse200Normalizer::class, - - \KatapultAPI\Core\Model\DnsZonesDnsZoneRecordsPostBody::class => DnsZonesDnsZoneRecordsPostBodyNormalizer::class, - - \KatapultAPI\Core\Model\DnsZonesDnsZoneRecordsPostResponse200::class => DnsZonesDnsZoneRecordsPostResponse200Normalizer::class, - - \KatapultAPI\Core\Model\DnsRecordsDnsRecordDeleteBody::class => DnsRecordsDnsRecordDeleteBodyNormalizer::class, - - \KatapultAPI\Core\Model\DnsRecordsDnsRecordDeleteResponse200::class => DnsRecordsDnsRecordDeleteResponse200Normalizer::class, - - \KatapultAPI\Core\Model\DnsRecordsDnsRecordGetResponse200::class => DnsRecordsDnsRecordGetResponse200Normalizer::class, - - \KatapultAPI\Core\Model\DnsRecordsDnsRecordGetResponse200DnsRecord::class => DnsRecordsDnsRecordGetResponse200DnsRecordNormalizer::class, - - \KatapultAPI\Core\Model\DnsRecordsDnsRecordPatchBody::class => DnsRecordsDnsRecordPatchBodyNormalizer::class, - - \KatapultAPI\Core\Model\DnsRecordsDnsRecordPatchResponse200::class => DnsRecordsDnsRecordPatchResponse200Normalizer::class, - - \KatapultAPI\Core\Model\DnsRecordsDnsRecordPatchResponse200DnsRecord::class => DnsRecordsDnsRecordPatchResponse200DnsRecordNormalizer::class, - \KatapultAPI\Core\Model\DataCentersGetResponse200::class => DataCentersGetResponse200Normalizer::class, \KatapultAPI\Core\Model\DataCentersDataCenterGetResponse200::class => DataCentersDataCenterGetResponse200Normalizer::class, @@ -1398,6 +1464,30 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\IpAddressesIpAddressUnallocatePostResponse200::class => IpAddressesIpAddressUnallocatePostResponse200Normalizer::class, + \KatapultAPI\Core\Model\LoadBalancersLoadBalancerRulesGetResponse200::class => LoadBalancersLoadBalancerRulesGetResponse200Normalizer::class, + + \KatapultAPI\Core\Model\LoadBalancersLoadBalancerRulesPostBody::class => LoadBalancersLoadBalancerRulesPostBodyNormalizer::class, + + \KatapultAPI\Core\Model\LoadBalancersLoadBalancerRulesPostResponse200::class => LoadBalancersLoadBalancerRulesPostResponse200Normalizer::class, + + \KatapultAPI\Core\Model\LoadBalancersLoadBalancerRulesPostResponse200LoadBalancerRule::class => LoadBalancersLoadBalancerRulesPostResponse200LoadBalancerRuleNormalizer::class, + + \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRuleDeleteBody::class => LoadBalancersRulesLoadBalancerRuleDeleteBodyNormalizer::class, + + \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRuleDeleteResponse200::class => LoadBalancersRulesLoadBalancerRuleDeleteResponse200Normalizer::class, + + \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRuleDeleteResponse200LoadBalancerRule::class => LoadBalancersRulesLoadBalancerRuleDeleteResponse200LoadBalancerRuleNormalizer::class, + + \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRuleGetResponse200::class => LoadBalancersRulesLoadBalancerRuleGetResponse200Normalizer::class, + + \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRuleGetResponse200LoadBalancerRule::class => LoadBalancersRulesLoadBalancerRuleGetResponse200LoadBalancerRuleNormalizer::class, + + \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRulePatchBody::class => LoadBalancersRulesLoadBalancerRulePatchBodyNormalizer::class, + + \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRulePatchResponse200::class => LoadBalancersRulesLoadBalancerRulePatchResponse200Normalizer::class, + + \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRulePatchResponse200LoadBalancerRule::class => LoadBalancersRulesLoadBalancerRulePatchResponse200LoadBalancerRuleNormalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationLoadBalancersGetResponse200::class => OrganizationsOrganizationLoadBalancersGetResponse200Normalizer::class, \KatapultAPI\Core\Model\OrganizationsOrganizationLoadBalancersPostBody::class => OrganizationsOrganizationLoadBalancersPostBodyNormalizer::class, @@ -1422,29 +1512,15 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\LoadBalancersLoadBalancerPatchResponse200LoadBalancer::class => LoadBalancersLoadBalancerPatchResponse200LoadBalancerNormalizer::class, - \KatapultAPI\Core\Model\LoadBalancersLoadBalancerRulesGetResponse200::class => LoadBalancersLoadBalancerRulesGetResponse200Normalizer::class, - - \KatapultAPI\Core\Model\LoadBalancersLoadBalancerRulesPostBody::class => LoadBalancersLoadBalancerRulesPostBodyNormalizer::class, - - \KatapultAPI\Core\Model\LoadBalancersLoadBalancerRulesPostResponse200::class => LoadBalancersLoadBalancerRulesPostResponse200Normalizer::class, - - \KatapultAPI\Core\Model\LoadBalancersLoadBalancerRulesPostResponse200LoadBalancerRule::class => LoadBalancersLoadBalancerRulesPostResponse200LoadBalancerRuleNormalizer::class, - - \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRuleDeleteBody::class => LoadBalancersRulesLoadBalancerRuleDeleteBodyNormalizer::class, - - \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRuleDeleteResponse200::class => LoadBalancersRulesLoadBalancerRuleDeleteResponse200Normalizer::class, - - \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRuleDeleteResponse200LoadBalancerRule::class => LoadBalancersRulesLoadBalancerRuleDeleteResponse200LoadBalancerRuleNormalizer::class, - - \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRuleGetResponse200::class => LoadBalancersRulesLoadBalancerRuleGetResponse200Normalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationManagedGetResponse200::class => OrganizationsOrganizationManagedGetResponse200Normalizer::class, - \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRuleGetResponse200LoadBalancerRule::class => LoadBalancersRulesLoadBalancerRuleGetResponse200LoadBalancerRuleNormalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationManagedPostBody::class => OrganizationsOrganizationManagedPostBodyNormalizer::class, - \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRulePatchBody::class => LoadBalancersRulesLoadBalancerRulePatchBodyNormalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationManagedPostResponse201::class => OrganizationsOrganizationManagedPostResponse201Normalizer::class, - \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRulePatchResponse200::class => LoadBalancersRulesLoadBalancerRulePatchResponse200Normalizer::class, + \KatapultAPI\Core\Model\ManagedOrganizationsOrganizationDeleteBody::class => ManagedOrganizationsOrganizationDeleteBodyNormalizer::class, - \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRulePatchResponse200LoadBalancerRule::class => LoadBalancersRulesLoadBalancerRulePatchResponse200LoadBalancerRuleNormalizer::class, + \KatapultAPI\Core\Model\ManagedOrganizationsOrganizationDeleteResponse200::class => ManagedOrganizationsOrganizationDeleteResponse200Normalizer::class, \KatapultAPI\Core\Model\OrganizationsOrganizationNetworkSpeedProfilesGetResponse200::class => OrganizationsOrganizationNetworkSpeedProfilesGetResponse200Normalizer::class, @@ -1460,6 +1536,8 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\OperatingSystemsOperatingSystemGetResponse200OperatingSystem::class => OperatingSystemsOperatingSystemGetResponse200OperatingSystemNormalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationUsersWithAccessGetResponse200::class => OrganizationsOrganizationUsersWithAccessGetResponse200Normalizer::class, + \KatapultAPI\Core\Model\OrganizationsGetResponse200::class => OrganizationsGetResponse200Normalizer::class, \KatapultAPI\Core\Model\OrganizationsOrganizationGetResponse200::class => OrganizationsOrganizationGetResponse200Normalizer::class, @@ -1472,51 +1550,51 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\OrganizationsOrganizationDeletionStepsGetResponse200::class => OrganizationsOrganizationDeletionStepsGetResponse200Normalizer::class, - \KatapultAPI\Core\Model\OrganizationsOrganizationUsersWithAccessGetResponse200::class => OrganizationsOrganizationUsersWithAccessGetResponse200Normalizer::class, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineStartPostBody::class => VirtualMachinesVirtualMachineStartPostBodyNormalizer::class, - \KatapultAPI\Core\Model\OrganizationsOrganizationManagedGetResponse200::class => OrganizationsOrganizationManagedGetResponse200Normalizer::class, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineStartPostResponse200::class => VirtualMachinesVirtualMachineStartPostResponse200Normalizer::class, - \KatapultAPI\Core\Model\OrganizationsOrganizationManagedPostBody::class => OrganizationsOrganizationManagedPostBodyNormalizer::class, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineStopPostBody::class => VirtualMachinesVirtualMachineStopPostBodyNormalizer::class, - \KatapultAPI\Core\Model\OrganizationsOrganizationManagedPostResponse201::class => OrganizationsOrganizationManagedPostResponse201Normalizer::class, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineStopPostResponse200::class => VirtualMachinesVirtualMachineStopPostResponse200Normalizer::class, - \KatapultAPI\Core\Model\ManagedOrganizationsOrganizationDeleteBody::class => ManagedOrganizationsOrganizationDeleteBodyNormalizer::class, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineShutdownPostBody::class => VirtualMachinesVirtualMachineShutdownPostBodyNormalizer::class, - \KatapultAPI\Core\Model\ManagedOrganizationsOrganizationDeleteResponse200::class => ManagedOrganizationsOrganizationDeleteResponse200Normalizer::class, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineShutdownPostResponse200::class => VirtualMachinesVirtualMachineShutdownPostResponse200Normalizer::class, - \KatapultAPI\Core\Model\OrganizationsOrganizationSshKeysGetResponse200::class => OrganizationsOrganizationSshKeysGetResponse200Normalizer::class, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineResetPostBody::class => VirtualMachinesVirtualMachineResetPostBodyNormalizer::class, - \KatapultAPI\Core\Model\OrganizationsOrganizationSshKeysPostBody::class => OrganizationsOrganizationSshKeysPostBodyNormalizer::class, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineResetPostResponse200::class => VirtualMachinesVirtualMachineResetPostResponse200Normalizer::class, - \KatapultAPI\Core\Model\OrganizationsOrganizationSshKeysPostResponse201::class => OrganizationsOrganizationSshKeysPostResponse201Normalizer::class, + \KatapultAPI\Core\Model\DnsZonesDnsZoneRecordsGetResponse200::class => DnsZonesDnsZoneRecordsGetResponse200Normalizer::class, - \KatapultAPI\Core\Model\SshKeysSshKeyDeleteBody::class => SshKeysSshKeyDeleteBodyNormalizer::class, + \KatapultAPI\Core\Model\DnsZonesDnsZoneRecordsPostBody::class => DnsZonesDnsZoneRecordsPostBodyNormalizer::class, - \KatapultAPI\Core\Model\SshKeysSshKeyDeleteResponse200::class => SshKeysSshKeyDeleteResponse200Normalizer::class, + \KatapultAPI\Core\Model\DnsZonesDnsZoneRecordsPostResponse200::class => DnsZonesDnsZoneRecordsPostResponse200Normalizer::class, - \KatapultAPI\Core\Model\OrganizationsOrganizationSecurityGroupsGetResponse200::class => OrganizationsOrganizationSecurityGroupsGetResponse200Normalizer::class, + \KatapultAPI\Core\Model\DnsRecordsDnsRecordDeleteBody::class => DnsRecordsDnsRecordDeleteBodyNormalizer::class, - \KatapultAPI\Core\Model\OrganizationsOrganizationSecurityGroupsPostBody::class => OrganizationsOrganizationSecurityGroupsPostBodyNormalizer::class, + \KatapultAPI\Core\Model\DnsRecordsDnsRecordDeleteResponse200::class => DnsRecordsDnsRecordDeleteResponse200Normalizer::class, - \KatapultAPI\Core\Model\OrganizationsOrganizationSecurityGroupsPostResponse200::class => OrganizationsOrganizationSecurityGroupsPostResponse200Normalizer::class, + \KatapultAPI\Core\Model\DnsRecordsDnsRecordGetResponse200::class => DnsRecordsDnsRecordGetResponse200Normalizer::class, - \KatapultAPI\Core\Model\OrganizationsOrganizationSecurityGroupsPostResponse200SecurityGroup::class => OrganizationsOrganizationSecurityGroupsPostResponse200SecurityGroupNormalizer::class, + \KatapultAPI\Core\Model\DnsRecordsDnsRecordGetResponse200DnsRecord::class => DnsRecordsDnsRecordGetResponse200DnsRecordNormalizer::class, - \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupDeleteBody::class => SecurityGroupsSecurityGroupDeleteBodyNormalizer::class, + \KatapultAPI\Core\Model\DnsRecordsDnsRecordPatchBody::class => DnsRecordsDnsRecordPatchBodyNormalizer::class, - \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupDeleteResponse200::class => SecurityGroupsSecurityGroupDeleteResponse200Normalizer::class, + \KatapultAPI\Core\Model\DnsRecordsDnsRecordPatchResponse200::class => DnsRecordsDnsRecordPatchResponse200Normalizer::class, - \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupDeleteResponse200SecurityGroup::class => SecurityGroupsSecurityGroupDeleteResponse200SecurityGroupNormalizer::class, + \KatapultAPI\Core\Model\DnsRecordsDnsRecordPatchResponse200DnsRecord::class => DnsRecordsDnsRecordPatchResponse200DnsRecordNormalizer::class, - \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupGetResponse200::class => SecurityGroupsSecurityGroupGetResponse200Normalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationSshKeysGetResponse200::class => OrganizationsOrganizationSshKeysGetResponse200Normalizer::class, - \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupGetResponse200SecurityGroup::class => SecurityGroupsSecurityGroupGetResponse200SecurityGroupNormalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationSshKeysPostBody::class => OrganizationsOrganizationSshKeysPostBodyNormalizer::class, - \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupPatchBody::class => SecurityGroupsSecurityGroupPatchBodyNormalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationSshKeysPostResponse201::class => OrganizationsOrganizationSshKeysPostResponse201Normalizer::class, - \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupPatchResponse200::class => SecurityGroupsSecurityGroupPatchResponse200Normalizer::class, + \KatapultAPI\Core\Model\SshKeysSshKeyDeleteBody::class => SshKeysSshKeyDeleteBodyNormalizer::class, - \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupPatchResponse200SecurityGroup::class => SecurityGroupsSecurityGroupPatchResponse200SecurityGroupNormalizer::class, + \KatapultAPI\Core\Model\SshKeysSshKeyDeleteResponse200::class => SshKeysSshKeyDeleteResponse200Normalizer::class, \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupRulesGetResponse200::class => SecurityGroupsSecurityGroupRulesGetResponse200Normalizer::class, @@ -1542,6 +1620,30 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\SecurityGroupsRulesSecurityGroupRulePatchResponse200SecurityGroupRule::class => SecurityGroupsRulesSecurityGroupRulePatchResponse200SecurityGroupRuleNormalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationSecurityGroupsGetResponse200::class => OrganizationsOrganizationSecurityGroupsGetResponse200Normalizer::class, + + \KatapultAPI\Core\Model\OrganizationsOrganizationSecurityGroupsPostBody::class => OrganizationsOrganizationSecurityGroupsPostBodyNormalizer::class, + + \KatapultAPI\Core\Model\OrganizationsOrganizationSecurityGroupsPostResponse200::class => OrganizationsOrganizationSecurityGroupsPostResponse200Normalizer::class, + + \KatapultAPI\Core\Model\OrganizationsOrganizationSecurityGroupsPostResponse200SecurityGroup::class => OrganizationsOrganizationSecurityGroupsPostResponse200SecurityGroupNormalizer::class, + + \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupDeleteBody::class => SecurityGroupsSecurityGroupDeleteBodyNormalizer::class, + + \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupDeleteResponse200::class => SecurityGroupsSecurityGroupDeleteResponse200Normalizer::class, + + \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupDeleteResponse200SecurityGroup::class => SecurityGroupsSecurityGroupDeleteResponse200SecurityGroupNormalizer::class, + + \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupGetResponse200::class => SecurityGroupsSecurityGroupGetResponse200Normalizer::class, + + \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupGetResponse200SecurityGroup::class => SecurityGroupsSecurityGroupGetResponse200SecurityGroupNormalizer::class, + + \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupPatchBody::class => SecurityGroupsSecurityGroupPatchBodyNormalizer::class, + + \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupPatchResponse200::class => SecurityGroupsSecurityGroupPatchResponse200Normalizer::class, + + \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupPatchResponse200SecurityGroup::class => SecurityGroupsSecurityGroupPatchResponse200SecurityGroupNormalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationTagsGetResponse200::class => OrganizationsOrganizationTagsGetResponse200Normalizer::class, \KatapultAPI\Core\Model\OrganizationsOrganizationTagsPostBody::class => OrganizationsOrganizationTagsPostBodyNormalizer::class, @@ -1594,6 +1696,30 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\InvalidateLinkedWebSessionPostResponse200::class => InvalidateLinkedWebSessionPostResponse200Normalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualNetworksGetResponse200::class => OrganizationsOrganizationVirtualNetworksGetResponse200Normalizer::class, + + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualNetworksPostBody::class => OrganizationsOrganizationVirtualNetworksPostBodyNormalizer::class, + + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualNetworksPostResponse200::class => OrganizationsOrganizationVirtualNetworksPostResponse200Normalizer::class, + + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualNetworksPostResponse200VirtualNetwork::class => OrganizationsOrganizationVirtualNetworksPostResponse200VirtualNetworkNormalizer::class, + + \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkDeleteBody::class => VirtualNetworksVirtualNetworkDeleteBodyNormalizer::class, + + \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkDeleteResponse200::class => VirtualNetworksVirtualNetworkDeleteResponse200Normalizer::class, + + \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkDeleteResponse200VirtualNetwork::class => VirtualNetworksVirtualNetworkDeleteResponse200VirtualNetworkNormalizer::class, + + \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkGetResponse200::class => VirtualNetworksVirtualNetworkGetResponse200Normalizer::class, + + \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkGetResponse200VirtualNetwork::class => VirtualNetworksVirtualNetworkGetResponse200VirtualNetworkNormalizer::class, + + \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkPatchBody::class => VirtualNetworksVirtualNetworkPatchBodyNormalizer::class, + + \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkPatchResponse200::class => VirtualNetworksVirtualNetworkPatchResponse200Normalizer::class, + + \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkPatchResponse200VirtualNetwork::class => VirtualNetworksVirtualNetworkPatchResponse200VirtualNetworkNormalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachineGroupsGetResponse200::class => OrganizationsOrganizationVirtualMachineGroupsGetResponse200Normalizer::class, \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachineGroupsPostBody::class => OrganizationsOrganizationVirtualMachineGroupsPostBodyNormalizer::class, @@ -1680,40 +1806,6 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineAllocateIpPostResponse200IpAddress::class => VirtualMachinesVirtualMachineAllocateIpPostResponse200IpAddressNormalizer::class, - \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildPostBody::class => OrganizationsOrganizationVirtualMachinesBuildPostBodyNormalizer::class, - - \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildPostResponse201::class => OrganizationsOrganizationVirtualMachinesBuildPostResponse201Normalizer::class, - - \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildPostResponse201Build::class => OrganizationsOrganizationVirtualMachinesBuildPostResponse201BuildNormalizer::class, - - \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildFromSpecPostBody::class => OrganizationsOrganizationVirtualMachinesBuildFromSpecPostBodyNormalizer::class, - - \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildFromSpecPostResponse201::class => OrganizationsOrganizationVirtualMachinesBuildFromSpecPostResponse201Normalizer::class, - - \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildFromSpecPostResponse201Build::class => OrganizationsOrganizationVirtualMachinesBuildFromSpecPostResponse201BuildNormalizer::class, - - \KatapultAPI\Core\Model\VirtualMachinesBuildsVirtualMachineBuildGetResponse200::class => VirtualMachinesBuildsVirtualMachineBuildGetResponse200Normalizer::class, - - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineStartPostBody::class => VirtualMachinesVirtualMachineStartPostBodyNormalizer::class, - - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineStartPostResponse200::class => VirtualMachinesVirtualMachineStartPostResponse200Normalizer::class, - - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineStopPostBody::class => VirtualMachinesVirtualMachineStopPostBodyNormalizer::class, - - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineStopPostResponse200::class => VirtualMachinesVirtualMachineStopPostResponse200Normalizer::class, - - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineShutdownPostBody::class => VirtualMachinesVirtualMachineShutdownPostBodyNormalizer::class, - - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineShutdownPostResponse200::class => VirtualMachinesVirtualMachineShutdownPostResponse200Normalizer::class, - - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineResetPostBody::class => VirtualMachinesVirtualMachineResetPostBodyNormalizer::class, - - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineResetPostResponse200::class => VirtualMachinesVirtualMachineResetPostResponse200Normalizer::class, - - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineConsoleSessionsPostBody::class => VirtualMachinesVirtualMachineConsoleSessionsPostBodyNormalizer::class, - - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineConsoleSessionsPostResponse201::class => VirtualMachinesVirtualMachineConsoleSessionsPostResponse201Normalizer::class, - \KatapultAPI\Core\Model\ZonesGetResponse200::class => ZonesGetResponse200Normalizer::class, \KatapultAPI\Core\Model\ZonesZoneGetResponse200::class => ZonesZoneGetResponse200Normalizer::class, @@ -2151,6 +2243,9 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\GetOrganizationAvailableNetworksPartDataCenter::class => false, \KatapultAPI\Core\Model\GetOrganizationAvailableNetworks200ResponseVirtualNetworks::class => false, \KatapultAPI\Core\Model\NetworkSpeedProfile::class => false, + \KatapultAPI\Core\Model\VirtualNetwork::class => false, + \KatapultAPI\Core\Model\VirtualNetworkArguments::class => false, + \KatapultAPI\Core\Model\VirtualNetworkLookup::class => false, \KatapultAPI\Core\Model\GetAddressLists200ResponseAddressLists::class => false, \KatapultAPI\Core\Model\GetOrganizationAddressLists200ResponseAddressLists::class => false, \KatapultAPI\Core\Model\AddressList::class => false, @@ -2233,6 +2328,22 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\GetCurrencies200ResponseCurrencies::class => false, \KatapultAPI\Core\Model\GetUsersCurrent200ResponseOrganizations::class => false, \KatapultAPI\Core\Model\IdentityNotLinkedToWebSessionSchema::class => false, + \KatapultAPI\Core\Model\ObjectStorageClusterLookup::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, + \KatapultAPI\Core\Model\ObjectStorageBucketDeletionErrorSchema::class => false, + \KatapultAPI\Core\Model\ObjectStorageObject::class => false, + \KatapultAPI\Core\Model\ObjectNotFoundSchema::class => false, + \KatapultAPI\Core\Model\ObjectStorageObjectPresignedURLArguments::class => false, \KatapultAPI\Core\Model\ResponseAPIAuthenticator400Response::class => false, \KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response::class => false, \KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response::class => false, @@ -2264,6 +2375,7 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\ResponseSecurityGroupRuleNotFoundResponse::class => false, \KatapultAPI\Core\Model\ResponseFileStorageVolumeNotFoundResponse::class => false, \KatapultAPI\Core\Model\ResponseNetworkNotFoundResponse::class => false, + \KatapultAPI\Core\Model\ResponseVirtualNetworkNotFoundResponse::class => false, \KatapultAPI\Core\Model\ResponseAddressListNotFoundResponse::class => false, \KatapultAPI\Core\Model\ResponseAddressListEntryNotFoundResponse::class => false, \KatapultAPI\Core\Model\ResponseCertificateNotFoundResponse::class => false, @@ -2284,6 +2396,8 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\ResponseCurrencyNotFoundResponse::class => false, \KatapultAPI\Core\Model\ResponseTaskNotFoundResponse::class => false, \KatapultAPI\Core\Model\ResponseNoUserAssociatedWithIdentityResponse::class => false, + \KatapultAPI\Core\Model\ResponseMultipleObjectStorageBucketsFoundResponse::class => false, + \KatapultAPI\Core\Model\ResponseNetworkErrorResponse::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationApiTokensGetResponse200::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationApiTokensPostBody::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationApiTokensPostResponse200::class => false, @@ -2297,19 +2411,6 @@ 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\AddressListsGetResponse200::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationAddressListsGetResponse200::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationAddressListsPostBody::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationAddressListsPostResponse201::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationAddressListsPostResponse201AddressList::class => false, - \KatapultAPI\Core\Model\AddressListsAddressListDeleteBody::class => false, - \KatapultAPI\Core\Model\AddressListsAddressListDeleteResponse200::class => false, - \KatapultAPI\Core\Model\AddressListsAddressListDeleteResponse200AddressList::class => false, - \KatapultAPI\Core\Model\AddressListsAddressListGetResponse200::class => false, - \KatapultAPI\Core\Model\AddressListsAddressListGetResponse200AddressList::class => false, - \KatapultAPI\Core\Model\AddressListsAddressListPatchBody::class => false, - \KatapultAPI\Core\Model\AddressListsAddressListPatchResponse200::class => false, - \KatapultAPI\Core\Model\AddressListsAddressListPatchResponse200AddressList::class => false, \KatapultAPI\Core\Model\AddressListsAddressListEntriesGetResponse200::class => false, \KatapultAPI\Core\Model\AddressListsAddressListEntriesPostBody::class => false, \KatapultAPI\Core\Model\AddressListsAddressListEntriesPostResponse201::class => false, @@ -2324,8 +2425,42 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\AddressListEntriesAddressListEntryPatchResponse200AddressListEntry::class => false, \KatapultAPI\Core\Model\AddressListsAddressListEntriesBulkPostBody::class => false, \KatapultAPI\Core\Model\AddressListsAddressListEntriesBulkPostResponse200::class => false, + \KatapultAPI\Core\Model\AddressListsGetResponse200::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationAddressListsGetResponse200::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationAddressListsPostBody::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationAddressListsPostResponse201::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationAddressListsPostResponse201AddressList::class => false, + \KatapultAPI\Core\Model\AddressListsAddressListDeleteBody::class => false, + \KatapultAPI\Core\Model\AddressListsAddressListDeleteResponse200::class => false, + \KatapultAPI\Core\Model\AddressListsAddressListDeleteResponse200AddressList::class => false, + \KatapultAPI\Core\Model\AddressListsAddressListGetResponse200::class => false, + \KatapultAPI\Core\Model\AddressListsAddressListGetResponse200AddressList::class => false, + \KatapultAPI\Core\Model\AddressListsAddressListPatchBody::class => false, + \KatapultAPI\Core\Model\AddressListsAddressListPatchResponse200::class => false, + \KatapultAPI\Core\Model\AddressListsAddressListPatchResponse200AddressList::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostBody::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostResponse201::class => false, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketDeleteBody::class => false, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketDeleteResponse200::class => false, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketGetResponse200::class => false, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketPatchBody::class => false, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketPatchResponse200::class => false, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostBody::class => false, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostResponse200::class => false, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketObjectGetResponse200::class => false, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostBody::class => false, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostResponse200::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildPostBody::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildPostResponse201::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildPostResponse201Build::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildFromSpecPostBody::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildFromSpecPostResponse201::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildFromSpecPostResponse201Build::class => false, + \KatapultAPI\Core\Model\VirtualMachinesBuildsVirtualMachineBuildGetResponse200::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationCertificatesGetResponse200::class => false, \KatapultAPI\Core\Model\CertificatesCertificateGetResponse200::class => false, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineConsoleSessionsPostBody::class => false, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineConsoleSessionsPostResponse201::class => false, \KatapultAPI\Core\Model\CountriesGetResponse200::class => false, \KatapultAPI\Core\Model\CountriesCountryGetResponse200::class => false, \KatapultAPI\Core\Model\CountriesCountryGetResponse200Country::class => false, @@ -2350,16 +2485,6 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\DnsZonesDnsZoneVerifyPostBody::class => false, \KatapultAPI\Core\Model\DnsZonesDnsZoneVerifyPostResponse200::class => false, \KatapultAPI\Core\Model\DnsZonesDnsZoneVerifyPostResponse200DnsZone::class => false, - \KatapultAPI\Core\Model\DnsZonesDnsZoneRecordsGetResponse200::class => false, - \KatapultAPI\Core\Model\DnsZonesDnsZoneRecordsPostBody::class => false, - \KatapultAPI\Core\Model\DnsZonesDnsZoneRecordsPostResponse200::class => false, - \KatapultAPI\Core\Model\DnsRecordsDnsRecordDeleteBody::class => false, - \KatapultAPI\Core\Model\DnsRecordsDnsRecordDeleteResponse200::class => false, - \KatapultAPI\Core\Model\DnsRecordsDnsRecordGetResponse200::class => false, - \KatapultAPI\Core\Model\DnsRecordsDnsRecordGetResponse200DnsRecord::class => false, - \KatapultAPI\Core\Model\DnsRecordsDnsRecordPatchBody::class => false, - \KatapultAPI\Core\Model\DnsRecordsDnsRecordPatchResponse200::class => false, - \KatapultAPI\Core\Model\DnsRecordsDnsRecordPatchResponse200DnsRecord::class => false, \KatapultAPI\Core\Model\DataCentersGetResponse200::class => false, \KatapultAPI\Core\Model\DataCentersDataCenterGetResponse200::class => false, \KatapultAPI\Core\Model\DataCentersDataCenterDefaultNetworkGetResponse200::class => false, @@ -2453,18 +2578,6 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\IpAddressesIpAddressPatchResponse200IpAddress::class => false, \KatapultAPI\Core\Model\IpAddressesIpAddressUnallocatePostBody::class => false, \KatapultAPI\Core\Model\IpAddressesIpAddressUnallocatePostResponse200::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationLoadBalancersGetResponse200::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationLoadBalancersPostBody::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationLoadBalancersPostResponse201::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationLoadBalancersPostResponse201LoadBalancer::class => false, - \KatapultAPI\Core\Model\LoadBalancersLoadBalancerDeleteBody::class => false, - \KatapultAPI\Core\Model\LoadBalancersLoadBalancerDeleteResponse200::class => false, - \KatapultAPI\Core\Model\LoadBalancersLoadBalancerDeleteResponse200LoadBalancer::class => false, - \KatapultAPI\Core\Model\LoadBalancersLoadBalancerGetResponse200::class => false, - \KatapultAPI\Core\Model\LoadBalancersLoadBalancerGetResponse200LoadBalancer::class => false, - \KatapultAPI\Core\Model\LoadBalancersLoadBalancerPatchBody::class => false, - \KatapultAPI\Core\Model\LoadBalancersLoadBalancerPatchResponse200::class => false, - \KatapultAPI\Core\Model\LoadBalancersLoadBalancerPatchResponse200LoadBalancer::class => false, \KatapultAPI\Core\Model\LoadBalancersLoadBalancerRulesGetResponse200::class => false, \KatapultAPI\Core\Model\LoadBalancersLoadBalancerRulesPostBody::class => false, \KatapultAPI\Core\Model\LoadBalancersLoadBalancerRulesPostResponse200::class => false, @@ -2477,6 +2590,23 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRulePatchBody::class => false, \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRulePatchResponse200::class => false, \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRulePatchResponse200LoadBalancerRule::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationLoadBalancersGetResponse200::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationLoadBalancersPostBody::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationLoadBalancersPostResponse201::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationLoadBalancersPostResponse201LoadBalancer::class => false, + \KatapultAPI\Core\Model\LoadBalancersLoadBalancerDeleteBody::class => false, + \KatapultAPI\Core\Model\LoadBalancersLoadBalancerDeleteResponse200::class => false, + \KatapultAPI\Core\Model\LoadBalancersLoadBalancerDeleteResponse200LoadBalancer::class => false, + \KatapultAPI\Core\Model\LoadBalancersLoadBalancerGetResponse200::class => false, + \KatapultAPI\Core\Model\LoadBalancersLoadBalancerGetResponse200LoadBalancer::class => false, + \KatapultAPI\Core\Model\LoadBalancersLoadBalancerPatchBody::class => false, + \KatapultAPI\Core\Model\LoadBalancersLoadBalancerPatchResponse200::class => false, + \KatapultAPI\Core\Model\LoadBalancersLoadBalancerPatchResponse200LoadBalancer::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationManagedGetResponse200::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationManagedPostBody::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationManagedPostResponse201::class => false, + \KatapultAPI\Core\Model\ManagedOrganizationsOrganizationDeleteBody::class => false, + \KatapultAPI\Core\Model\ManagedOrganizationsOrganizationDeleteResponse200::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationNetworkSpeedProfilesGetResponse200::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationAvailableNetworksGetResponse200::class => false, \KatapultAPI\Core\Model\NetworksNetworkGetResponse200::class => false, @@ -2484,35 +2614,36 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\OperatingSystemsGetResponse200::class => false, \KatapultAPI\Core\Model\OperatingSystemsOperatingSystemGetResponse200::class => false, \KatapultAPI\Core\Model\OperatingSystemsOperatingSystemGetResponse200OperatingSystem::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationUsersWithAccessGetResponse200::class => false, \KatapultAPI\Core\Model\OrganizationsGetResponse200::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationGetResponse200::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationPolicyGetResponse200::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationPolicyLimitsGetResponse200::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationPricesGetResponse200::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationDeletionStepsGetResponse200::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationUsersWithAccessGetResponse200::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationManagedGetResponse200::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationManagedPostBody::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationManagedPostResponse201::class => false, - \KatapultAPI\Core\Model\ManagedOrganizationsOrganizationDeleteBody::class => false, - \KatapultAPI\Core\Model\ManagedOrganizationsOrganizationDeleteResponse200::class => false, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineStartPostBody::class => false, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineStartPostResponse200::class => false, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineStopPostBody::class => false, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineStopPostResponse200::class => false, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineShutdownPostBody::class => false, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineShutdownPostResponse200::class => false, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineResetPostBody::class => false, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineResetPostResponse200::class => false, + \KatapultAPI\Core\Model\DnsZonesDnsZoneRecordsGetResponse200::class => false, + \KatapultAPI\Core\Model\DnsZonesDnsZoneRecordsPostBody::class => false, + \KatapultAPI\Core\Model\DnsZonesDnsZoneRecordsPostResponse200::class => false, + \KatapultAPI\Core\Model\DnsRecordsDnsRecordDeleteBody::class => false, + \KatapultAPI\Core\Model\DnsRecordsDnsRecordDeleteResponse200::class => false, + \KatapultAPI\Core\Model\DnsRecordsDnsRecordGetResponse200::class => false, + \KatapultAPI\Core\Model\DnsRecordsDnsRecordGetResponse200DnsRecord::class => false, + \KatapultAPI\Core\Model\DnsRecordsDnsRecordPatchBody::class => false, + \KatapultAPI\Core\Model\DnsRecordsDnsRecordPatchResponse200::class => false, + \KatapultAPI\Core\Model\DnsRecordsDnsRecordPatchResponse200DnsRecord::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationSshKeysGetResponse200::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationSshKeysPostBody::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationSshKeysPostResponse201::class => false, \KatapultAPI\Core\Model\SshKeysSshKeyDeleteBody::class => false, \KatapultAPI\Core\Model\SshKeysSshKeyDeleteResponse200::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationSecurityGroupsGetResponse200::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationSecurityGroupsPostBody::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationSecurityGroupsPostResponse200::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationSecurityGroupsPostResponse200SecurityGroup::class => false, - \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupDeleteBody::class => false, - \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupDeleteResponse200::class => false, - \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupDeleteResponse200SecurityGroup::class => false, - \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupGetResponse200::class => false, - \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupGetResponse200SecurityGroup::class => false, - \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupPatchBody::class => false, - \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupPatchResponse200::class => false, - \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupPatchResponse200SecurityGroup::class => false, \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupRulesGetResponse200::class => false, \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupRulesPostBody::class => false, \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupRulesPostResponse200::class => false, @@ -2525,6 +2656,18 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\SecurityGroupsRulesSecurityGroupRulePatchBody::class => false, \KatapultAPI\Core\Model\SecurityGroupsRulesSecurityGroupRulePatchResponse200::class => false, \KatapultAPI\Core\Model\SecurityGroupsRulesSecurityGroupRulePatchResponse200SecurityGroupRule::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationSecurityGroupsGetResponse200::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationSecurityGroupsPostBody::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationSecurityGroupsPostResponse200::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationSecurityGroupsPostResponse200SecurityGroup::class => false, + \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupDeleteBody::class => false, + \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupDeleteResponse200::class => false, + \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupDeleteResponse200SecurityGroup::class => false, + \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupGetResponse200::class => false, + \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupGetResponse200SecurityGroup::class => false, + \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupPatchBody::class => false, + \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupPatchResponse200::class => false, + \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupPatchResponse200SecurityGroup::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationTagsGetResponse200::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationTagsPostBody::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationTagsPostResponse200::class => false, @@ -2551,6 +2694,18 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\UsersCurrentGetResponse200::class => false, \KatapultAPI\Core\Model\InvalidateLinkedWebSessionPostBody::class => false, \KatapultAPI\Core\Model\InvalidateLinkedWebSessionPostResponse200::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualNetworksGetResponse200::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualNetworksPostBody::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualNetworksPostResponse200::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualNetworksPostResponse200VirtualNetwork::class => false, + \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkDeleteBody::class => false, + \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkDeleteResponse200::class => false, + \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkDeleteResponse200VirtualNetwork::class => false, + \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkGetResponse200::class => false, + \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkGetResponse200VirtualNetwork::class => false, + \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkPatchBody::class => false, + \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkPatchResponse200::class => false, + \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkPatchResponse200VirtualNetwork::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachineGroupsGetResponse200::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachineGroupsPostBody::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachineGroupsPostResponse200::class => false, @@ -2594,23 +2749,6 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineAllocateIpPostBody::class => false, \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineAllocateIpPostResponse200::class => false, \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineAllocateIpPostResponse200IpAddress::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildPostBody::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildPostResponse201::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildPostResponse201Build::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildFromSpecPostBody::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildFromSpecPostResponse201::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildFromSpecPostResponse201Build::class => false, - \KatapultAPI\Core\Model\VirtualMachinesBuildsVirtualMachineBuildGetResponse200::class => false, - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineStartPostBody::class => false, - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineStartPostResponse200::class => false, - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineStopPostBody::class => false, - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineStopPostResponse200::class => false, - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineShutdownPostBody::class => false, - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineShutdownPostResponse200::class => false, - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineResetPostBody::class => false, - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineResetPostResponse200::class => false, - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineConsoleSessionsPostBody::class => false, - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineConsoleSessionsPostResponse201::class => false, \KatapultAPI\Core\Model\ZonesGetResponse200::class => false, \KatapultAPI\Core\Model\ZonesZoneGetResponse200::class => false, \KatapultAPI\Core\Model\ZonesZoneGetResponse200Zone::class => false, @@ -3392,6 +3530,12 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\NetworkSpeedProfile::class => NetworkSpeedProfileNormalizer::class, + \KatapultAPI\Core\Model\VirtualNetwork::class => VirtualNetworkNormalizer::class, + + \KatapultAPI\Core\Model\VirtualNetworkArguments::class => VirtualNetworkArgumentsNormalizer::class, + + \KatapultAPI\Core\Model\VirtualNetworkLookup::class => VirtualNetworkLookupNormalizer::class, + \KatapultAPI\Core\Model\GetAddressLists200ResponseAddressLists::class => GetAddressLists200ResponseAddressListsNormalizer::class, \KatapultAPI\Core\Model\GetOrganizationAddressLists200ResponseAddressLists::class => GetOrganizationAddressLists200ResponseAddressListsNormalizer::class, @@ -3556,6 +3700,38 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\IdentityNotLinkedToWebSessionSchema::class => IdentityNotLinkedToWebSessionSchemaNormalizer::class, + \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\ObjectStorageBucketAccessControlList::class => ObjectStorageBucketAccessControlListNormalizer::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\ObjectStorageBucketLookup::class => ObjectStorageBucketLookupNormalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageBucketNotFoundSchema::class => ObjectStorageBucketNotFoundSchemaNormalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageBucketDeletionError::class => ObjectStorageBucketDeletionErrorNormalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageBucketDeletionErrorSchema::class => ObjectStorageBucketDeletionErrorSchemaNormalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageObject::class => ObjectStorageObjectNormalizer::class, + + \KatapultAPI\Core\Model\ObjectNotFoundSchema::class => ObjectNotFoundSchemaNormalizer::class, + + \KatapultAPI\Core\Model\ObjectStorageObjectPresignedURLArguments::class => ObjectStorageObjectPresignedURLArgumentsNormalizer::class, + \KatapultAPI\Core\Model\ResponseAPIAuthenticator400Response::class => ResponseAPIAuthenticator400ResponseNormalizer::class, \KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response::class => ResponseAPIAuthenticator429ResponseNormalizer::class, @@ -3618,6 +3794,8 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\ResponseNetworkNotFoundResponse::class => ResponseNetworkNotFoundResponseNormalizer::class, + \KatapultAPI\Core\Model\ResponseVirtualNetworkNotFoundResponse::class => ResponseVirtualNetworkNotFoundResponseNormalizer::class, + \KatapultAPI\Core\Model\ResponseAddressListNotFoundResponse::class => ResponseAddressListNotFoundResponseNormalizer::class, \KatapultAPI\Core\Model\ResponseAddressListEntryNotFoundResponse::class => ResponseAddressListEntryNotFoundResponseNormalizer::class, @@ -3658,6 +3836,10 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\ResponseNoUserAssociatedWithIdentityResponse::class => ResponseNoUserAssociatedWithIdentityResponseNormalizer::class, + \KatapultAPI\Core\Model\ResponseMultipleObjectStorageBucketsFoundResponse::class => ResponseMultipleObjectStorageBucketsFoundResponseNormalizer::class, + + \KatapultAPI\Core\Model\ResponseNetworkErrorResponse::class => ResponseNetworkErrorResponseNormalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationApiTokensGetResponse200::class => OrganizationsOrganizationApiTokensGetResponse200Normalizer::class, \KatapultAPI\Core\Model\OrganizationsOrganizationApiTokensPostBody::class => OrganizationsOrganizationApiTokensPostBodyNormalizer::class, @@ -3684,6 +3866,34 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\ApiTokensApiTokenRegenerateSecretPostResponse200ApiToken::class => ApiTokensApiTokenRegenerateSecretPostResponse200ApiTokenNormalizer::class, + \KatapultAPI\Core\Model\AddressListsAddressListEntriesGetResponse200::class => AddressListsAddressListEntriesGetResponse200Normalizer::class, + + \KatapultAPI\Core\Model\AddressListsAddressListEntriesPostBody::class => AddressListsAddressListEntriesPostBodyNormalizer::class, + + \KatapultAPI\Core\Model\AddressListsAddressListEntriesPostResponse201::class => AddressListsAddressListEntriesPostResponse201Normalizer::class, + + \KatapultAPI\Core\Model\AddressListsAddressListEntriesPostResponse201AddressListEntry::class => AddressListsAddressListEntriesPostResponse201AddressListEntryNormalizer::class, + + \KatapultAPI\Core\Model\AddressListEntriesAddressListEntryDeleteBody::class => AddressListEntriesAddressListEntryDeleteBodyNormalizer::class, + + \KatapultAPI\Core\Model\AddressListEntriesAddressListEntryDeleteResponse200::class => AddressListEntriesAddressListEntryDeleteResponse200Normalizer::class, + + \KatapultAPI\Core\Model\AddressListEntriesAddressListEntryDeleteResponse200AddressListEntry::class => AddressListEntriesAddressListEntryDeleteResponse200AddressListEntryNormalizer::class, + + \KatapultAPI\Core\Model\AddressListEntriesAddressListEntryGetResponse200::class => AddressListEntriesAddressListEntryGetResponse200Normalizer::class, + + \KatapultAPI\Core\Model\AddressListEntriesAddressListEntryGetResponse200AddressListEntry::class => AddressListEntriesAddressListEntryGetResponse200AddressListEntryNormalizer::class, + + \KatapultAPI\Core\Model\AddressListEntriesAddressListEntryPatchBody::class => AddressListEntriesAddressListEntryPatchBodyNormalizer::class, + + \KatapultAPI\Core\Model\AddressListEntriesAddressListEntryPatchResponse200::class => AddressListEntriesAddressListEntryPatchResponse200Normalizer::class, + + \KatapultAPI\Core\Model\AddressListEntriesAddressListEntryPatchResponse200AddressListEntry::class => AddressListEntriesAddressListEntryPatchResponse200AddressListEntryNormalizer::class, + + \KatapultAPI\Core\Model\AddressListsAddressListEntriesBulkPostBody::class => AddressListsAddressListEntriesBulkPostBodyNormalizer::class, + + \KatapultAPI\Core\Model\AddressListsAddressListEntriesBulkPostResponse200::class => AddressListsAddressListEntriesBulkPostResponse200Normalizer::class, + \KatapultAPI\Core\Model\AddressListsGetResponse200::class => AddressListsGetResponse200Normalizer::class, \KatapultAPI\Core\Model\OrganizationsOrganizationAddressListsGetResponse200::class => OrganizationsOrganizationAddressListsGetResponse200Normalizer::class, @@ -3710,38 +3920,52 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\AddressListsAddressListPatchResponse200AddressList::class => AddressListsAddressListPatchResponse200AddressListNormalizer::class, - \KatapultAPI\Core\Model\AddressListsAddressListEntriesGetResponse200::class => AddressListsAddressListEntriesGetResponse200Normalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostBody::class => OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostBodyNormalizer::class, - \KatapultAPI\Core\Model\AddressListsAddressListEntriesPostBody::class => AddressListsAddressListEntriesPostBodyNormalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostResponse201::class => OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostResponse201Normalizer::class, - \KatapultAPI\Core\Model\AddressListsAddressListEntriesPostResponse201::class => AddressListsAddressListEntriesPostResponse201Normalizer::class, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketDeleteBody::class => ObjectStorageObjectStorageClusterBucketsBucketDeleteBodyNormalizer::class, - \KatapultAPI\Core\Model\AddressListsAddressListEntriesPostResponse201AddressListEntry::class => AddressListsAddressListEntriesPostResponse201AddressListEntryNormalizer::class, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketDeleteResponse200::class => ObjectStorageObjectStorageClusterBucketsBucketDeleteResponse200Normalizer::class, - \KatapultAPI\Core\Model\AddressListEntriesAddressListEntryDeleteBody::class => AddressListEntriesAddressListEntryDeleteBodyNormalizer::class, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketGetResponse200::class => ObjectStorageObjectStorageClusterBucketsBucketGetResponse200Normalizer::class, - \KatapultAPI\Core\Model\AddressListEntriesAddressListEntryDeleteResponse200::class => AddressListEntriesAddressListEntryDeleteResponse200Normalizer::class, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketPatchBody::class => ObjectStorageObjectStorageClusterBucketsBucketPatchBodyNormalizer::class, - \KatapultAPI\Core\Model\AddressListEntriesAddressListEntryDeleteResponse200AddressListEntry::class => AddressListEntriesAddressListEntryDeleteResponse200AddressListEntryNormalizer::class, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketPatchResponse200::class => ObjectStorageObjectStorageClusterBucketsBucketPatchResponse200Normalizer::class, - \KatapultAPI\Core\Model\AddressListEntriesAddressListEntryGetResponse200::class => AddressListEntriesAddressListEntryGetResponse200Normalizer::class, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostBody::class => ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostBodyNormalizer::class, - \KatapultAPI\Core\Model\AddressListEntriesAddressListEntryGetResponse200AddressListEntry::class => AddressListEntriesAddressListEntryGetResponse200AddressListEntryNormalizer::class, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostResponse200::class => ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostResponse200Normalizer::class, - \KatapultAPI\Core\Model\AddressListEntriesAddressListEntryPatchBody::class => AddressListEntriesAddressListEntryPatchBodyNormalizer::class, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketObjectGetResponse200::class => ObjectStorageObjectStorageClusterBucketsBucketObjectGetResponse200Normalizer::class, - \KatapultAPI\Core\Model\AddressListEntriesAddressListEntryPatchResponse200::class => AddressListEntriesAddressListEntryPatchResponse200Normalizer::class, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostBody::class => ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostBodyNormalizer::class, - \KatapultAPI\Core\Model\AddressListEntriesAddressListEntryPatchResponse200AddressListEntry::class => AddressListEntriesAddressListEntryPatchResponse200AddressListEntryNormalizer::class, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostResponse200::class => ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostResponse200Normalizer::class, - \KatapultAPI\Core\Model\AddressListsAddressListEntriesBulkPostBody::class => AddressListsAddressListEntriesBulkPostBodyNormalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildPostBody::class => OrganizationsOrganizationVirtualMachinesBuildPostBodyNormalizer::class, - \KatapultAPI\Core\Model\AddressListsAddressListEntriesBulkPostResponse200::class => AddressListsAddressListEntriesBulkPostResponse200Normalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildPostResponse201::class => OrganizationsOrganizationVirtualMachinesBuildPostResponse201Normalizer::class, + + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildPostResponse201Build::class => OrganizationsOrganizationVirtualMachinesBuildPostResponse201BuildNormalizer::class, + + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildFromSpecPostBody::class => OrganizationsOrganizationVirtualMachinesBuildFromSpecPostBodyNormalizer::class, + + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildFromSpecPostResponse201::class => OrganizationsOrganizationVirtualMachinesBuildFromSpecPostResponse201Normalizer::class, + + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildFromSpecPostResponse201Build::class => OrganizationsOrganizationVirtualMachinesBuildFromSpecPostResponse201BuildNormalizer::class, + + \KatapultAPI\Core\Model\VirtualMachinesBuildsVirtualMachineBuildGetResponse200::class => VirtualMachinesBuildsVirtualMachineBuildGetResponse200Normalizer::class, \KatapultAPI\Core\Model\OrganizationsOrganizationCertificatesGetResponse200::class => OrganizationsOrganizationCertificatesGetResponse200Normalizer::class, \KatapultAPI\Core\Model\CertificatesCertificateGetResponse200::class => CertificatesCertificateGetResponse200Normalizer::class, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineConsoleSessionsPostBody::class => VirtualMachinesVirtualMachineConsoleSessionsPostBodyNormalizer::class, + + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineConsoleSessionsPostResponse201::class => VirtualMachinesVirtualMachineConsoleSessionsPostResponse201Normalizer::class, + \KatapultAPI\Core\Model\CountriesGetResponse200::class => CountriesGetResponse200Normalizer::class, \KatapultAPI\Core\Model\CountriesCountryGetResponse200::class => CountriesCountryGetResponse200Normalizer::class, @@ -3790,26 +4014,6 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\DnsZonesDnsZoneVerifyPostResponse200DnsZone::class => DnsZonesDnsZoneVerifyPostResponse200DnsZoneNormalizer::class, - \KatapultAPI\Core\Model\DnsZonesDnsZoneRecordsGetResponse200::class => DnsZonesDnsZoneRecordsGetResponse200Normalizer::class, - - \KatapultAPI\Core\Model\DnsZonesDnsZoneRecordsPostBody::class => DnsZonesDnsZoneRecordsPostBodyNormalizer::class, - - \KatapultAPI\Core\Model\DnsZonesDnsZoneRecordsPostResponse200::class => DnsZonesDnsZoneRecordsPostResponse200Normalizer::class, - - \KatapultAPI\Core\Model\DnsRecordsDnsRecordDeleteBody::class => DnsRecordsDnsRecordDeleteBodyNormalizer::class, - - \KatapultAPI\Core\Model\DnsRecordsDnsRecordDeleteResponse200::class => DnsRecordsDnsRecordDeleteResponse200Normalizer::class, - - \KatapultAPI\Core\Model\DnsRecordsDnsRecordGetResponse200::class => DnsRecordsDnsRecordGetResponse200Normalizer::class, - - \KatapultAPI\Core\Model\DnsRecordsDnsRecordGetResponse200DnsRecord::class => DnsRecordsDnsRecordGetResponse200DnsRecordNormalizer::class, - - \KatapultAPI\Core\Model\DnsRecordsDnsRecordPatchBody::class => DnsRecordsDnsRecordPatchBodyNormalizer::class, - - \KatapultAPI\Core\Model\DnsRecordsDnsRecordPatchResponse200::class => DnsRecordsDnsRecordPatchResponse200Normalizer::class, - - \KatapultAPI\Core\Model\DnsRecordsDnsRecordPatchResponse200DnsRecord::class => DnsRecordsDnsRecordPatchResponse200DnsRecordNormalizer::class, - \KatapultAPI\Core\Model\DataCentersGetResponse200::class => DataCentersGetResponse200Normalizer::class, \KatapultAPI\Core\Model\DataCentersDataCenterGetResponse200::class => DataCentersDataCenterGetResponse200Normalizer::class, @@ -3996,6 +4200,30 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\IpAddressesIpAddressUnallocatePostResponse200::class => IpAddressesIpAddressUnallocatePostResponse200Normalizer::class, + \KatapultAPI\Core\Model\LoadBalancersLoadBalancerRulesGetResponse200::class => LoadBalancersLoadBalancerRulesGetResponse200Normalizer::class, + + \KatapultAPI\Core\Model\LoadBalancersLoadBalancerRulesPostBody::class => LoadBalancersLoadBalancerRulesPostBodyNormalizer::class, + + \KatapultAPI\Core\Model\LoadBalancersLoadBalancerRulesPostResponse200::class => LoadBalancersLoadBalancerRulesPostResponse200Normalizer::class, + + \KatapultAPI\Core\Model\LoadBalancersLoadBalancerRulesPostResponse200LoadBalancerRule::class => LoadBalancersLoadBalancerRulesPostResponse200LoadBalancerRuleNormalizer::class, + + \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRuleDeleteBody::class => LoadBalancersRulesLoadBalancerRuleDeleteBodyNormalizer::class, + + \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRuleDeleteResponse200::class => LoadBalancersRulesLoadBalancerRuleDeleteResponse200Normalizer::class, + + \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRuleDeleteResponse200LoadBalancerRule::class => LoadBalancersRulesLoadBalancerRuleDeleteResponse200LoadBalancerRuleNormalizer::class, + + \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRuleGetResponse200::class => LoadBalancersRulesLoadBalancerRuleGetResponse200Normalizer::class, + + \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRuleGetResponse200LoadBalancerRule::class => LoadBalancersRulesLoadBalancerRuleGetResponse200LoadBalancerRuleNormalizer::class, + + \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRulePatchBody::class => LoadBalancersRulesLoadBalancerRulePatchBodyNormalizer::class, + + \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRulePatchResponse200::class => LoadBalancersRulesLoadBalancerRulePatchResponse200Normalizer::class, + + \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRulePatchResponse200LoadBalancerRule::class => LoadBalancersRulesLoadBalancerRulePatchResponse200LoadBalancerRuleNormalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationLoadBalancersGetResponse200::class => OrganizationsOrganizationLoadBalancersGetResponse200Normalizer::class, \KatapultAPI\Core\Model\OrganizationsOrganizationLoadBalancersPostBody::class => OrganizationsOrganizationLoadBalancersPostBodyNormalizer::class, @@ -4020,29 +4248,15 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\LoadBalancersLoadBalancerPatchResponse200LoadBalancer::class => LoadBalancersLoadBalancerPatchResponse200LoadBalancerNormalizer::class, - \KatapultAPI\Core\Model\LoadBalancersLoadBalancerRulesGetResponse200::class => LoadBalancersLoadBalancerRulesGetResponse200Normalizer::class, - - \KatapultAPI\Core\Model\LoadBalancersLoadBalancerRulesPostBody::class => LoadBalancersLoadBalancerRulesPostBodyNormalizer::class, - - \KatapultAPI\Core\Model\LoadBalancersLoadBalancerRulesPostResponse200::class => LoadBalancersLoadBalancerRulesPostResponse200Normalizer::class, - - \KatapultAPI\Core\Model\LoadBalancersLoadBalancerRulesPostResponse200LoadBalancerRule::class => LoadBalancersLoadBalancerRulesPostResponse200LoadBalancerRuleNormalizer::class, - - \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRuleDeleteBody::class => LoadBalancersRulesLoadBalancerRuleDeleteBodyNormalizer::class, - - \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRuleDeleteResponse200::class => LoadBalancersRulesLoadBalancerRuleDeleteResponse200Normalizer::class, - - \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRuleDeleteResponse200LoadBalancerRule::class => LoadBalancersRulesLoadBalancerRuleDeleteResponse200LoadBalancerRuleNormalizer::class, - - \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRuleGetResponse200::class => LoadBalancersRulesLoadBalancerRuleGetResponse200Normalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationManagedGetResponse200::class => OrganizationsOrganizationManagedGetResponse200Normalizer::class, - \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRuleGetResponse200LoadBalancerRule::class => LoadBalancersRulesLoadBalancerRuleGetResponse200LoadBalancerRuleNormalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationManagedPostBody::class => OrganizationsOrganizationManagedPostBodyNormalizer::class, - \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRulePatchBody::class => LoadBalancersRulesLoadBalancerRulePatchBodyNormalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationManagedPostResponse201::class => OrganizationsOrganizationManagedPostResponse201Normalizer::class, - \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRulePatchResponse200::class => LoadBalancersRulesLoadBalancerRulePatchResponse200Normalizer::class, + \KatapultAPI\Core\Model\ManagedOrganizationsOrganizationDeleteBody::class => ManagedOrganizationsOrganizationDeleteBodyNormalizer::class, - \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRulePatchResponse200LoadBalancerRule::class => LoadBalancersRulesLoadBalancerRulePatchResponse200LoadBalancerRuleNormalizer::class, + \KatapultAPI\Core\Model\ManagedOrganizationsOrganizationDeleteResponse200::class => ManagedOrganizationsOrganizationDeleteResponse200Normalizer::class, \KatapultAPI\Core\Model\OrganizationsOrganizationNetworkSpeedProfilesGetResponse200::class => OrganizationsOrganizationNetworkSpeedProfilesGetResponse200Normalizer::class, @@ -4058,6 +4272,8 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\OperatingSystemsOperatingSystemGetResponse200OperatingSystem::class => OperatingSystemsOperatingSystemGetResponse200OperatingSystemNormalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationUsersWithAccessGetResponse200::class => OrganizationsOrganizationUsersWithAccessGetResponse200Normalizer::class, + \KatapultAPI\Core\Model\OrganizationsGetResponse200::class => OrganizationsGetResponse200Normalizer::class, \KatapultAPI\Core\Model\OrganizationsOrganizationGetResponse200::class => OrganizationsOrganizationGetResponse200Normalizer::class, @@ -4070,51 +4286,51 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\OrganizationsOrganizationDeletionStepsGetResponse200::class => OrganizationsOrganizationDeletionStepsGetResponse200Normalizer::class, - \KatapultAPI\Core\Model\OrganizationsOrganizationUsersWithAccessGetResponse200::class => OrganizationsOrganizationUsersWithAccessGetResponse200Normalizer::class, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineStartPostBody::class => VirtualMachinesVirtualMachineStartPostBodyNormalizer::class, - \KatapultAPI\Core\Model\OrganizationsOrganizationManagedGetResponse200::class => OrganizationsOrganizationManagedGetResponse200Normalizer::class, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineStartPostResponse200::class => VirtualMachinesVirtualMachineStartPostResponse200Normalizer::class, - \KatapultAPI\Core\Model\OrganizationsOrganizationManagedPostBody::class => OrganizationsOrganizationManagedPostBodyNormalizer::class, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineStopPostBody::class => VirtualMachinesVirtualMachineStopPostBodyNormalizer::class, - \KatapultAPI\Core\Model\OrganizationsOrganizationManagedPostResponse201::class => OrganizationsOrganizationManagedPostResponse201Normalizer::class, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineStopPostResponse200::class => VirtualMachinesVirtualMachineStopPostResponse200Normalizer::class, - \KatapultAPI\Core\Model\ManagedOrganizationsOrganizationDeleteBody::class => ManagedOrganizationsOrganizationDeleteBodyNormalizer::class, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineShutdownPostBody::class => VirtualMachinesVirtualMachineShutdownPostBodyNormalizer::class, - \KatapultAPI\Core\Model\ManagedOrganizationsOrganizationDeleteResponse200::class => ManagedOrganizationsOrganizationDeleteResponse200Normalizer::class, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineShutdownPostResponse200::class => VirtualMachinesVirtualMachineShutdownPostResponse200Normalizer::class, - \KatapultAPI\Core\Model\OrganizationsOrganizationSshKeysGetResponse200::class => OrganizationsOrganizationSshKeysGetResponse200Normalizer::class, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineResetPostBody::class => VirtualMachinesVirtualMachineResetPostBodyNormalizer::class, - \KatapultAPI\Core\Model\OrganizationsOrganizationSshKeysPostBody::class => OrganizationsOrganizationSshKeysPostBodyNormalizer::class, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineResetPostResponse200::class => VirtualMachinesVirtualMachineResetPostResponse200Normalizer::class, - \KatapultAPI\Core\Model\OrganizationsOrganizationSshKeysPostResponse201::class => OrganizationsOrganizationSshKeysPostResponse201Normalizer::class, + \KatapultAPI\Core\Model\DnsZonesDnsZoneRecordsGetResponse200::class => DnsZonesDnsZoneRecordsGetResponse200Normalizer::class, - \KatapultAPI\Core\Model\SshKeysSshKeyDeleteBody::class => SshKeysSshKeyDeleteBodyNormalizer::class, + \KatapultAPI\Core\Model\DnsZonesDnsZoneRecordsPostBody::class => DnsZonesDnsZoneRecordsPostBodyNormalizer::class, - \KatapultAPI\Core\Model\SshKeysSshKeyDeleteResponse200::class => SshKeysSshKeyDeleteResponse200Normalizer::class, + \KatapultAPI\Core\Model\DnsZonesDnsZoneRecordsPostResponse200::class => DnsZonesDnsZoneRecordsPostResponse200Normalizer::class, - \KatapultAPI\Core\Model\OrganizationsOrganizationSecurityGroupsGetResponse200::class => OrganizationsOrganizationSecurityGroupsGetResponse200Normalizer::class, + \KatapultAPI\Core\Model\DnsRecordsDnsRecordDeleteBody::class => DnsRecordsDnsRecordDeleteBodyNormalizer::class, - \KatapultAPI\Core\Model\OrganizationsOrganizationSecurityGroupsPostBody::class => OrganizationsOrganizationSecurityGroupsPostBodyNormalizer::class, + \KatapultAPI\Core\Model\DnsRecordsDnsRecordDeleteResponse200::class => DnsRecordsDnsRecordDeleteResponse200Normalizer::class, - \KatapultAPI\Core\Model\OrganizationsOrganizationSecurityGroupsPostResponse200::class => OrganizationsOrganizationSecurityGroupsPostResponse200Normalizer::class, + \KatapultAPI\Core\Model\DnsRecordsDnsRecordGetResponse200::class => DnsRecordsDnsRecordGetResponse200Normalizer::class, - \KatapultAPI\Core\Model\OrganizationsOrganizationSecurityGroupsPostResponse200SecurityGroup::class => OrganizationsOrganizationSecurityGroupsPostResponse200SecurityGroupNormalizer::class, + \KatapultAPI\Core\Model\DnsRecordsDnsRecordGetResponse200DnsRecord::class => DnsRecordsDnsRecordGetResponse200DnsRecordNormalizer::class, - \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupDeleteBody::class => SecurityGroupsSecurityGroupDeleteBodyNormalizer::class, + \KatapultAPI\Core\Model\DnsRecordsDnsRecordPatchBody::class => DnsRecordsDnsRecordPatchBodyNormalizer::class, - \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupDeleteResponse200::class => SecurityGroupsSecurityGroupDeleteResponse200Normalizer::class, + \KatapultAPI\Core\Model\DnsRecordsDnsRecordPatchResponse200::class => DnsRecordsDnsRecordPatchResponse200Normalizer::class, - \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupDeleteResponse200SecurityGroup::class => SecurityGroupsSecurityGroupDeleteResponse200SecurityGroupNormalizer::class, + \KatapultAPI\Core\Model\DnsRecordsDnsRecordPatchResponse200DnsRecord::class => DnsRecordsDnsRecordPatchResponse200DnsRecordNormalizer::class, - \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupGetResponse200::class => SecurityGroupsSecurityGroupGetResponse200Normalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationSshKeysGetResponse200::class => OrganizationsOrganizationSshKeysGetResponse200Normalizer::class, - \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupGetResponse200SecurityGroup::class => SecurityGroupsSecurityGroupGetResponse200SecurityGroupNormalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationSshKeysPostBody::class => OrganizationsOrganizationSshKeysPostBodyNormalizer::class, - \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupPatchBody::class => SecurityGroupsSecurityGroupPatchBodyNormalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationSshKeysPostResponse201::class => OrganizationsOrganizationSshKeysPostResponse201Normalizer::class, - \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupPatchResponse200::class => SecurityGroupsSecurityGroupPatchResponse200Normalizer::class, + \KatapultAPI\Core\Model\SshKeysSshKeyDeleteBody::class => SshKeysSshKeyDeleteBodyNormalizer::class, - \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupPatchResponse200SecurityGroup::class => SecurityGroupsSecurityGroupPatchResponse200SecurityGroupNormalizer::class, + \KatapultAPI\Core\Model\SshKeysSshKeyDeleteResponse200::class => SshKeysSshKeyDeleteResponse200Normalizer::class, \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupRulesGetResponse200::class => SecurityGroupsSecurityGroupRulesGetResponse200Normalizer::class, @@ -4140,6 +4356,30 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\SecurityGroupsRulesSecurityGroupRulePatchResponse200SecurityGroupRule::class => SecurityGroupsRulesSecurityGroupRulePatchResponse200SecurityGroupRuleNormalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationSecurityGroupsGetResponse200::class => OrganizationsOrganizationSecurityGroupsGetResponse200Normalizer::class, + + \KatapultAPI\Core\Model\OrganizationsOrganizationSecurityGroupsPostBody::class => OrganizationsOrganizationSecurityGroupsPostBodyNormalizer::class, + + \KatapultAPI\Core\Model\OrganizationsOrganizationSecurityGroupsPostResponse200::class => OrganizationsOrganizationSecurityGroupsPostResponse200Normalizer::class, + + \KatapultAPI\Core\Model\OrganizationsOrganizationSecurityGroupsPostResponse200SecurityGroup::class => OrganizationsOrganizationSecurityGroupsPostResponse200SecurityGroupNormalizer::class, + + \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupDeleteBody::class => SecurityGroupsSecurityGroupDeleteBodyNormalizer::class, + + \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupDeleteResponse200::class => SecurityGroupsSecurityGroupDeleteResponse200Normalizer::class, + + \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupDeleteResponse200SecurityGroup::class => SecurityGroupsSecurityGroupDeleteResponse200SecurityGroupNormalizer::class, + + \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupGetResponse200::class => SecurityGroupsSecurityGroupGetResponse200Normalizer::class, + + \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupGetResponse200SecurityGroup::class => SecurityGroupsSecurityGroupGetResponse200SecurityGroupNormalizer::class, + + \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupPatchBody::class => SecurityGroupsSecurityGroupPatchBodyNormalizer::class, + + \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupPatchResponse200::class => SecurityGroupsSecurityGroupPatchResponse200Normalizer::class, + + \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupPatchResponse200SecurityGroup::class => SecurityGroupsSecurityGroupPatchResponse200SecurityGroupNormalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationTagsGetResponse200::class => OrganizationsOrganizationTagsGetResponse200Normalizer::class, \KatapultAPI\Core\Model\OrganizationsOrganizationTagsPostBody::class => OrganizationsOrganizationTagsPostBodyNormalizer::class, @@ -4192,6 +4432,30 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\InvalidateLinkedWebSessionPostResponse200::class => InvalidateLinkedWebSessionPostResponse200Normalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualNetworksGetResponse200::class => OrganizationsOrganizationVirtualNetworksGetResponse200Normalizer::class, + + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualNetworksPostBody::class => OrganizationsOrganizationVirtualNetworksPostBodyNormalizer::class, + + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualNetworksPostResponse200::class => OrganizationsOrganizationVirtualNetworksPostResponse200Normalizer::class, + + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualNetworksPostResponse200VirtualNetwork::class => OrganizationsOrganizationVirtualNetworksPostResponse200VirtualNetworkNormalizer::class, + + \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkDeleteBody::class => VirtualNetworksVirtualNetworkDeleteBodyNormalizer::class, + + \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkDeleteResponse200::class => VirtualNetworksVirtualNetworkDeleteResponse200Normalizer::class, + + \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkDeleteResponse200VirtualNetwork::class => VirtualNetworksVirtualNetworkDeleteResponse200VirtualNetworkNormalizer::class, + + \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkGetResponse200::class => VirtualNetworksVirtualNetworkGetResponse200Normalizer::class, + + \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkGetResponse200VirtualNetwork::class => VirtualNetworksVirtualNetworkGetResponse200VirtualNetworkNormalizer::class, + + \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkPatchBody::class => VirtualNetworksVirtualNetworkPatchBodyNormalizer::class, + + \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkPatchResponse200::class => VirtualNetworksVirtualNetworkPatchResponse200Normalizer::class, + + \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkPatchResponse200VirtualNetwork::class => VirtualNetworksVirtualNetworkPatchResponse200VirtualNetworkNormalizer::class, + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachineGroupsGetResponse200::class => OrganizationsOrganizationVirtualMachineGroupsGetResponse200Normalizer::class, \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachineGroupsPostBody::class => OrganizationsOrganizationVirtualMachineGroupsPostBodyNormalizer::class, @@ -4278,40 +4542,6 @@ class JaneObjectNormalizer implements DenormalizerInterface, NormalizerInterface \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineAllocateIpPostResponse200IpAddress::class => VirtualMachinesVirtualMachineAllocateIpPostResponse200IpAddressNormalizer::class, - \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildPostBody::class => OrganizationsOrganizationVirtualMachinesBuildPostBodyNormalizer::class, - - \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildPostResponse201::class => OrganizationsOrganizationVirtualMachinesBuildPostResponse201Normalizer::class, - - \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildPostResponse201Build::class => OrganizationsOrganizationVirtualMachinesBuildPostResponse201BuildNormalizer::class, - - \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildFromSpecPostBody::class => OrganizationsOrganizationVirtualMachinesBuildFromSpecPostBodyNormalizer::class, - - \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildFromSpecPostResponse201::class => OrganizationsOrganizationVirtualMachinesBuildFromSpecPostResponse201Normalizer::class, - - \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildFromSpecPostResponse201Build::class => OrganizationsOrganizationVirtualMachinesBuildFromSpecPostResponse201BuildNormalizer::class, - - \KatapultAPI\Core\Model\VirtualMachinesBuildsVirtualMachineBuildGetResponse200::class => VirtualMachinesBuildsVirtualMachineBuildGetResponse200Normalizer::class, - - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineStartPostBody::class => VirtualMachinesVirtualMachineStartPostBodyNormalizer::class, - - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineStartPostResponse200::class => VirtualMachinesVirtualMachineStartPostResponse200Normalizer::class, - - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineStopPostBody::class => VirtualMachinesVirtualMachineStopPostBodyNormalizer::class, - - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineStopPostResponse200::class => VirtualMachinesVirtualMachineStopPostResponse200Normalizer::class, - - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineShutdownPostBody::class => VirtualMachinesVirtualMachineShutdownPostBodyNormalizer::class, - - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineShutdownPostResponse200::class => VirtualMachinesVirtualMachineShutdownPostResponse200Normalizer::class, - - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineResetPostBody::class => VirtualMachinesVirtualMachineResetPostBodyNormalizer::class, - - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineResetPostResponse200::class => VirtualMachinesVirtualMachineResetPostResponse200Normalizer::class, - - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineConsoleSessionsPostBody::class => VirtualMachinesVirtualMachineConsoleSessionsPostBodyNormalizer::class, - - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineConsoleSessionsPostResponse201::class => VirtualMachinesVirtualMachineConsoleSessionsPostResponse201Normalizer::class, - \KatapultAPI\Core\Model\ZonesGetResponse200::class => ZonesGetResponse200Normalizer::class, \KatapultAPI\Core\Model\ZonesZoneGetResponse200::class => ZonesZoneGetResponse200Normalizer::class, @@ -4752,6 +4982,9 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\GetOrganizationAvailableNetworksPartDataCenter::class => false, \KatapultAPI\Core\Model\GetOrganizationAvailableNetworks200ResponseVirtualNetworks::class => false, \KatapultAPI\Core\Model\NetworkSpeedProfile::class => false, + \KatapultAPI\Core\Model\VirtualNetwork::class => false, + \KatapultAPI\Core\Model\VirtualNetworkArguments::class => false, + \KatapultAPI\Core\Model\VirtualNetworkLookup::class => false, \KatapultAPI\Core\Model\GetAddressLists200ResponseAddressLists::class => false, \KatapultAPI\Core\Model\GetOrganizationAddressLists200ResponseAddressLists::class => false, \KatapultAPI\Core\Model\AddressList::class => false, @@ -4834,6 +5067,22 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\GetCurrencies200ResponseCurrencies::class => false, \KatapultAPI\Core\Model\GetUsersCurrent200ResponseOrganizations::class => false, \KatapultAPI\Core\Model\IdentityNotLinkedToWebSessionSchema::class => false, + \KatapultAPI\Core\Model\ObjectStorageClusterLookup::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, + \KatapultAPI\Core\Model\ObjectStorageBucketDeletionErrorSchema::class => false, + \KatapultAPI\Core\Model\ObjectStorageObject::class => false, + \KatapultAPI\Core\Model\ObjectNotFoundSchema::class => false, + \KatapultAPI\Core\Model\ObjectStorageObjectPresignedURLArguments::class => false, \KatapultAPI\Core\Model\ResponseAPIAuthenticator400Response::class => false, \KatapultAPI\Core\Model\ResponseAPIAuthenticator429Response::class => false, \KatapultAPI\Core\Model\ResponseAPIAuthenticator503Response::class => false, @@ -4865,6 +5114,7 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\ResponseSecurityGroupRuleNotFoundResponse::class => false, \KatapultAPI\Core\Model\ResponseFileStorageVolumeNotFoundResponse::class => false, \KatapultAPI\Core\Model\ResponseNetworkNotFoundResponse::class => false, + \KatapultAPI\Core\Model\ResponseVirtualNetworkNotFoundResponse::class => false, \KatapultAPI\Core\Model\ResponseAddressListNotFoundResponse::class => false, \KatapultAPI\Core\Model\ResponseAddressListEntryNotFoundResponse::class => false, \KatapultAPI\Core\Model\ResponseCertificateNotFoundResponse::class => false, @@ -4885,6 +5135,8 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\ResponseCurrencyNotFoundResponse::class => false, \KatapultAPI\Core\Model\ResponseTaskNotFoundResponse::class => false, \KatapultAPI\Core\Model\ResponseNoUserAssociatedWithIdentityResponse::class => false, + \KatapultAPI\Core\Model\ResponseMultipleObjectStorageBucketsFoundResponse::class => false, + \KatapultAPI\Core\Model\ResponseNetworkErrorResponse::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationApiTokensGetResponse200::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationApiTokensPostBody::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationApiTokensPostResponse200::class => false, @@ -4898,19 +5150,6 @@ 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\AddressListsGetResponse200::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationAddressListsGetResponse200::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationAddressListsPostBody::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationAddressListsPostResponse201::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationAddressListsPostResponse201AddressList::class => false, - \KatapultAPI\Core\Model\AddressListsAddressListDeleteBody::class => false, - \KatapultAPI\Core\Model\AddressListsAddressListDeleteResponse200::class => false, - \KatapultAPI\Core\Model\AddressListsAddressListDeleteResponse200AddressList::class => false, - \KatapultAPI\Core\Model\AddressListsAddressListGetResponse200::class => false, - \KatapultAPI\Core\Model\AddressListsAddressListGetResponse200AddressList::class => false, - \KatapultAPI\Core\Model\AddressListsAddressListPatchBody::class => false, - \KatapultAPI\Core\Model\AddressListsAddressListPatchResponse200::class => false, - \KatapultAPI\Core\Model\AddressListsAddressListPatchResponse200AddressList::class => false, \KatapultAPI\Core\Model\AddressListsAddressListEntriesGetResponse200::class => false, \KatapultAPI\Core\Model\AddressListsAddressListEntriesPostBody::class => false, \KatapultAPI\Core\Model\AddressListsAddressListEntriesPostResponse201::class => false, @@ -4925,8 +5164,42 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\AddressListEntriesAddressListEntryPatchResponse200AddressListEntry::class => false, \KatapultAPI\Core\Model\AddressListsAddressListEntriesBulkPostBody::class => false, \KatapultAPI\Core\Model\AddressListsAddressListEntriesBulkPostResponse200::class => false, + \KatapultAPI\Core\Model\AddressListsGetResponse200::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationAddressListsGetResponse200::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationAddressListsPostBody::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationAddressListsPostResponse201::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationAddressListsPostResponse201AddressList::class => false, + \KatapultAPI\Core\Model\AddressListsAddressListDeleteBody::class => false, + \KatapultAPI\Core\Model\AddressListsAddressListDeleteResponse200::class => false, + \KatapultAPI\Core\Model\AddressListsAddressListDeleteResponse200AddressList::class => false, + \KatapultAPI\Core\Model\AddressListsAddressListGetResponse200::class => false, + \KatapultAPI\Core\Model\AddressListsAddressListGetResponse200AddressList::class => false, + \KatapultAPI\Core\Model\AddressListsAddressListPatchBody::class => false, + \KatapultAPI\Core\Model\AddressListsAddressListPatchResponse200::class => false, + \KatapultAPI\Core\Model\AddressListsAddressListPatchResponse200AddressList::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostBody::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostResponse201::class => false, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketDeleteBody::class => false, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketDeleteResponse200::class => false, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketGetResponse200::class => false, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketPatchBody::class => false, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketPatchResponse200::class => false, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostBody::class => false, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostResponse200::class => false, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketObjectGetResponse200::class => false, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostBody::class => false, + \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostResponse200::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildPostBody::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildPostResponse201::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildPostResponse201Build::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildFromSpecPostBody::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildFromSpecPostResponse201::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildFromSpecPostResponse201Build::class => false, + \KatapultAPI\Core\Model\VirtualMachinesBuildsVirtualMachineBuildGetResponse200::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationCertificatesGetResponse200::class => false, \KatapultAPI\Core\Model\CertificatesCertificateGetResponse200::class => false, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineConsoleSessionsPostBody::class => false, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineConsoleSessionsPostResponse201::class => false, \KatapultAPI\Core\Model\CountriesGetResponse200::class => false, \KatapultAPI\Core\Model\CountriesCountryGetResponse200::class => false, \KatapultAPI\Core\Model\CountriesCountryGetResponse200Country::class => false, @@ -4951,16 +5224,6 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\DnsZonesDnsZoneVerifyPostBody::class => false, \KatapultAPI\Core\Model\DnsZonesDnsZoneVerifyPostResponse200::class => false, \KatapultAPI\Core\Model\DnsZonesDnsZoneVerifyPostResponse200DnsZone::class => false, - \KatapultAPI\Core\Model\DnsZonesDnsZoneRecordsGetResponse200::class => false, - \KatapultAPI\Core\Model\DnsZonesDnsZoneRecordsPostBody::class => false, - \KatapultAPI\Core\Model\DnsZonesDnsZoneRecordsPostResponse200::class => false, - \KatapultAPI\Core\Model\DnsRecordsDnsRecordDeleteBody::class => false, - \KatapultAPI\Core\Model\DnsRecordsDnsRecordDeleteResponse200::class => false, - \KatapultAPI\Core\Model\DnsRecordsDnsRecordGetResponse200::class => false, - \KatapultAPI\Core\Model\DnsRecordsDnsRecordGetResponse200DnsRecord::class => false, - \KatapultAPI\Core\Model\DnsRecordsDnsRecordPatchBody::class => false, - \KatapultAPI\Core\Model\DnsRecordsDnsRecordPatchResponse200::class => false, - \KatapultAPI\Core\Model\DnsRecordsDnsRecordPatchResponse200DnsRecord::class => false, \KatapultAPI\Core\Model\DataCentersGetResponse200::class => false, \KatapultAPI\Core\Model\DataCentersDataCenterGetResponse200::class => false, \KatapultAPI\Core\Model\DataCentersDataCenterDefaultNetworkGetResponse200::class => false, @@ -5054,18 +5317,6 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\IpAddressesIpAddressPatchResponse200IpAddress::class => false, \KatapultAPI\Core\Model\IpAddressesIpAddressUnallocatePostBody::class => false, \KatapultAPI\Core\Model\IpAddressesIpAddressUnallocatePostResponse200::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationLoadBalancersGetResponse200::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationLoadBalancersPostBody::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationLoadBalancersPostResponse201::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationLoadBalancersPostResponse201LoadBalancer::class => false, - \KatapultAPI\Core\Model\LoadBalancersLoadBalancerDeleteBody::class => false, - \KatapultAPI\Core\Model\LoadBalancersLoadBalancerDeleteResponse200::class => false, - \KatapultAPI\Core\Model\LoadBalancersLoadBalancerDeleteResponse200LoadBalancer::class => false, - \KatapultAPI\Core\Model\LoadBalancersLoadBalancerGetResponse200::class => false, - \KatapultAPI\Core\Model\LoadBalancersLoadBalancerGetResponse200LoadBalancer::class => false, - \KatapultAPI\Core\Model\LoadBalancersLoadBalancerPatchBody::class => false, - \KatapultAPI\Core\Model\LoadBalancersLoadBalancerPatchResponse200::class => false, - \KatapultAPI\Core\Model\LoadBalancersLoadBalancerPatchResponse200LoadBalancer::class => false, \KatapultAPI\Core\Model\LoadBalancersLoadBalancerRulesGetResponse200::class => false, \KatapultAPI\Core\Model\LoadBalancersLoadBalancerRulesPostBody::class => false, \KatapultAPI\Core\Model\LoadBalancersLoadBalancerRulesPostResponse200::class => false, @@ -5078,6 +5329,23 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRulePatchBody::class => false, \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRulePatchResponse200::class => false, \KatapultAPI\Core\Model\LoadBalancersRulesLoadBalancerRulePatchResponse200LoadBalancerRule::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationLoadBalancersGetResponse200::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationLoadBalancersPostBody::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationLoadBalancersPostResponse201::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationLoadBalancersPostResponse201LoadBalancer::class => false, + \KatapultAPI\Core\Model\LoadBalancersLoadBalancerDeleteBody::class => false, + \KatapultAPI\Core\Model\LoadBalancersLoadBalancerDeleteResponse200::class => false, + \KatapultAPI\Core\Model\LoadBalancersLoadBalancerDeleteResponse200LoadBalancer::class => false, + \KatapultAPI\Core\Model\LoadBalancersLoadBalancerGetResponse200::class => false, + \KatapultAPI\Core\Model\LoadBalancersLoadBalancerGetResponse200LoadBalancer::class => false, + \KatapultAPI\Core\Model\LoadBalancersLoadBalancerPatchBody::class => false, + \KatapultAPI\Core\Model\LoadBalancersLoadBalancerPatchResponse200::class => false, + \KatapultAPI\Core\Model\LoadBalancersLoadBalancerPatchResponse200LoadBalancer::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationManagedGetResponse200::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationManagedPostBody::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationManagedPostResponse201::class => false, + \KatapultAPI\Core\Model\ManagedOrganizationsOrganizationDeleteBody::class => false, + \KatapultAPI\Core\Model\ManagedOrganizationsOrganizationDeleteResponse200::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationNetworkSpeedProfilesGetResponse200::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationAvailableNetworksGetResponse200::class => false, \KatapultAPI\Core\Model\NetworksNetworkGetResponse200::class => false, @@ -5085,35 +5353,36 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\OperatingSystemsGetResponse200::class => false, \KatapultAPI\Core\Model\OperatingSystemsOperatingSystemGetResponse200::class => false, \KatapultAPI\Core\Model\OperatingSystemsOperatingSystemGetResponse200OperatingSystem::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationUsersWithAccessGetResponse200::class => false, \KatapultAPI\Core\Model\OrganizationsGetResponse200::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationGetResponse200::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationPolicyGetResponse200::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationPolicyLimitsGetResponse200::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationPricesGetResponse200::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationDeletionStepsGetResponse200::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationUsersWithAccessGetResponse200::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationManagedGetResponse200::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationManagedPostBody::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationManagedPostResponse201::class => false, - \KatapultAPI\Core\Model\ManagedOrganizationsOrganizationDeleteBody::class => false, - \KatapultAPI\Core\Model\ManagedOrganizationsOrganizationDeleteResponse200::class => false, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineStartPostBody::class => false, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineStartPostResponse200::class => false, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineStopPostBody::class => false, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineStopPostResponse200::class => false, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineShutdownPostBody::class => false, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineShutdownPostResponse200::class => false, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineResetPostBody::class => false, + \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineResetPostResponse200::class => false, + \KatapultAPI\Core\Model\DnsZonesDnsZoneRecordsGetResponse200::class => false, + \KatapultAPI\Core\Model\DnsZonesDnsZoneRecordsPostBody::class => false, + \KatapultAPI\Core\Model\DnsZonesDnsZoneRecordsPostResponse200::class => false, + \KatapultAPI\Core\Model\DnsRecordsDnsRecordDeleteBody::class => false, + \KatapultAPI\Core\Model\DnsRecordsDnsRecordDeleteResponse200::class => false, + \KatapultAPI\Core\Model\DnsRecordsDnsRecordGetResponse200::class => false, + \KatapultAPI\Core\Model\DnsRecordsDnsRecordGetResponse200DnsRecord::class => false, + \KatapultAPI\Core\Model\DnsRecordsDnsRecordPatchBody::class => false, + \KatapultAPI\Core\Model\DnsRecordsDnsRecordPatchResponse200::class => false, + \KatapultAPI\Core\Model\DnsRecordsDnsRecordPatchResponse200DnsRecord::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationSshKeysGetResponse200::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationSshKeysPostBody::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationSshKeysPostResponse201::class => false, \KatapultAPI\Core\Model\SshKeysSshKeyDeleteBody::class => false, \KatapultAPI\Core\Model\SshKeysSshKeyDeleteResponse200::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationSecurityGroupsGetResponse200::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationSecurityGroupsPostBody::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationSecurityGroupsPostResponse200::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationSecurityGroupsPostResponse200SecurityGroup::class => false, - \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupDeleteBody::class => false, - \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupDeleteResponse200::class => false, - \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupDeleteResponse200SecurityGroup::class => false, - \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupGetResponse200::class => false, - \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupGetResponse200SecurityGroup::class => false, - \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupPatchBody::class => false, - \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupPatchResponse200::class => false, - \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupPatchResponse200SecurityGroup::class => false, \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupRulesGetResponse200::class => false, \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupRulesPostBody::class => false, \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupRulesPostResponse200::class => false, @@ -5126,6 +5395,18 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\SecurityGroupsRulesSecurityGroupRulePatchBody::class => false, \KatapultAPI\Core\Model\SecurityGroupsRulesSecurityGroupRulePatchResponse200::class => false, \KatapultAPI\Core\Model\SecurityGroupsRulesSecurityGroupRulePatchResponse200SecurityGroupRule::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationSecurityGroupsGetResponse200::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationSecurityGroupsPostBody::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationSecurityGroupsPostResponse200::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationSecurityGroupsPostResponse200SecurityGroup::class => false, + \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupDeleteBody::class => false, + \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupDeleteResponse200::class => false, + \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupDeleteResponse200SecurityGroup::class => false, + \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupGetResponse200::class => false, + \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupGetResponse200SecurityGroup::class => false, + \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupPatchBody::class => false, + \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupPatchResponse200::class => false, + \KatapultAPI\Core\Model\SecurityGroupsSecurityGroupPatchResponse200SecurityGroup::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationTagsGetResponse200::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationTagsPostBody::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationTagsPostResponse200::class => false, @@ -5152,6 +5433,18 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\UsersCurrentGetResponse200::class => false, \KatapultAPI\Core\Model\InvalidateLinkedWebSessionPostBody::class => false, \KatapultAPI\Core\Model\InvalidateLinkedWebSessionPostResponse200::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualNetworksGetResponse200::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualNetworksPostBody::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualNetworksPostResponse200::class => false, + \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualNetworksPostResponse200VirtualNetwork::class => false, + \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkDeleteBody::class => false, + \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkDeleteResponse200::class => false, + \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkDeleteResponse200VirtualNetwork::class => false, + \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkGetResponse200::class => false, + \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkGetResponse200VirtualNetwork::class => false, + \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkPatchBody::class => false, + \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkPatchResponse200::class => false, + \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkPatchResponse200VirtualNetwork::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachineGroupsGetResponse200::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachineGroupsPostBody::class => false, \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachineGroupsPostResponse200::class => false, @@ -5195,23 +5488,6 @@ public function getSupportedTypes(?string $format = null): array \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineAllocateIpPostBody::class => false, \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineAllocateIpPostResponse200::class => false, \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineAllocateIpPostResponse200IpAddress::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildPostBody::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildPostResponse201::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildPostResponse201Build::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildFromSpecPostBody::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildFromSpecPostResponse201::class => false, - \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualMachinesBuildFromSpecPostResponse201Build::class => false, - \KatapultAPI\Core\Model\VirtualMachinesBuildsVirtualMachineBuildGetResponse200::class => false, - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineStartPostBody::class => false, - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineStartPostResponse200::class => false, - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineStopPostBody::class => false, - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineStopPostResponse200::class => false, - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineShutdownPostBody::class => false, - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineShutdownPostResponse200::class => false, - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineResetPostBody::class => false, - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineResetPostResponse200::class => false, - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineConsoleSessionsPostBody::class => false, - \KatapultAPI\Core\Model\VirtualMachinesVirtualMachineConsoleSessionsPostResponse201::class => false, \KatapultAPI\Core\Model\ZonesGetResponse200::class => false, \KatapultAPI\Core\Model\ZonesZoneGetResponse200::class => false, \KatapultAPI\Core\Model\ZonesZoneGetResponse200Zone::class => false, diff --git a/src/Core/Normalizer/ObjectNotFoundSchemaNormalizer.php b/src/Core/Normalizer/ObjectNotFoundSchemaNormalizer.php new file mode 100644 index 00000000..6af18734 --- /dev/null +++ b/src/Core/Normalizer/ObjectNotFoundSchemaNormalizer.php @@ -0,0 +1,197 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectNotFoundSchemaNormalizer 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\ObjectNotFoundSchema::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectNotFoundSchema::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\ObjectNotFoundSchema(); + 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\ObjectNotFoundSchema::class => false]; + } + } +} else { + class ObjectNotFoundSchemaNormalizer 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\ObjectNotFoundSchema::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectNotFoundSchema::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\ObjectNotFoundSchema(); + 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\ObjectNotFoundSchema::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageAccountNotFoundSchemaNormalizer.php b/src/Core/Normalizer/ObjectStorageAccountNotFoundSchemaNormalizer.php new file mode 100644 index 00000000..5de358d5 --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageAccountNotFoundSchemaNormalizer.php @@ -0,0 +1,197 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageAccountNotFoundSchemaNormalizer 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\ObjectStorageAccountNotFoundSchema::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageAccountNotFoundSchema::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\ObjectStorageAccountNotFoundSchema(); + 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\ObjectStorageAccountNotFoundSchema::class => false]; + } + } +} else { + class ObjectStorageAccountNotFoundSchemaNormalizer 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\ObjectStorageAccountNotFoundSchema::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageAccountNotFoundSchema::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\ObjectStorageAccountNotFoundSchema(); + 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\ObjectStorageAccountNotFoundSchema::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageAccountNotProvisionedSchemaNormalizer.php b/src/Core/Normalizer/ObjectStorageAccountNotProvisionedSchemaNormalizer.php new file mode 100644 index 00000000..1dde5be4 --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageAccountNotProvisionedSchemaNormalizer.php @@ -0,0 +1,197 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageAccountNotProvisionedSchemaNormalizer 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\ObjectStorageAccountNotProvisionedSchema::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageAccountNotProvisionedSchema::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\ObjectStorageAccountNotProvisionedSchema(); + 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\ObjectStorageAccountNotProvisionedSchema::class => false]; + } + } +} else { + class ObjectStorageAccountNotProvisionedSchemaNormalizer 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\ObjectStorageAccountNotProvisionedSchema::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageAccountNotProvisionedSchema::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\ObjectStorageAccountNotProvisionedSchema(); + 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\ObjectStorageAccountNotProvisionedSchema::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageAccountSuspendedSchemaNormalizer.php b/src/Core/Normalizer/ObjectStorageAccountSuspendedSchemaNormalizer.php new file mode 100644 index 00000000..42ad524c --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageAccountSuspendedSchemaNormalizer.php @@ -0,0 +1,197 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageAccountSuspendedSchemaNormalizer 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\ObjectStorageAccountSuspendedSchema::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageAccountSuspendedSchema::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\ObjectStorageAccountSuspendedSchema(); + 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\ObjectStorageAccountSuspendedSchema::class => false]; + } + } +} else { + class ObjectStorageAccountSuspendedSchemaNormalizer 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\ObjectStorageAccountSuspendedSchema::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageAccountSuspendedSchema::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\ObjectStorageAccountSuspendedSchema(); + 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\ObjectStorageAccountSuspendedSchema::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageBucketACLArgumentsNormalizer.php b/src/Core/Normalizer/ObjectStorageBucketACLArgumentsNormalizer.php new file mode 100644 index 00000000..1db0529e --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageBucketACLArgumentsNormalizer.php @@ -0,0 +1,255 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageBucketACLArgumentsNormalizer 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\ObjectStorageBucketACLArguments::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageBucketACLArguments::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\ObjectStorageBucketACLArguments(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('public_read', $data)) { + $object->setPublicRead($data['public_read']); + unset($data['public_read']); + } + if (\array_key_exists('public_list', $data)) { + $object->setPublicList($data['public_list']); + unset($data['public_list']); + } + if (\array_key_exists('all_keys_read', $data)) { + $object->setAllKeysRead($data['all_keys_read']); + unset($data['all_keys_read']); + } + if (\array_key_exists('all_keys_write', $data)) { + $object->setAllKeysWrite($data['all_keys_write']); + unset($data['all_keys_write']); + } + if (\array_key_exists('read_key_ids', $data)) { + $values = []; + foreach ($data['read_key_ids'] as $value) { + $values[] = $value; + } + $object->setReadKeyIds($values); + unset($data['read_key_ids']); + } + if (\array_key_exists('write_key_ids', $data)) { + $values_1 = []; + foreach ($data['write_key_ids'] as $value_1) { + $values_1[] = $value_1; + } + $object->setWriteKeyIds($values_1); + unset($data['write_key_ids']); + } + 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('publicRead') && null !== $object->getPublicRead()) { + $data['public_read'] = $object->getPublicRead(); + } + if ($object->isInitialized('publicList') && null !== $object->getPublicList()) { + $data['public_list'] = $object->getPublicList(); + } + if ($object->isInitialized('allKeysRead') && null !== $object->getAllKeysRead()) { + $data['all_keys_read'] = $object->getAllKeysRead(); + } + if ($object->isInitialized('allKeysWrite') && null !== $object->getAllKeysWrite()) { + $data['all_keys_write'] = $object->getAllKeysWrite(); + } + if ($object->isInitialized('readKeyIds') && null !== $object->getReadKeyIds()) { + $values = []; + foreach ($object->getReadKeyIds() as $value) { + $values[] = $value; + } + $data['read_key_ids'] = $values; + } + if ($object->isInitialized('writeKeyIds') && null !== $object->getWriteKeyIds()) { + $values_1 = []; + foreach ($object->getWriteKeyIds() as $value_1) { + $values_1[] = $value_1; + } + $data['write_key_ids'] = $values_1; + } + 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\ObjectStorageBucketACLArguments::class => false]; + } + } +} else { + class ObjectStorageBucketACLArgumentsNormalizer 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\ObjectStorageBucketACLArguments::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageBucketACLArguments::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\ObjectStorageBucketACLArguments(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('public_read', $data)) { + $object->setPublicRead($data['public_read']); + unset($data['public_read']); + } + if (\array_key_exists('public_list', $data)) { + $object->setPublicList($data['public_list']); + unset($data['public_list']); + } + if (\array_key_exists('all_keys_read', $data)) { + $object->setAllKeysRead($data['all_keys_read']); + unset($data['all_keys_read']); + } + if (\array_key_exists('all_keys_write', $data)) { + $object->setAllKeysWrite($data['all_keys_write']); + unset($data['all_keys_write']); + } + if (\array_key_exists('read_key_ids', $data)) { + $values = []; + foreach ($data['read_key_ids'] as $value) { + $values[] = $value; + } + $object->setReadKeyIds($values); + unset($data['read_key_ids']); + } + if (\array_key_exists('write_key_ids', $data)) { + $values_1 = []; + foreach ($data['write_key_ids'] as $value_1) { + $values_1[] = $value_1; + } + $object->setWriteKeyIds($values_1); + unset($data['write_key_ids']); + } + 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('publicRead') && null !== $object->getPublicRead()) { + $data['public_read'] = $object->getPublicRead(); + } + if ($object->isInitialized('publicList') && null !== $object->getPublicList()) { + $data['public_list'] = $object->getPublicList(); + } + if ($object->isInitialized('allKeysRead') && null !== $object->getAllKeysRead()) { + $data['all_keys_read'] = $object->getAllKeysRead(); + } + if ($object->isInitialized('allKeysWrite') && null !== $object->getAllKeysWrite()) { + $data['all_keys_write'] = $object->getAllKeysWrite(); + } + if ($object->isInitialized('readKeyIds') && null !== $object->getReadKeyIds()) { + $values = []; + foreach ($object->getReadKeyIds() as $value) { + $values[] = $value; + } + $data['read_key_ids'] = $values; + } + if ($object->isInitialized('writeKeyIds') && null !== $object->getWriteKeyIds()) { + $values_1 = []; + foreach ($object->getWriteKeyIds() as $value_1) { + $values_1[] = $value_1; + } + $data['write_key_ids'] = $values_1; + } + 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\ObjectStorageBucketACLArguments::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageBucketAccessControlListNormalizer.php b/src/Core/Normalizer/ObjectStorageBucketAccessControlListNormalizer.php new file mode 100644 index 00000000..e7740ca8 --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageBucketAccessControlListNormalizer.php @@ -0,0 +1,255 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageBucketAccessControlListNormalizer 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\ObjectStorageBucketAccessControlList::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageBucketAccessControlList::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\ObjectStorageBucketAccessControlList(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('public_read', $data)) { + $object->setPublicRead($data['public_read']); + unset($data['public_read']); + } + if (\array_key_exists('public_list', $data)) { + $object->setPublicList($data['public_list']); + unset($data['public_list']); + } + if (\array_key_exists('all_keys_read', $data)) { + $object->setAllKeysRead($data['all_keys_read']); + unset($data['all_keys_read']); + } + if (\array_key_exists('all_keys_write', $data)) { + $object->setAllKeysWrite($data['all_keys_write']); + unset($data['all_keys_write']); + } + if (\array_key_exists('read_key_ids', $data)) { + $values = []; + foreach ($data['read_key_ids'] as $value) { + $values[] = $value; + } + $object->setReadKeyIds($values); + unset($data['read_key_ids']); + } + if (\array_key_exists('write_key_ids', $data)) { + $values_1 = []; + foreach ($data['write_key_ids'] as $value_1) { + $values_1[] = $value_1; + } + $object->setWriteKeyIds($values_1); + unset($data['write_key_ids']); + } + 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('publicRead') && null !== $object->getPublicRead()) { + $data['public_read'] = $object->getPublicRead(); + } + if ($object->isInitialized('publicList') && null !== $object->getPublicList()) { + $data['public_list'] = $object->getPublicList(); + } + if ($object->isInitialized('allKeysRead') && null !== $object->getAllKeysRead()) { + $data['all_keys_read'] = $object->getAllKeysRead(); + } + if ($object->isInitialized('allKeysWrite') && null !== $object->getAllKeysWrite()) { + $data['all_keys_write'] = $object->getAllKeysWrite(); + } + if ($object->isInitialized('readKeyIds') && null !== $object->getReadKeyIds()) { + $values = []; + foreach ($object->getReadKeyIds() as $value) { + $values[] = $value; + } + $data['read_key_ids'] = $values; + } + if ($object->isInitialized('writeKeyIds') && null !== $object->getWriteKeyIds()) { + $values_1 = []; + foreach ($object->getWriteKeyIds() as $value_1) { + $values_1[] = $value_1; + } + $data['write_key_ids'] = $values_1; + } + 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\ObjectStorageBucketAccessControlList::class => false]; + } + } +} else { + class ObjectStorageBucketAccessControlListNormalizer 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\ObjectStorageBucketAccessControlList::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageBucketAccessControlList::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\ObjectStorageBucketAccessControlList(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('public_read', $data)) { + $object->setPublicRead($data['public_read']); + unset($data['public_read']); + } + if (\array_key_exists('public_list', $data)) { + $object->setPublicList($data['public_list']); + unset($data['public_list']); + } + if (\array_key_exists('all_keys_read', $data)) { + $object->setAllKeysRead($data['all_keys_read']); + unset($data['all_keys_read']); + } + if (\array_key_exists('all_keys_write', $data)) { + $object->setAllKeysWrite($data['all_keys_write']); + unset($data['all_keys_write']); + } + if (\array_key_exists('read_key_ids', $data)) { + $values = []; + foreach ($data['read_key_ids'] as $value) { + $values[] = $value; + } + $object->setReadKeyIds($values); + unset($data['read_key_ids']); + } + if (\array_key_exists('write_key_ids', $data)) { + $values_1 = []; + foreach ($data['write_key_ids'] as $value_1) { + $values_1[] = $value_1; + } + $object->setWriteKeyIds($values_1); + unset($data['write_key_ids']); + } + 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('publicRead') && null !== $object->getPublicRead()) { + $data['public_read'] = $object->getPublicRead(); + } + if ($object->isInitialized('publicList') && null !== $object->getPublicList()) { + $data['public_list'] = $object->getPublicList(); + } + if ($object->isInitialized('allKeysRead') && null !== $object->getAllKeysRead()) { + $data['all_keys_read'] = $object->getAllKeysRead(); + } + if ($object->isInitialized('allKeysWrite') && null !== $object->getAllKeysWrite()) { + $data['all_keys_write'] = $object->getAllKeysWrite(); + } + if ($object->isInitialized('readKeyIds') && null !== $object->getReadKeyIds()) { + $values = []; + foreach ($object->getReadKeyIds() as $value) { + $values[] = $value; + } + $data['read_key_ids'] = $values; + } + if ($object->isInitialized('writeKeyIds') && null !== $object->getWriteKeyIds()) { + $values_1 = []; + foreach ($object->getWriteKeyIds() as $value_1) { + $values_1[] = $value_1; + } + $data['write_key_ids'] = $values_1; + } + 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\ObjectStorageBucketAccessControlList::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageBucketArgumentsNormalizer.php b/src/Core/Normalizer/ObjectStorageBucketArgumentsNormalizer.php new file mode 100644 index 00000000..78db7632 --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageBucketArgumentsNormalizer.php @@ -0,0 +1,223 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageBucketArgumentsNormalizer 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\ObjectStorageBucketArguments::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageBucketArguments::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\ObjectStorageBucketArguments(); + 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('label', $data)) { + $object->setLabel($data['label']); + unset($data['label']); + } + if (\array_key_exists('serve_static_site', $data)) { + $object->setServeStaticSite($data['serve_static_site']); + unset($data['serve_static_site']); + } + if (\array_key_exists('static_site_index', $data)) { + $object->setStaticSiteIndex($data['static_site_index']); + unset($data['static_site_index']); + } + if (\array_key_exists('static_site_error', $data)) { + $object->setStaticSiteError($data['static_site_error']); + unset($data['static_site_error']); + } + if (\array_key_exists('access_control_list', $data)) { + $object->setAccessControlList($this->denormalizer->denormalize($data['access_control_list'], \KatapultAPI\Core\Model\ObjectStorageBucketACLArguments::class, 'json', $context)); + unset($data['access_control_list']); + } + 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('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + if ($object->isInitialized('label') && null !== $object->getLabel()) { + $data['label'] = $object->getLabel(); + } + if ($object->isInitialized('serveStaticSite') && null !== $object->getServeStaticSite()) { + $data['serve_static_site'] = $object->getServeStaticSite(); + } + if ($object->isInitialized('staticSiteIndex') && null !== $object->getStaticSiteIndex()) { + $data['static_site_index'] = $object->getStaticSiteIndex(); + } + if ($object->isInitialized('staticSiteError') && null !== $object->getStaticSiteError()) { + $data['static_site_error'] = $object->getStaticSiteError(); + } + if ($object->isInitialized('accessControlList') && null !== $object->getAccessControlList()) { + $data['access_control_list'] = $this->normalizer->normalize($object->getAccessControlList(), '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\ObjectStorageBucketArguments::class => false]; + } + } +} else { + class ObjectStorageBucketArgumentsNormalizer 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\ObjectStorageBucketArguments::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageBucketArguments::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\ObjectStorageBucketArguments(); + 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('label', $data)) { + $object->setLabel($data['label']); + unset($data['label']); + } + if (\array_key_exists('serve_static_site', $data)) { + $object->setServeStaticSite($data['serve_static_site']); + unset($data['serve_static_site']); + } + if (\array_key_exists('static_site_index', $data)) { + $object->setStaticSiteIndex($data['static_site_index']); + unset($data['static_site_index']); + } + if (\array_key_exists('static_site_error', $data)) { + $object->setStaticSiteError($data['static_site_error']); + unset($data['static_site_error']); + } + if (\array_key_exists('access_control_list', $data)) { + $object->setAccessControlList($this->denormalizer->denormalize($data['access_control_list'], \KatapultAPI\Core\Model\ObjectStorageBucketACLArguments::class, 'json', $context)); + unset($data['access_control_list']); + } + 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('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + if ($object->isInitialized('label') && null !== $object->getLabel()) { + $data['label'] = $object->getLabel(); + } + if ($object->isInitialized('serveStaticSite') && null !== $object->getServeStaticSite()) { + $data['serve_static_site'] = $object->getServeStaticSite(); + } + if ($object->isInitialized('staticSiteIndex') && null !== $object->getStaticSiteIndex()) { + $data['static_site_index'] = $object->getStaticSiteIndex(); + } + if ($object->isInitialized('staticSiteError') && null !== $object->getStaticSiteError()) { + $data['static_site_error'] = $object->getStaticSiteError(); + } + if ($object->isInitialized('accessControlList') && null !== $object->getAccessControlList()) { + $data['access_control_list'] = $this->normalizer->normalize($object->getAccessControlList(), '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\ObjectStorageBucketArguments::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageBucketDeletionErrorNormalizer.php b/src/Core/Normalizer/ObjectStorageBucketDeletionErrorNormalizer.php new file mode 100644 index 00000000..9613aa44 --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageBucketDeletionErrorNormalizer.php @@ -0,0 +1,157 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageBucketDeletionErrorNormalizer 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\ObjectStorageBucketDeletionError::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageBucketDeletionError::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\ObjectStorageBucketDeletionError(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('details', $data) && $data['details'] !== null) { + $object->setDetails($data['details']); + unset($data['details']); + } elseif (\array_key_exists('details', $data) && $data['details'] === null) { + $object->setDetails(null); + } + 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('details') && null !== $object->getDetails()) { + $data['details'] = $object->getDetails(); + } + 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\ObjectStorageBucketDeletionError::class => false]; + } + } +} else { + class ObjectStorageBucketDeletionErrorNormalizer 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\ObjectStorageBucketDeletionError::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageBucketDeletionError::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\ObjectStorageBucketDeletionError(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('details', $data) && $data['details'] !== null) { + $object->setDetails($data['details']); + unset($data['details']); + } elseif (\array_key_exists('details', $data) && $data['details'] === null) { + $object->setDetails(null); + } + 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('details') && null !== $object->getDetails()) { + $data['details'] = $object->getDetails(); + } + 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\ObjectStorageBucketDeletionError::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageBucketDeletionErrorSchemaNormalizer.php b/src/Core/Normalizer/ObjectStorageBucketDeletionErrorSchemaNormalizer.php new file mode 100644 index 00000000..15def7ef --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageBucketDeletionErrorSchemaNormalizer.php @@ -0,0 +1,181 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageBucketDeletionErrorSchemaNormalizer 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\ObjectStorageBucketDeletionErrorSchema::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageBucketDeletionErrorSchema::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\ObjectStorageBucketDeletionErrorSchema(); + 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)) { + $object->setDetail($this->denormalizer->denormalize($data['detail'], \KatapultAPI\Core\Model\ObjectStorageBucketDeletionError::class, 'json', $context)); + unset($data['detail']); + } + 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('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()) { + $data['detail'] = $this->normalizer->normalize($object->getDetail(), '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\ObjectStorageBucketDeletionErrorSchema::class => false]; + } + } +} else { + class ObjectStorageBucketDeletionErrorSchemaNormalizer 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\ObjectStorageBucketDeletionErrorSchema::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageBucketDeletionErrorSchema::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\ObjectStorageBucketDeletionErrorSchema(); + 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)) { + $object->setDetail($this->denormalizer->denormalize($data['detail'], \KatapultAPI\Core\Model\ObjectStorageBucketDeletionError::class, 'json', $context)); + unset($data['detail']); + } + 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('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()) { + $data['detail'] = $this->normalizer->normalize($object->getDetail(), '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\ObjectStorageBucketDeletionErrorSchema::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageBucketLookupNormalizer.php b/src/Core/Normalizer/ObjectStorageBucketLookupNormalizer.php new file mode 100644 index 00000000..f095d419 --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageBucketLookupNormalizer.php @@ -0,0 +1,153 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageBucketLookupNormalizer 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\ObjectStorageBucketLookup::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageBucketLookup::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\ObjectStorageBucketLookup(); + if (null === $data || false === \is_array($data)) { + return $object; + } + 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('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\ObjectStorageBucketLookup::class => false]; + } + } +} else { + class ObjectStorageBucketLookupNormalizer 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\ObjectStorageBucketLookup::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageBucketLookup::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\ObjectStorageBucketLookup(); + if (null === $data || false === \is_array($data)) { + return $object; + } + 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('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\ObjectStorageBucketLookup::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageBucketNormalizer.php b/src/Core/Normalizer/ObjectStorageBucketNormalizer.php new file mode 100644 index 00000000..ed8fdea9 --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageBucketNormalizer.php @@ -0,0 +1,331 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageBucketNormalizer 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\ObjectStorageBucket::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageBucket::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\ObjectStorageBucket(); + 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('label', $data) && $data['label'] !== null) { + $object->setLabel($data['label']); + unset($data['label']); + } elseif (\array_key_exists('label', $data) && $data['label'] === null) { + $object->setLabel(null); + } + if (\array_key_exists('created_at', $data)) { + $object->setCreatedAt($data['created_at']); + unset($data['created_at']); + } + if (\array_key_exists('state', $data)) { + $object->setState($data['state']); + unset($data['state']); + } + if (\array_key_exists('custom_domain', $data) && $data['custom_domain'] !== null) { + $object->setCustomDomain($data['custom_domain']); + unset($data['custom_domain']); + } elseif (\array_key_exists('custom_domain', $data) && $data['custom_domain'] === null) { + $object->setCustomDomain(null); + } + if (\array_key_exists('object_count', $data) && $data['object_count'] !== null) { + $object->setObjectCount($data['object_count']); + unset($data['object_count']); + } elseif (\array_key_exists('object_count', $data) && $data['object_count'] === null) { + $object->setObjectCount(null); + } + if (\array_key_exists('size', $data) && $data['size'] !== null) { + $object->setSize($data['size']); + unset($data['size']); + } elseif (\array_key_exists('size', $data) && $data['size'] === null) { + $object->setSize(null); + } + if (\array_key_exists('serve_static_site', $data)) { + $object->setServeStaticSite($data['serve_static_site']); + unset($data['serve_static_site']); + } + if (\array_key_exists('static_site_index', $data) && $data['static_site_index'] !== null) { + $object->setStaticSiteIndex($data['static_site_index']); + unset($data['static_site_index']); + } elseif (\array_key_exists('static_site_index', $data) && $data['static_site_index'] === null) { + $object->setStaticSiteIndex(null); + } + if (\array_key_exists('static_site_error', $data) && $data['static_site_error'] !== null) { + $object->setStaticSiteError($data['static_site_error']); + unset($data['static_site_error']); + } elseif (\array_key_exists('static_site_error', $data) && $data['static_site_error'] === null) { + $object->setStaticSiteError(null); + } + if (\array_key_exists('public_url', $data)) { + $object->setPublicUrl($data['public_url']); + unset($data['public_url']); + } + if (\array_key_exists('access_control_list', $data)) { + $object->setAccessControlList($this->denormalizer->denormalize($data['access_control_list'], \KatapultAPI\Core\Model\ObjectStorageBucketAccessControlList::class, 'json', $context)); + unset($data['access_control_list']); + } + 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('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + if ($object->isInitialized('label') && null !== $object->getLabel()) { + $data['label'] = $object->getLabel(); + } + if ($object->isInitialized('createdAt') && null !== $object->getCreatedAt()) { + $data['created_at'] = $object->getCreatedAt(); + } + if ($object->isInitialized('state') && null !== $object->getState()) { + $data['state'] = $object->getState(); + } + if ($object->isInitialized('customDomain') && null !== $object->getCustomDomain()) { + $data['custom_domain'] = $object->getCustomDomain(); + } + if ($object->isInitialized('objectCount') && null !== $object->getObjectCount()) { + $data['object_count'] = $object->getObjectCount(); + } + if ($object->isInitialized('size') && null !== $object->getSize()) { + $data['size'] = $object->getSize(); + } + if ($object->isInitialized('serveStaticSite') && null !== $object->getServeStaticSite()) { + $data['serve_static_site'] = $object->getServeStaticSite(); + } + if ($object->isInitialized('staticSiteIndex') && null !== $object->getStaticSiteIndex()) { + $data['static_site_index'] = $object->getStaticSiteIndex(); + } + if ($object->isInitialized('staticSiteError') && null !== $object->getStaticSiteError()) { + $data['static_site_error'] = $object->getStaticSiteError(); + } + if ($object->isInitialized('publicUrl') && null !== $object->getPublicUrl()) { + $data['public_url'] = $object->getPublicUrl(); + } + if ($object->isInitialized('accessControlList') && null !== $object->getAccessControlList()) { + $data['access_control_list'] = $this->normalizer->normalize($object->getAccessControlList(), '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\ObjectStorageBucket::class => false]; + } + } +} else { + class ObjectStorageBucketNormalizer 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\ObjectStorageBucket::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageBucket::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\ObjectStorageBucket(); + 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('label', $data) && $data['label'] !== null) { + $object->setLabel($data['label']); + unset($data['label']); + } elseif (\array_key_exists('label', $data) && $data['label'] === null) { + $object->setLabel(null); + } + if (\array_key_exists('created_at', $data)) { + $object->setCreatedAt($data['created_at']); + unset($data['created_at']); + } + if (\array_key_exists('state', $data)) { + $object->setState($data['state']); + unset($data['state']); + } + if (\array_key_exists('custom_domain', $data) && $data['custom_domain'] !== null) { + $object->setCustomDomain($data['custom_domain']); + unset($data['custom_domain']); + } elseif (\array_key_exists('custom_domain', $data) && $data['custom_domain'] === null) { + $object->setCustomDomain(null); + } + if (\array_key_exists('object_count', $data) && $data['object_count'] !== null) { + $object->setObjectCount($data['object_count']); + unset($data['object_count']); + } elseif (\array_key_exists('object_count', $data) && $data['object_count'] === null) { + $object->setObjectCount(null); + } + if (\array_key_exists('size', $data) && $data['size'] !== null) { + $object->setSize($data['size']); + unset($data['size']); + } elseif (\array_key_exists('size', $data) && $data['size'] === null) { + $object->setSize(null); + } + if (\array_key_exists('serve_static_site', $data)) { + $object->setServeStaticSite($data['serve_static_site']); + unset($data['serve_static_site']); + } + if (\array_key_exists('static_site_index', $data) && $data['static_site_index'] !== null) { + $object->setStaticSiteIndex($data['static_site_index']); + unset($data['static_site_index']); + } elseif (\array_key_exists('static_site_index', $data) && $data['static_site_index'] === null) { + $object->setStaticSiteIndex(null); + } + if (\array_key_exists('static_site_error', $data) && $data['static_site_error'] !== null) { + $object->setStaticSiteError($data['static_site_error']); + unset($data['static_site_error']); + } elseif (\array_key_exists('static_site_error', $data) && $data['static_site_error'] === null) { + $object->setStaticSiteError(null); + } + if (\array_key_exists('public_url', $data)) { + $object->setPublicUrl($data['public_url']); + unset($data['public_url']); + } + if (\array_key_exists('access_control_list', $data)) { + $object->setAccessControlList($this->denormalizer->denormalize($data['access_control_list'], \KatapultAPI\Core\Model\ObjectStorageBucketAccessControlList::class, 'json', $context)); + unset($data['access_control_list']); + } + 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('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + if ($object->isInitialized('label') && null !== $object->getLabel()) { + $data['label'] = $object->getLabel(); + } + if ($object->isInitialized('createdAt') && null !== $object->getCreatedAt()) { + $data['created_at'] = $object->getCreatedAt(); + } + if ($object->isInitialized('state') && null !== $object->getState()) { + $data['state'] = $object->getState(); + } + if ($object->isInitialized('customDomain') && null !== $object->getCustomDomain()) { + $data['custom_domain'] = $object->getCustomDomain(); + } + if ($object->isInitialized('objectCount') && null !== $object->getObjectCount()) { + $data['object_count'] = $object->getObjectCount(); + } + if ($object->isInitialized('size') && null !== $object->getSize()) { + $data['size'] = $object->getSize(); + } + if ($object->isInitialized('serveStaticSite') && null !== $object->getServeStaticSite()) { + $data['serve_static_site'] = $object->getServeStaticSite(); + } + if ($object->isInitialized('staticSiteIndex') && null !== $object->getStaticSiteIndex()) { + $data['static_site_index'] = $object->getStaticSiteIndex(); + } + if ($object->isInitialized('staticSiteError') && null !== $object->getStaticSiteError()) { + $data['static_site_error'] = $object->getStaticSiteError(); + } + if ($object->isInitialized('publicUrl') && null !== $object->getPublicUrl()) { + $data['public_url'] = $object->getPublicUrl(); + } + if ($object->isInitialized('accessControlList') && null !== $object->getAccessControlList()) { + $data['access_control_list'] = $this->normalizer->normalize($object->getAccessControlList(), '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\ObjectStorageBucket::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageBucketNotFoundSchemaNormalizer.php b/src/Core/Normalizer/ObjectStorageBucketNotFoundSchemaNormalizer.php new file mode 100644 index 00000000..c6365e8b --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageBucketNotFoundSchemaNormalizer.php @@ -0,0 +1,197 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageBucketNotFoundSchemaNormalizer 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\ObjectStorageBucketNotFoundSchema::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageBucketNotFoundSchema::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\ObjectStorageBucketNotFoundSchema(); + 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\ObjectStorageBucketNotFoundSchema::class => false]; + } + } +} else { + class ObjectStorageBucketNotFoundSchemaNormalizer 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\ObjectStorageBucketNotFoundSchema::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageBucketNotFoundSchema::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\ObjectStorageBucketNotFoundSchema(); + 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\ObjectStorageBucketNotFoundSchema::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageClusterLookupNormalizer.php b/src/Core/Normalizer/ObjectStorageClusterLookupNormalizer.php new file mode 100644 index 00000000..f714a4ac --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageClusterLookupNormalizer.php @@ -0,0 +1,153 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageClusterLookupNormalizer 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\ObjectStorageClusterLookup::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageClusterLookup::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\ObjectStorageClusterLookup(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('region', $data)) { + $object->setRegion($data['region']); + unset($data['region']); + } + 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(); + } + 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\ObjectStorageClusterLookup::class => false]; + } + } +} else { + class ObjectStorageClusterLookupNormalizer 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\ObjectStorageClusterLookup::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageClusterLookup::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\ObjectStorageClusterLookup(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('region', $data)) { + $object->setRegion($data['region']); + unset($data['region']); + } + 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(); + } + 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\ObjectStorageClusterLookup::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageClusterNotFoundSchemaNormalizer.php b/src/Core/Normalizer/ObjectStorageClusterNotFoundSchemaNormalizer.php new file mode 100644 index 00000000..2c5bf8e7 --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageClusterNotFoundSchemaNormalizer.php @@ -0,0 +1,197 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageClusterNotFoundSchemaNormalizer 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\ObjectStorageClusterNotFoundSchema::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageClusterNotFoundSchema::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\ObjectStorageClusterNotFoundSchema(); + 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\ObjectStorageClusterNotFoundSchema::class => false]; + } + } +} else { + class ObjectStorageClusterNotFoundSchemaNormalizer 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\ObjectStorageClusterNotFoundSchema::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageClusterNotFoundSchema::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\ObjectStorageClusterNotFoundSchema(); + 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\ObjectStorageClusterNotFoundSchema::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageObjectNormalizer.php b/src/Core/Normalizer/ObjectStorageObjectNormalizer.php new file mode 100644 index 00000000..acb8dd17 --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageObjectNormalizer.php @@ -0,0 +1,227 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageObjectNormalizer 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\ObjectStorageObject::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageObject::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\ObjectStorageObject(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('filename', $data)) { + $object->setFilename($data['filename']); + unset($data['filename']); + } + if (\array_key_exists('bucket_name', $data)) { + $object->setBucketName($data['bucket_name']); + unset($data['bucket_name']); + } + if (\array_key_exists('full_path', $data)) { + $object->setFullPath($data['full_path']); + unset($data['full_path']); + } + if (\array_key_exists('public_url', $data)) { + $object->setPublicUrl($data['public_url']); + unset($data['public_url']); + } + if (\array_key_exists('size', $data) && $data['size'] !== null) { + $object->setSize($data['size']); + unset($data['size']); + } elseif (\array_key_exists('size', $data) && $data['size'] === null) { + $object->setSize(null); + } + if (\array_key_exists('folder', $data)) { + $object->setFolder($data['folder']); + unset($data['folder']); + } + 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('filename') && null !== $object->getFilename()) { + $data['filename'] = $object->getFilename(); + } + if ($object->isInitialized('bucketName') && null !== $object->getBucketName()) { + $data['bucket_name'] = $object->getBucketName(); + } + if ($object->isInitialized('fullPath') && null !== $object->getFullPath()) { + $data['full_path'] = $object->getFullPath(); + } + if ($object->isInitialized('publicUrl') && null !== $object->getPublicUrl()) { + $data['public_url'] = $object->getPublicUrl(); + } + if ($object->isInitialized('size') && null !== $object->getSize()) { + $data['size'] = $object->getSize(); + } + if ($object->isInitialized('folder') && null !== $object->getFolder()) { + $data['folder'] = $object->getFolder(); + } + 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\ObjectStorageObject::class => false]; + } + } +} else { + class ObjectStorageObjectNormalizer 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\ObjectStorageObject::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageObject::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\ObjectStorageObject(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('filename', $data)) { + $object->setFilename($data['filename']); + unset($data['filename']); + } + if (\array_key_exists('bucket_name', $data)) { + $object->setBucketName($data['bucket_name']); + unset($data['bucket_name']); + } + if (\array_key_exists('full_path', $data)) { + $object->setFullPath($data['full_path']); + unset($data['full_path']); + } + if (\array_key_exists('public_url', $data)) { + $object->setPublicUrl($data['public_url']); + unset($data['public_url']); + } + if (\array_key_exists('size', $data) && $data['size'] !== null) { + $object->setSize($data['size']); + unset($data['size']); + } elseif (\array_key_exists('size', $data) && $data['size'] === null) { + $object->setSize(null); + } + if (\array_key_exists('folder', $data)) { + $object->setFolder($data['folder']); + unset($data['folder']); + } + 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('filename') && null !== $object->getFilename()) { + $data['filename'] = $object->getFilename(); + } + if ($object->isInitialized('bucketName') && null !== $object->getBucketName()) { + $data['bucket_name'] = $object->getBucketName(); + } + if ($object->isInitialized('fullPath') && null !== $object->getFullPath()) { + $data['full_path'] = $object->getFullPath(); + } + if ($object->isInitialized('publicUrl') && null !== $object->getPublicUrl()) { + $data['public_url'] = $object->getPublicUrl(); + } + if ($object->isInitialized('size') && null !== $object->getSize()) { + $data['size'] = $object->getSize(); + } + if ($object->isInitialized('folder') && null !== $object->getFolder()) { + $data['folder'] = $object->getFolder(); + } + 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\ObjectStorageObject::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageObjectPresignedURLArgumentsNormalizer.php b/src/Core/Normalizer/ObjectStorageObjectPresignedURLArgumentsNormalizer.php new file mode 100644 index 00000000..d630f6f7 --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageObjectPresignedURLArgumentsNormalizer.php @@ -0,0 +1,153 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageObjectPresignedURLArgumentsNormalizer 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\ObjectStorageObjectPresignedURLArguments::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageObjectPresignedURLArguments::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\ObjectStorageObjectPresignedURLArguments(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('expiry_seconds', $data)) { + $object->setExpirySeconds($data['expiry_seconds']); + unset($data['expiry_seconds']); + } + 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('expirySeconds') && null !== $object->getExpirySeconds()) { + $data['expiry_seconds'] = $object->getExpirySeconds(); + } + 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\ObjectStorageObjectPresignedURLArguments::class => false]; + } + } +} else { + class ObjectStorageObjectPresignedURLArgumentsNormalizer 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\ObjectStorageObjectPresignedURLArguments::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageObjectPresignedURLArguments::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\ObjectStorageObjectPresignedURLArguments(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('expiry_seconds', $data)) { + $object->setExpirySeconds($data['expiry_seconds']); + unset($data['expiry_seconds']); + } + 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('expirySeconds') && null !== $object->getExpirySeconds()) { + $data['expiry_seconds'] = $object->getExpirySeconds(); + } + 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\ObjectStorageObjectPresignedURLArguments::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageObjectStorageClusterBucketsBucketDeleteBodyNormalizer.php b/src/Core/Normalizer/ObjectStorageObjectStorageClusterBucketsBucketDeleteBodyNormalizer.php new file mode 100644 index 00000000..f7a32e59 --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageObjectStorageClusterBucketsBucketDeleteBodyNormalizer.php @@ -0,0 +1,159 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageObjectStorageClusterBucketsBucketDeleteBodyNormalizer 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\ObjectStorageObjectStorageClusterBucketsBucketDeleteBody::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketDeleteBody::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\ObjectStorageObjectStorageClusterBucketsBucketDeleteBody(); + if (null === $data || false === \is_array($data)) { + return $object; + } + 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('bucket', $data)) { + $object->setBucket($this->denormalizer->denormalize($data['bucket'], \KatapultAPI\Core\Model\ObjectStorageBucketLookup::class, 'json', $context)); + unset($data['bucket']); + } + 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_cluster'] = $this->normalizer->normalize($object->getObjectStorageCluster(), 'json', $context); + $data['bucket'] = $this->normalizer->normalize($object->getBucket(), '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\ObjectStorageObjectStorageClusterBucketsBucketDeleteBody::class => false]; + } + } +} else { + class ObjectStorageObjectStorageClusterBucketsBucketDeleteBodyNormalizer 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\ObjectStorageObjectStorageClusterBucketsBucketDeleteBody::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketDeleteBody::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\ObjectStorageObjectStorageClusterBucketsBucketDeleteBody(); + if (null === $data || false === \is_array($data)) { + return $object; + } + 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('bucket', $data)) { + $object->setBucket($this->denormalizer->denormalize($data['bucket'], \KatapultAPI\Core\Model\ObjectStorageBucketLookup::class, 'json', $context)); + unset($data['bucket']); + } + 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_cluster'] = $this->normalizer->normalize($object->getObjectStorageCluster(), 'json', $context); + $data['bucket'] = $this->normalizer->normalize($object->getBucket(), '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\ObjectStorageObjectStorageClusterBucketsBucketDeleteBody::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageObjectStorageClusterBucketsBucketDeleteResponse200Normalizer.php b/src/Core/Normalizer/ObjectStorageObjectStorageClusterBucketsBucketDeleteResponse200Normalizer.php new file mode 100644 index 00000000..393ec620 --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageObjectStorageClusterBucketsBucketDeleteResponse200Normalizer.php @@ -0,0 +1,149 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageObjectStorageClusterBucketsBucketDeleteResponse200Normalizer 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\ObjectStorageObjectStorageClusterBucketsBucketDeleteResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketDeleteResponse200::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\ObjectStorageObjectStorageClusterBucketsBucketDeleteResponse200(); + 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\ObjectStorageObjectStorageClusterBucketsBucketDeleteResponse200::class => false]; + } + } +} else { + class ObjectStorageObjectStorageClusterBucketsBucketDeleteResponse200Normalizer 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\ObjectStorageObjectStorageClusterBucketsBucketDeleteResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketDeleteResponse200::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\ObjectStorageObjectStorageClusterBucketsBucketDeleteResponse200(); + 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\ObjectStorageObjectStorageClusterBucketsBucketDeleteResponse200::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageObjectStorageClusterBucketsBucketGetResponse200Normalizer.php b/src/Core/Normalizer/ObjectStorageObjectStorageClusterBucketsBucketGetResponse200Normalizer.php new file mode 100644 index 00000000..4fffd624 --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageObjectStorageClusterBucketsBucketGetResponse200Normalizer.php @@ -0,0 +1,149 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageObjectStorageClusterBucketsBucketGetResponse200Normalizer 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\ObjectStorageObjectStorageClusterBucketsBucketGetResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketGetResponse200::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\ObjectStorageObjectStorageClusterBucketsBucketGetResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('object_storage_bucket', $data)) { + $object->setObjectStorageBucket($this->denormalizer->denormalize($data['object_storage_bucket'], \KatapultAPI\Core\Model\ObjectStorageBucket::class, 'json', $context)); + unset($data['object_storage_bucket']); + } + 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_bucket'] = $this->normalizer->normalize($object->getObjectStorageBucket(), '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\ObjectStorageObjectStorageClusterBucketsBucketGetResponse200::class => false]; + } + } +} else { + class ObjectStorageObjectStorageClusterBucketsBucketGetResponse200Normalizer 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\ObjectStorageObjectStorageClusterBucketsBucketGetResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketGetResponse200::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\ObjectStorageObjectStorageClusterBucketsBucketGetResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('object_storage_bucket', $data)) { + $object->setObjectStorageBucket($this->denormalizer->denormalize($data['object_storage_bucket'], \KatapultAPI\Core\Model\ObjectStorageBucket::class, 'json', $context)); + unset($data['object_storage_bucket']); + } + 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_bucket'] = $this->normalizer->normalize($object->getObjectStorageBucket(), '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\ObjectStorageObjectStorageClusterBucketsBucketGetResponse200::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageObjectStorageClusterBucketsBucketObjectGetResponse200Normalizer.php b/src/Core/Normalizer/ObjectStorageObjectStorageClusterBucketsBucketObjectGetResponse200Normalizer.php new file mode 100644 index 00000000..3b22677c --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageObjectStorageClusterBucketsBucketObjectGetResponse200Normalizer.php @@ -0,0 +1,149 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageObjectStorageClusterBucketsBucketObjectGetResponse200Normalizer 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\ObjectStorageObjectStorageClusterBucketsBucketObjectGetResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketObjectGetResponse200::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\ObjectStorageObjectStorageClusterBucketsBucketObjectGetResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('object_details', $data)) { + $object->setObjectDetails($this->denormalizer->denormalize($data['object_details'], \KatapultAPI\Core\Model\ObjectStorageObject::class, 'json', $context)); + unset($data['object_details']); + } + 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_details'] = $this->normalizer->normalize($object->getObjectDetails(), '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\ObjectStorageObjectStorageClusterBucketsBucketObjectGetResponse200::class => false]; + } + } +} else { + class ObjectStorageObjectStorageClusterBucketsBucketObjectGetResponse200Normalizer 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\ObjectStorageObjectStorageClusterBucketsBucketObjectGetResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketObjectGetResponse200::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\ObjectStorageObjectStorageClusterBucketsBucketObjectGetResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('object_details', $data)) { + $object->setObjectDetails($this->denormalizer->denormalize($data['object_details'], \KatapultAPI\Core\Model\ObjectStorageObject::class, 'json', $context)); + unset($data['object_details']); + } + 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_details'] = $this->normalizer->normalize($object->getObjectDetails(), '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\ObjectStorageObjectStorageClusterBucketsBucketObjectGetResponse200::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageObjectStorageClusterBucketsBucketPatchBodyNormalizer.php b/src/Core/Normalizer/ObjectStorageObjectStorageClusterBucketsBucketPatchBodyNormalizer.php new file mode 100644 index 00000000..bb64ec4c --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageObjectStorageClusterBucketsBucketPatchBodyNormalizer.php @@ -0,0 +1,169 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageObjectStorageClusterBucketsBucketPatchBodyNormalizer 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\ObjectStorageObjectStorageClusterBucketsBucketPatchBody::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketPatchBody::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\ObjectStorageObjectStorageClusterBucketsBucketPatchBody(); + if (null === $data || false === \is_array($data)) { + return $object; + } + 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('bucket', $data)) { + $object->setBucket($this->denormalizer->denormalize($data['bucket'], \KatapultAPI\Core\Model\ObjectStorageBucketLookup::class, 'json', $context)); + unset($data['bucket']); + } + if (\array_key_exists('properties', $data)) { + $object->setProperties($this->denormalizer->denormalize($data['properties'], \KatapultAPI\Core\Model\ObjectStorageBucketArguments::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['object_storage_cluster'] = $this->normalizer->normalize($object->getObjectStorageCluster(), 'json', $context); + $data['bucket'] = $this->normalizer->normalize($object->getBucket(), '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\ObjectStorageObjectStorageClusterBucketsBucketPatchBody::class => false]; + } + } +} else { + class ObjectStorageObjectStorageClusterBucketsBucketPatchBodyNormalizer 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\ObjectStorageObjectStorageClusterBucketsBucketPatchBody::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketPatchBody::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\ObjectStorageObjectStorageClusterBucketsBucketPatchBody(); + if (null === $data || false === \is_array($data)) { + return $object; + } + 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('bucket', $data)) { + $object->setBucket($this->denormalizer->denormalize($data['bucket'], \KatapultAPI\Core\Model\ObjectStorageBucketLookup::class, 'json', $context)); + unset($data['bucket']); + } + if (\array_key_exists('properties', $data)) { + $object->setProperties($this->denormalizer->denormalize($data['properties'], \KatapultAPI\Core\Model\ObjectStorageBucketArguments::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['object_storage_cluster'] = $this->normalizer->normalize($object->getObjectStorageCluster(), 'json', $context); + $data['bucket'] = $this->normalizer->normalize($object->getBucket(), '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\ObjectStorageObjectStorageClusterBucketsBucketPatchBody::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageObjectStorageClusterBucketsBucketPatchResponse200Normalizer.php b/src/Core/Normalizer/ObjectStorageObjectStorageClusterBucketsBucketPatchResponse200Normalizer.php new file mode 100644 index 00000000..aec07aa7 --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageObjectStorageClusterBucketsBucketPatchResponse200Normalizer.php @@ -0,0 +1,149 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageObjectStorageClusterBucketsBucketPatchResponse200Normalizer 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\ObjectStorageObjectStorageClusterBucketsBucketPatchResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketPatchResponse200::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\ObjectStorageObjectStorageClusterBucketsBucketPatchResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('object_storage_bucket', $data)) { + $object->setObjectStorageBucket($this->denormalizer->denormalize($data['object_storage_bucket'], \KatapultAPI\Core\Model\ObjectStorageBucket::class, 'json', $context)); + unset($data['object_storage_bucket']); + } + 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_bucket'] = $this->normalizer->normalize($object->getObjectStorageBucket(), '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\ObjectStorageObjectStorageClusterBucketsBucketPatchResponse200::class => false]; + } + } +} else { + class ObjectStorageObjectStorageClusterBucketsBucketPatchResponse200Normalizer 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\ObjectStorageObjectStorageClusterBucketsBucketPatchResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketPatchResponse200::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\ObjectStorageObjectStorageClusterBucketsBucketPatchResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('object_storage_bucket', $data)) { + $object->setObjectStorageBucket($this->denormalizer->denormalize($data['object_storage_bucket'], \KatapultAPI\Core\Model\ObjectStorageBucket::class, 'json', $context)); + unset($data['object_storage_bucket']); + } + 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_bucket'] = $this->normalizer->normalize($object->getObjectStorageBucket(), '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\ObjectStorageObjectStorageClusterBucketsBucketPatchResponse200::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostBodyNormalizer.php b/src/Core/Normalizer/ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostBodyNormalizer.php new file mode 100644 index 00000000..42279ac6 --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostBodyNormalizer.php @@ -0,0 +1,179 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostBodyNormalizer 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\ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostBody::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostBody::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\ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostBody(); + if (null === $data || false === \is_array($data)) { + return $object; + } + 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('bucket', $data)) { + $object->setBucket($this->denormalizer->denormalize($data['bucket'], \KatapultAPI\Core\Model\ObjectStorageBucketLookup::class, 'json', $context)); + unset($data['bucket']); + } + if (\array_key_exists('path', $data)) { + $object->setPath($data['path']); + unset($data['path']); + } + if (\array_key_exists('properties', $data)) { + $object->setProperties($this->denormalizer->denormalize($data['properties'], \KatapultAPI\Core\Model\ObjectStorageObjectPresignedURLArguments::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['object_storage_cluster'] = $this->normalizer->normalize($object->getObjectStorageCluster(), 'json', $context); + $data['bucket'] = $this->normalizer->normalize($object->getBucket(), 'json', $context); + $data['path'] = $object->getPath(); + $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\ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostBody::class => false]; + } + } +} else { + class ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostBodyNormalizer 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\ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostBody::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostBody::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\ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostBody(); + if (null === $data || false === \is_array($data)) { + return $object; + } + 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('bucket', $data)) { + $object->setBucket($this->denormalizer->denormalize($data['bucket'], \KatapultAPI\Core\Model\ObjectStorageBucketLookup::class, 'json', $context)); + unset($data['bucket']); + } + if (\array_key_exists('path', $data)) { + $object->setPath($data['path']); + unset($data['path']); + } + if (\array_key_exists('properties', $data)) { + $object->setProperties($this->denormalizer->denormalize($data['properties'], \KatapultAPI\Core\Model\ObjectStorageObjectPresignedURLArguments::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['object_storage_cluster'] = $this->normalizer->normalize($object->getObjectStorageCluster(), 'json', $context); + $data['bucket'] = $this->normalizer->normalize($object->getBucket(), 'json', $context); + $data['path'] = $object->getPath(); + $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\ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostBody::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostResponse200Normalizer.php b/src/Core/Normalizer/ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostResponse200Normalizer.php new file mode 100644 index 00000000..072c5256 --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostResponse200Normalizer.php @@ -0,0 +1,149 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostResponse200Normalizer 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\ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostResponse200::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\ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('url', $data)) { + $object->setUrl($data['url']); + unset($data['url']); + } + 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['url'] = $object->getUrl(); + 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\ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostResponse200::class => false]; + } + } +} else { + class ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostResponse200Normalizer 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\ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostResponse200::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\ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('url', $data)) { + $object->setUrl($data['url']); + unset($data['url']); + } + 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['url'] = $object->getUrl(); + 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\ObjectStorageObjectStorageClusterBucketsBucketPresignedUrlPostResponse200::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostBodyNormalizer.php b/src/Core/Normalizer/ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostBodyNormalizer.php new file mode 100644 index 00000000..c1bfc69f --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostBodyNormalizer.php @@ -0,0 +1,159 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostBodyNormalizer 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\ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostBody::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostBody::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\ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostBody(); + if (null === $data || false === \is_array($data)) { + return $object; + } + 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('bucket', $data)) { + $object->setBucket($this->denormalizer->denormalize($data['bucket'], \KatapultAPI\Core\Model\ObjectStorageBucketLookup::class, 'json', $context)); + unset($data['bucket']); + } + 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_cluster'] = $this->normalizer->normalize($object->getObjectStorageCluster(), 'json', $context); + $data['bucket'] = $this->normalizer->normalize($object->getBucket(), '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\ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostBody::class => false]; + } + } +} else { + class ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostBodyNormalizer 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\ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostBody::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostBody::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\ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostBody(); + if (null === $data || false === \is_array($data)) { + return $object; + } + 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('bucket', $data)) { + $object->setBucket($this->denormalizer->denormalize($data['bucket'], \KatapultAPI\Core\Model\ObjectStorageBucketLookup::class, 'json', $context)); + unset($data['bucket']); + } + 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_cluster'] = $this->normalizer->normalize($object->getObjectStorageCluster(), 'json', $context); + $data['bucket'] = $this->normalizer->normalize($object->getBucket(), '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\ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostBody::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostResponse200Normalizer.php b/src/Core/Normalizer/ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostResponse200Normalizer.php new file mode 100644 index 00000000..ab4d534c --- /dev/null +++ b/src/Core/Normalizer/ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostResponse200Normalizer.php @@ -0,0 +1,149 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostResponse200Normalizer 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\ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostResponse200::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\ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostResponse200(); + 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\ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostResponse200::class => false]; + } + } +} else { + class ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostResponse200Normalizer 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\ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostResponse200::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\ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostResponse200(); + 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\ObjectStorageObjectStorageClusterBucketsBucketRevokePresignedUrlsPostResponse200::class => false]; + } + } +} diff --git a/src/Core/Normalizer/OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostBodyNormalizer.php b/src/Core/Normalizer/OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostBodyNormalizer.php new file mode 100644 index 00000000..fa2ad64f --- /dev/null +++ b/src/Core/Normalizer/OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostBodyNormalizer.php @@ -0,0 +1,169 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostBodyNormalizer 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\OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostBody::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostBody::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\OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostBody(); + 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\ObjectStorageBucketArguments::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\OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostBody::class => false]; + } + } +} else { + class OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostBodyNormalizer 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\OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostBody::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostBody::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\OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostBody(); + 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\ObjectStorageBucketArguments::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\OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostBody::class => false]; + } + } +} diff --git a/src/Core/Normalizer/OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostResponse201Normalizer.php b/src/Core/Normalizer/OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostResponse201Normalizer.php new file mode 100644 index 00000000..f44f33c9 --- /dev/null +++ b/src/Core/Normalizer/OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostResponse201Normalizer.php @@ -0,0 +1,149 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostResponse201Normalizer 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\OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostResponse201::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostResponse201::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\OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostResponse201(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('object_storage_bucket', $data)) { + $object->setObjectStorageBucket($this->denormalizer->denormalize($data['object_storage_bucket'], \KatapultAPI\Core\Model\ObjectStorageBucket::class, 'json', $context)); + unset($data['object_storage_bucket']); + } + 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_bucket'] = $this->normalizer->normalize($object->getObjectStorageBucket(), '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\OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostResponse201::class => false]; + } + } +} else { + class OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostResponse201Normalizer 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\OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostResponse201::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostResponse201::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\OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostResponse201(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('object_storage_bucket', $data)) { + $object->setObjectStorageBucket($this->denormalizer->denormalize($data['object_storage_bucket'], \KatapultAPI\Core\Model\ObjectStorageBucket::class, 'json', $context)); + unset($data['object_storage_bucket']); + } + 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_bucket'] = $this->normalizer->normalize($object->getObjectStorageBucket(), '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\OrganizationsOrganizationObjectStorageObjectStorageClusterBucketsPostResponse201::class => false]; + } + } +} diff --git a/src/Core/Normalizer/OrganizationsOrganizationVirtualNetworksGetResponse200Normalizer.php b/src/Core/Normalizer/OrganizationsOrganizationVirtualNetworksGetResponse200Normalizer.php new file mode 100644 index 00000000..16c25a62 --- /dev/null +++ b/src/Core/Normalizer/OrganizationsOrganizationVirtualNetworksGetResponse200Normalizer.php @@ -0,0 +1,175 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class OrganizationsOrganizationVirtualNetworksGetResponse200Normalizer 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\OrganizationsOrganizationVirtualNetworksGetResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualNetworksGetResponse200::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\OrganizationsOrganizationVirtualNetworksGetResponse200(); + 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('virtual_networks', $data)) { + $values = []; + foreach ($data['virtual_networks'] as $value) { + $values[] = $this->denormalizer->denormalize($value, \KatapultAPI\Core\Model\VirtualNetwork::class, 'json', $context); + } + $object->setVirtualNetworks($values); + unset($data['virtual_networks']); + } + 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->getVirtualNetworks() as $value) { + $values[] = $this->normalizer->normalize($value, 'json', $context); + } + $data['virtual_networks'] = $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\OrganizationsOrganizationVirtualNetworksGetResponse200::class => false]; + } + } +} else { + class OrganizationsOrganizationVirtualNetworksGetResponse200Normalizer 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\OrganizationsOrganizationVirtualNetworksGetResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualNetworksGetResponse200::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\OrganizationsOrganizationVirtualNetworksGetResponse200(); + 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('virtual_networks', $data)) { + $values = []; + foreach ($data['virtual_networks'] as $value) { + $values[] = $this->denormalizer->denormalize($value, \KatapultAPI\Core\Model\VirtualNetwork::class, 'json', $context); + } + $object->setVirtualNetworks($values); + unset($data['virtual_networks']); + } + 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->getVirtualNetworks() as $value) { + $values[] = $this->normalizer->normalize($value, 'json', $context); + } + $data['virtual_networks'] = $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\OrganizationsOrganizationVirtualNetworksGetResponse200::class => false]; + } + } +} diff --git a/src/Core/Normalizer/OrganizationsOrganizationVirtualNetworksPostBodyNormalizer.php b/src/Core/Normalizer/OrganizationsOrganizationVirtualNetworksPostBodyNormalizer.php new file mode 100644 index 00000000..d78f06fe --- /dev/null +++ b/src/Core/Normalizer/OrganizationsOrganizationVirtualNetworksPostBodyNormalizer.php @@ -0,0 +1,169 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class OrganizationsOrganizationVirtualNetworksPostBodyNormalizer 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\OrganizationsOrganizationVirtualNetworksPostBody::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualNetworksPostBody::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\OrganizationsOrganizationVirtualNetworksPostBody(); + 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('data_center', $data)) { + $object->setDataCenter($this->denormalizer->denormalize($data['data_center'], \KatapultAPI\Core\Model\DataCenterLookup::class, 'json', $context)); + unset($data['data_center']); + } + if (\array_key_exists('properties', $data)) { + $object->setProperties($this->denormalizer->denormalize($data['properties'], \KatapultAPI\Core\Model\VirtualNetworkArguments::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['data_center'] = $this->normalizer->normalize($object->getDataCenter(), '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\OrganizationsOrganizationVirtualNetworksPostBody::class => false]; + } + } +} else { + class OrganizationsOrganizationVirtualNetworksPostBodyNormalizer 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\OrganizationsOrganizationVirtualNetworksPostBody::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualNetworksPostBody::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\OrganizationsOrganizationVirtualNetworksPostBody(); + 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('data_center', $data)) { + $object->setDataCenter($this->denormalizer->denormalize($data['data_center'], \KatapultAPI\Core\Model\DataCenterLookup::class, 'json', $context)); + unset($data['data_center']); + } + if (\array_key_exists('properties', $data)) { + $object->setProperties($this->denormalizer->denormalize($data['properties'], \KatapultAPI\Core\Model\VirtualNetworkArguments::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['data_center'] = $this->normalizer->normalize($object->getDataCenter(), '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\OrganizationsOrganizationVirtualNetworksPostBody::class => false]; + } + } +} diff --git a/src/Core/Normalizer/OrganizationsOrganizationVirtualNetworksPostResponse200Normalizer.php b/src/Core/Normalizer/OrganizationsOrganizationVirtualNetworksPostResponse200Normalizer.php new file mode 100644 index 00000000..c038fa56 --- /dev/null +++ b/src/Core/Normalizer/OrganizationsOrganizationVirtualNetworksPostResponse200Normalizer.php @@ -0,0 +1,149 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class OrganizationsOrganizationVirtualNetworksPostResponse200Normalizer 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\OrganizationsOrganizationVirtualNetworksPostResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualNetworksPostResponse200::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\OrganizationsOrganizationVirtualNetworksPostResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('virtual_network', $data)) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualNetworksPostResponse200VirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } + 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_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), '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\OrganizationsOrganizationVirtualNetworksPostResponse200::class => false]; + } + } +} else { + class OrganizationsOrganizationVirtualNetworksPostResponse200Normalizer 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\OrganizationsOrganizationVirtualNetworksPostResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualNetworksPostResponse200::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\OrganizationsOrganizationVirtualNetworksPostResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('virtual_network', $data)) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualNetworksPostResponse200VirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } + 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_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), '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\OrganizationsOrganizationVirtualNetworksPostResponse200::class => false]; + } + } +} diff --git a/src/Core/Normalizer/OrganizationsOrganizationVirtualNetworksPostResponse200VirtualNetworkNormalizer.php b/src/Core/Normalizer/OrganizationsOrganizationVirtualNetworksPostResponse200VirtualNetworkNormalizer.php new file mode 100644 index 00000000..7a088dd0 --- /dev/null +++ b/src/Core/Normalizer/OrganizationsOrganizationVirtualNetworksPostResponse200VirtualNetworkNormalizer.php @@ -0,0 +1,181 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class OrganizationsOrganizationVirtualNetworksPostResponse200VirtualNetworkNormalizer 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\OrganizationsOrganizationVirtualNetworksPostResponse200VirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualNetworksPostResponse200VirtualNetwork::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\OrganizationsOrganizationVirtualNetworksPostResponse200VirtualNetwork(); + 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('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('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + 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\OrganizationsOrganizationVirtualNetworksPostResponse200VirtualNetwork::class => false]; + } + } +} else { + class OrganizationsOrganizationVirtualNetworksPostResponse200VirtualNetworkNormalizer 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\OrganizationsOrganizationVirtualNetworksPostResponse200VirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\OrganizationsOrganizationVirtualNetworksPostResponse200VirtualNetwork::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\OrganizationsOrganizationVirtualNetworksPostResponse200VirtualNetwork(); + 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('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('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + 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\OrganizationsOrganizationVirtualNetworksPostResponse200VirtualNetwork::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ResponseMultipleObjectStorageBucketsFoundResponseNormalizer.php b/src/Core/Normalizer/ResponseMultipleObjectStorageBucketsFoundResponseNormalizer.php new file mode 100644 index 00000000..69cfc8d9 --- /dev/null +++ b/src/Core/Normalizer/ResponseMultipleObjectStorageBucketsFoundResponseNormalizer.php @@ -0,0 +1,197 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ResponseMultipleObjectStorageBucketsFoundResponseNormalizer 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\ResponseMultipleObjectStorageBucketsFoundResponse::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ResponseMultipleObjectStorageBucketsFoundResponse::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\ResponseMultipleObjectStorageBucketsFoundResponse(); + 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\ResponseMultipleObjectStorageBucketsFoundResponse::class => false]; + } + } +} else { + class ResponseMultipleObjectStorageBucketsFoundResponseNormalizer 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\ResponseMultipleObjectStorageBucketsFoundResponse::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ResponseMultipleObjectStorageBucketsFoundResponse::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\ResponseMultipleObjectStorageBucketsFoundResponse(); + 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\ResponseMultipleObjectStorageBucketsFoundResponse::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ResponseNetworkErrorResponseNormalizer.php b/src/Core/Normalizer/ResponseNetworkErrorResponseNormalizer.php new file mode 100644 index 00000000..cf5d56e8 --- /dev/null +++ b/src/Core/Normalizer/ResponseNetworkErrorResponseNormalizer.php @@ -0,0 +1,197 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ResponseNetworkErrorResponseNormalizer 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\ResponseNetworkErrorResponse::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ResponseNetworkErrorResponse::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\ResponseNetworkErrorResponse(); + 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\ResponseNetworkErrorResponse::class => false]; + } + } +} else { + class ResponseNetworkErrorResponseNormalizer 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\ResponseNetworkErrorResponse::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ResponseNetworkErrorResponse::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\ResponseNetworkErrorResponse(); + 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\ResponseNetworkErrorResponse::class => false]; + } + } +} diff --git a/src/Core/Normalizer/ResponseVirtualNetworkNotFoundResponseNormalizer.php b/src/Core/Normalizer/ResponseVirtualNetworkNotFoundResponseNormalizer.php new file mode 100644 index 00000000..6a1022ee --- /dev/null +++ b/src/Core/Normalizer/ResponseVirtualNetworkNotFoundResponseNormalizer.php @@ -0,0 +1,197 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class ResponseVirtualNetworkNotFoundResponseNormalizer 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\ResponseVirtualNetworkNotFoundResponse::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ResponseVirtualNetworkNotFoundResponse::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\ResponseVirtualNetworkNotFoundResponse(); + 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\ResponseVirtualNetworkNotFoundResponse::class => false]; + } + } +} else { + class ResponseVirtualNetworkNotFoundResponseNormalizer 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\ResponseVirtualNetworkNotFoundResponse::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\ResponseVirtualNetworkNotFoundResponse::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\ResponseVirtualNetworkNotFoundResponse(); + 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\ResponseVirtualNetworkNotFoundResponse::class => false]; + } + } +} diff --git a/src/Core/Normalizer/VirtualNetworkArgumentsNormalizer.php b/src/Core/Normalizer/VirtualNetworkArgumentsNormalizer.php new file mode 100644 index 00000000..78d0904f --- /dev/null +++ b/src/Core/Normalizer/VirtualNetworkArgumentsNormalizer.php @@ -0,0 +1,149 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class VirtualNetworkArgumentsNormalizer 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\VirtualNetworkArguments::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualNetworkArguments::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\VirtualNetworkArguments(); + if (null === $data || false === \is_array($data)) { + return $object; + } + 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 = []; + $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\VirtualNetworkArguments::class => false]; + } + } +} else { + class VirtualNetworkArgumentsNormalizer 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\VirtualNetworkArguments::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualNetworkArguments::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\VirtualNetworkArguments(); + if (null === $data || false === \is_array($data)) { + return $object; + } + 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 = []; + $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\VirtualNetworkArguments::class => false]; + } + } +} diff --git a/src/Core/Normalizer/VirtualNetworkLookupNormalizer.php b/src/Core/Normalizer/VirtualNetworkLookupNormalizer.php new file mode 100644 index 00000000..28b4eabc --- /dev/null +++ b/src/Core/Normalizer/VirtualNetworkLookupNormalizer.php @@ -0,0 +1,153 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class VirtualNetworkLookupNormalizer 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\VirtualNetworkLookup::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualNetworkLookup::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\VirtualNetworkLookup(); + 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\VirtualNetworkLookup::class => false]; + } + } +} else { + class VirtualNetworkLookupNormalizer 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\VirtualNetworkLookup::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualNetworkLookup::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\VirtualNetworkLookup(); + 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\VirtualNetworkLookup::class => false]; + } + } +} diff --git a/src/Core/Normalizer/VirtualNetworkNormalizer.php b/src/Core/Normalizer/VirtualNetworkNormalizer.php new file mode 100644 index 00000000..1e36901a --- /dev/null +++ b/src/Core/Normalizer/VirtualNetworkNormalizer.php @@ -0,0 +1,181 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class VirtualNetworkNormalizer 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\VirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualNetwork::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\VirtualNetwork(); + 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('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('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + 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\VirtualNetwork::class => false]; + } + } +} else { + class VirtualNetworkNormalizer 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\VirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualNetwork::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\VirtualNetwork(); + 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('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('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + 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\VirtualNetwork::class => false]; + } + } +} diff --git a/src/Core/Normalizer/VirtualNetworksVirtualNetworkDeleteBodyNormalizer.php b/src/Core/Normalizer/VirtualNetworksVirtualNetworkDeleteBodyNormalizer.php new file mode 100644 index 00000000..fab6d86c --- /dev/null +++ b/src/Core/Normalizer/VirtualNetworksVirtualNetworkDeleteBodyNormalizer.php @@ -0,0 +1,149 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class VirtualNetworksVirtualNetworkDeleteBodyNormalizer 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\VirtualNetworksVirtualNetworkDeleteBody::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkDeleteBody::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\VirtualNetworksVirtualNetworkDeleteBody(); + if (null === $data || false === \is_array($data)) { + return $object; + } + 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']); + } + 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_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), '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\VirtualNetworksVirtualNetworkDeleteBody::class => false]; + } + } +} else { + class VirtualNetworksVirtualNetworkDeleteBodyNormalizer 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\VirtualNetworksVirtualNetworkDeleteBody::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkDeleteBody::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\VirtualNetworksVirtualNetworkDeleteBody(); + if (null === $data || false === \is_array($data)) { + return $object; + } + 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']); + } + 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_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), '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\VirtualNetworksVirtualNetworkDeleteBody::class => false]; + } + } +} diff --git a/src/Core/Normalizer/VirtualNetworksVirtualNetworkDeleteResponse200Normalizer.php b/src/Core/Normalizer/VirtualNetworksVirtualNetworkDeleteResponse200Normalizer.php new file mode 100644 index 00000000..c5c51782 --- /dev/null +++ b/src/Core/Normalizer/VirtualNetworksVirtualNetworkDeleteResponse200Normalizer.php @@ -0,0 +1,149 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class VirtualNetworksVirtualNetworkDeleteResponse200Normalizer 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\VirtualNetworksVirtualNetworkDeleteResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkDeleteResponse200::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\VirtualNetworksVirtualNetworkDeleteResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('virtual_network', $data)) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkDeleteResponse200VirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } + 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_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), '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\VirtualNetworksVirtualNetworkDeleteResponse200::class => false]; + } + } +} else { + class VirtualNetworksVirtualNetworkDeleteResponse200Normalizer 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\VirtualNetworksVirtualNetworkDeleteResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkDeleteResponse200::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\VirtualNetworksVirtualNetworkDeleteResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('virtual_network', $data)) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkDeleteResponse200VirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } + 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_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), '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\VirtualNetworksVirtualNetworkDeleteResponse200::class => false]; + } + } +} diff --git a/src/Core/Normalizer/VirtualNetworksVirtualNetworkDeleteResponse200VirtualNetworkNormalizer.php b/src/Core/Normalizer/VirtualNetworksVirtualNetworkDeleteResponse200VirtualNetworkNormalizer.php new file mode 100644 index 00000000..991e33bc --- /dev/null +++ b/src/Core/Normalizer/VirtualNetworksVirtualNetworkDeleteResponse200VirtualNetworkNormalizer.php @@ -0,0 +1,181 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class VirtualNetworksVirtualNetworkDeleteResponse200VirtualNetworkNormalizer 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\VirtualNetworksVirtualNetworkDeleteResponse200VirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkDeleteResponse200VirtualNetwork::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\VirtualNetworksVirtualNetworkDeleteResponse200VirtualNetwork(); + 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('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('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + 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\VirtualNetworksVirtualNetworkDeleteResponse200VirtualNetwork::class => false]; + } + } +} else { + class VirtualNetworksVirtualNetworkDeleteResponse200VirtualNetworkNormalizer 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\VirtualNetworksVirtualNetworkDeleteResponse200VirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkDeleteResponse200VirtualNetwork::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\VirtualNetworksVirtualNetworkDeleteResponse200VirtualNetwork(); + 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('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('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + 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\VirtualNetworksVirtualNetworkDeleteResponse200VirtualNetwork::class => false]; + } + } +} diff --git a/src/Core/Normalizer/VirtualNetworksVirtualNetworkGetResponse200Normalizer.php b/src/Core/Normalizer/VirtualNetworksVirtualNetworkGetResponse200Normalizer.php new file mode 100644 index 00000000..be2f49ad --- /dev/null +++ b/src/Core/Normalizer/VirtualNetworksVirtualNetworkGetResponse200Normalizer.php @@ -0,0 +1,149 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class VirtualNetworksVirtualNetworkGetResponse200Normalizer 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\VirtualNetworksVirtualNetworkGetResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkGetResponse200::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\VirtualNetworksVirtualNetworkGetResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('virtual_network', $data)) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkGetResponse200VirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } + 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_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), '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\VirtualNetworksVirtualNetworkGetResponse200::class => false]; + } + } +} else { + class VirtualNetworksVirtualNetworkGetResponse200Normalizer 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\VirtualNetworksVirtualNetworkGetResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkGetResponse200::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\VirtualNetworksVirtualNetworkGetResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('virtual_network', $data)) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkGetResponse200VirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } + 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_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), '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\VirtualNetworksVirtualNetworkGetResponse200::class => false]; + } + } +} diff --git a/src/Core/Normalizer/VirtualNetworksVirtualNetworkGetResponse200VirtualNetworkNormalizer.php b/src/Core/Normalizer/VirtualNetworksVirtualNetworkGetResponse200VirtualNetworkNormalizer.php new file mode 100644 index 00000000..c69fac62 --- /dev/null +++ b/src/Core/Normalizer/VirtualNetworksVirtualNetworkGetResponse200VirtualNetworkNormalizer.php @@ -0,0 +1,181 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class VirtualNetworksVirtualNetworkGetResponse200VirtualNetworkNormalizer 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\VirtualNetworksVirtualNetworkGetResponse200VirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkGetResponse200VirtualNetwork::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\VirtualNetworksVirtualNetworkGetResponse200VirtualNetwork(); + 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('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('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + 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\VirtualNetworksVirtualNetworkGetResponse200VirtualNetwork::class => false]; + } + } +} else { + class VirtualNetworksVirtualNetworkGetResponse200VirtualNetworkNormalizer 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\VirtualNetworksVirtualNetworkGetResponse200VirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkGetResponse200VirtualNetwork::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\VirtualNetworksVirtualNetworkGetResponse200VirtualNetwork(); + 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('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('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + 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\VirtualNetworksVirtualNetworkGetResponse200VirtualNetwork::class => false]; + } + } +} diff --git a/src/Core/Normalizer/VirtualNetworksVirtualNetworkPatchBodyNormalizer.php b/src/Core/Normalizer/VirtualNetworksVirtualNetworkPatchBodyNormalizer.php new file mode 100644 index 00000000..31594277 --- /dev/null +++ b/src/Core/Normalizer/VirtualNetworksVirtualNetworkPatchBodyNormalizer.php @@ -0,0 +1,159 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class VirtualNetworksVirtualNetworkPatchBodyNormalizer 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\VirtualNetworksVirtualNetworkPatchBody::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkPatchBody::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\VirtualNetworksVirtualNetworkPatchBody(); + if (null === $data || false === \is_array($data)) { + return $object; + } + 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('properties', $data)) { + $object->setProperties($this->denormalizer->denormalize($data['properties'], \KatapultAPI\Core\Model\VirtualNetworkArguments::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['virtual_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), '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\VirtualNetworksVirtualNetworkPatchBody::class => false]; + } + } +} else { + class VirtualNetworksVirtualNetworkPatchBodyNormalizer 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\VirtualNetworksVirtualNetworkPatchBody::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkPatchBody::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\VirtualNetworksVirtualNetworkPatchBody(); + if (null === $data || false === \is_array($data)) { + return $object; + } + 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('properties', $data)) { + $object->setProperties($this->denormalizer->denormalize($data['properties'], \KatapultAPI\Core\Model\VirtualNetworkArguments::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['virtual_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), '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\VirtualNetworksVirtualNetworkPatchBody::class => false]; + } + } +} diff --git a/src/Core/Normalizer/VirtualNetworksVirtualNetworkPatchResponse200Normalizer.php b/src/Core/Normalizer/VirtualNetworksVirtualNetworkPatchResponse200Normalizer.php new file mode 100644 index 00000000..51ebd087 --- /dev/null +++ b/src/Core/Normalizer/VirtualNetworksVirtualNetworkPatchResponse200Normalizer.php @@ -0,0 +1,149 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class VirtualNetworksVirtualNetworkPatchResponse200Normalizer 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\VirtualNetworksVirtualNetworkPatchResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkPatchResponse200::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\VirtualNetworksVirtualNetworkPatchResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('virtual_network', $data)) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkPatchResponse200VirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } + 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_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), '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\VirtualNetworksVirtualNetworkPatchResponse200::class => false]; + } + } +} else { + class VirtualNetworksVirtualNetworkPatchResponse200Normalizer 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\VirtualNetworksVirtualNetworkPatchResponse200::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkPatchResponse200::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\VirtualNetworksVirtualNetworkPatchResponse200(); + if (null === $data || false === \is_array($data)) { + return $object; + } + if (\array_key_exists('virtual_network', $data)) { + $object->setVirtualNetwork($this->denormalizer->denormalize($data['virtual_network'], \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkPatchResponse200VirtualNetwork::class, 'json', $context)); + unset($data['virtual_network']); + } + 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_network'] = $this->normalizer->normalize($object->getVirtualNetwork(), '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\VirtualNetworksVirtualNetworkPatchResponse200::class => false]; + } + } +} diff --git a/src/Core/Normalizer/VirtualNetworksVirtualNetworkPatchResponse200VirtualNetworkNormalizer.php b/src/Core/Normalizer/VirtualNetworksVirtualNetworkPatchResponse200VirtualNetworkNormalizer.php new file mode 100644 index 00000000..0a8b275a --- /dev/null +++ b/src/Core/Normalizer/VirtualNetworksVirtualNetworkPatchResponse200VirtualNetworkNormalizer.php @@ -0,0 +1,181 @@ += 7 or Kernel::MAJOR_VERSION === 6 and Kernel::MINOR_VERSION === 4)) { + class VirtualNetworksVirtualNetworkPatchResponse200VirtualNetworkNormalizer 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\VirtualNetworksVirtualNetworkPatchResponse200VirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkPatchResponse200VirtualNetwork::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\VirtualNetworksVirtualNetworkPatchResponse200VirtualNetwork(); + 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('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('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + 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\VirtualNetworksVirtualNetworkPatchResponse200VirtualNetwork::class => false]; + } + } +} else { + class VirtualNetworksVirtualNetworkPatchResponse200VirtualNetworkNormalizer 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\VirtualNetworksVirtualNetworkPatchResponse200VirtualNetwork::class; + } + + public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool + { + return is_object($data) && get_class($data) === \KatapultAPI\Core\Model\VirtualNetworksVirtualNetworkPatchResponse200VirtualNetwork::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\VirtualNetworksVirtualNetworkPatchResponse200VirtualNetwork(); + 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('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('id') && null !== $object->getId()) { + $data['id'] = $object->getId(); + } + if ($object->isInitialized('name') && null !== $object->getName()) { + $data['name'] = $object->getName(); + } + 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\VirtualNetworksVirtualNetworkPatchResponse200VirtualNetwork::class => false]; + } + } +} diff --git a/src/Public/Client.php b/src/Public/Client.php index b240793a..26c902a1 100644 --- a/src/Public/Client.php +++ b/src/Public/Client.php @@ -90,8 +90,8 @@ public function getStats(string $fetch = self::FETCH_OBJECT) * * @param array $queryParameters { * - * @var int $page - * @var int $per_page + * @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) diff --git a/src/Public/Endpoint/GetVirtualMachinePackages.php b/src/Public/Endpoint/GetVirtualMachinePackages.php index 6013010c..ecdbe196 100644 --- a/src/Public/Endpoint/GetVirtualMachinePackages.php +++ b/src/Public/Endpoint/GetVirtualMachinePackages.php @@ -19,8 +19,8 @@ class GetVirtualMachinePackages extends \KatapultAPI\Public\Runtime\Client\BaseE * * @param array $queryParameters { * - * @var int $page - * @var int $per_page + * @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 = []) @@ -53,7 +53,7 @@ protected function getQueryOptionsResolver(): \Symfony\Component\OptionsResolver $optionsResolver = parent::getQueryOptionsResolver(); $optionsResolver->setDefined(['page', 'per_page']); $optionsResolver->setRequired([]); - $optionsResolver->setDefaults([]); + $optionsResolver->setDefaults(['page' => 1, 'per_page' => 30]); $optionsResolver->addAllowedTypes('page', ['int']); $optionsResolver->addAllowedTypes('per_page', ['int']);