diff --git a/README.md b/README.md
index 93d9075..1186487 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,7 @@ No description provided (generated by Openapi Generator https://github.com/opena
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 0.1.0
-- Package version: 4.19.0
+- Package version: 4.20.0
- Generator version: 7.9.0
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
@@ -104,12 +104,15 @@ Class | Method | HTTP request | Description
*EXTERNALApi* | [**create_job_deployment_deployments_job_post**](docs/EXTERNALApi.md#create_job_deployment_deployments_job_post) | **POST** /deployments/job | Create Job Deployment
*EXTERNALApi* | [**create_new_organization_organizations_post**](docs/EXTERNALApi.md#create_new_organization_organizations_post) | **POST** /organizations | Create New Organization
*EXTERNALApi* | [**create_service_account_service_accounts_post**](docs/EXTERNALApi.md#create_service_account_service_accounts_post) | **POST** /service-accounts | Create Service Account
+*EXTERNALApi* | [**create_volume_endpoint_volumes_post**](docs/EXTERNALApi.md#create_volume_endpoint_volumes_post) | **POST** /volumes | Create Volume Endpoint
*EXTERNALApi* | [**delete_cluster_clusters_cluster_id_delete**](docs/EXTERNALApi.md#delete_cluster_clusters_cluster_id_delete) | **DELETE** /clusters/{cluster_id} | Delete Cluster
*EXTERNALApi* | [**delete_hardware_instance_hardware_instances_hardware_instance_id_delete**](docs/EXTERNALApi.md#delete_hardware_instance_hardware_instances_hardware_instance_id_delete) | **DELETE** /hardware-instances/{hardware_instance_id} | Delete Hardware Instance
*EXTERNALApi* | [**delete_service_account_service_accounts_workos_id_delete**](docs/EXTERNALApi.md#delete_service_account_service_accounts_workos_id_delete) | **DELETE** /service-accounts/{workos_id} | Delete Service Account
*EXTERNALApi* | [**delete_user_vault_item_endpoint_user_vault_delete**](docs/EXTERNALApi.md#delete_user_vault_item_endpoint_user_vault_delete) | **DELETE** /user_vault | Delete User Vault Item Endpoint
+*EXTERNALApi* | [**delete_volume_endpoint_volumes_volume_id_delete**](docs/EXTERNALApi.md#delete_volume_endpoint_volumes_volume_id_delete) | **DELETE** /volumes/{volume_id} | Delete Volume Endpoint
*EXTERNALApi* | [**generate_service_account_secret_service_accounts_workos_id_secrets_post**](docs/EXTERNALApi.md#generate_service_account_secret_service_accounts_workos_id_secrets_post) | **POST** /service-accounts/{workos_id}/secrets | Generate Service Account Secret
*EXTERNALApi* | [**get_all_user_vault_items_endpoint_user_vault_get**](docs/EXTERNALApi.md#get_all_user_vault_items_endpoint_user_vault_get) | **GET** /user_vault | Get All User Vault Items Endpoint
+*EXTERNALApi* | [**get_all_volumes_endpoint_volumes_get**](docs/EXTERNALApi.md#get_all_volumes_endpoint_volumes_get) | **GET** /volumes | Get All Volumes Endpoint
*EXTERNALApi* | [**get_clusters_clusters_get**](docs/EXTERNALApi.md#get_clusters_clusters_get) | **GET** /clusters | Get Clusters
*EXTERNALApi* | [**get_compute_deployment_deployments_compute_deployment_id_get**](docs/EXTERNALApi.md#get_compute_deployment_deployments_compute_deployment_id_get) | **GET** /deployments/compute/{deployment_id} | Get Compute Deployment
*EXTERNALApi* | [**get_credits_credits_get**](docs/EXTERNALApi.md#get_credits_credits_get) | **GET** /credits | Get Credits
@@ -130,6 +133,7 @@ Class | Method | HTTP request | Description
*EXTERNALApi* | [**get_prebuilt_images_prebuilt_images_get**](docs/EXTERNALApi.md#get_prebuilt_images_prebuilt_images_get) | **GET** /prebuilt-images | Get Prebuilt Images
*EXTERNALApi* | [**get_usage_daily_bills_get**](docs/EXTERNALApi.md#get_usage_daily_bills_get) | **GET** /daily_bills | Get Usage
*EXTERNALApi* | [**get_usage_deployments_usage_deployment_id_get**](docs/EXTERNALApi.md#get_usage_deployments_usage_deployment_id_get) | **GET** /deployments/usage/{deployment_id} | Get Usage
+*EXTERNALApi* | [**get_volume_endpoint_volumes_volume_id_get**](docs/EXTERNALApi.md#get_volume_endpoint_volumes_volume_id_get) | **GET** /volumes/{volume_id} | Get Volume Endpoint
*EXTERNALApi* | [**invite_user_organizations_invite_post**](docs/EXTERNALApi.md#invite_user_organizations_invite_post) | **POST** /organizations/invite | Invite User
*EXTERNALApi* | [**list_cluster_capacity_capacity_get**](docs/EXTERNALApi.md#list_cluster_capacity_capacity_get) | **GET** /capacity | List Cluster Capacity
*EXTERNALApi* | [**list_service_accounts_service_accounts_get**](docs/EXTERNALApi.md#list_service_accounts_service_accounts_get) | **GET** /service-accounts | List Service Accounts
@@ -163,6 +167,7 @@ Class | Method | HTTP request | Description
- [ClusterRegistrationRequest](docs/ClusterRegistrationRequest.md)
- [ClusterRegistrationResponse](docs/ClusterRegistrationResponse.md)
- [ConfigFileMount](docs/ConfigFileMount.md)
+ - [CreateBlockVolumeRequest](docs/CreateBlockVolumeRequest.md)
- [CreateCServeV2DeploymentResponse](docs/CreateCServeV2DeploymentResponse.md)
- [CreateCServeV3DeploymentRequest](docs/CreateCServeV3DeploymentRequest.md)
- [CreateCServeV3DeploymentResponse](docs/CreateCServeV3DeploymentResponse.md)
@@ -173,10 +178,12 @@ Class | Method | HTTP request | Description
- [CreateInferenceV3DeploymentRequest](docs/CreateInferenceV3DeploymentRequest.md)
- [CreateJobDeploymentRequest](docs/CreateJobDeploymentRequest.md)
- [CreateJobDeploymentResponse](docs/CreateJobDeploymentResponse.md)
+ - [CreateObjectVolumeRequest](docs/CreateObjectVolumeRequest.md)
- [CreateOrganizationRequest](docs/CreateOrganizationRequest.md)
- [CreateOrganizationResponse](docs/CreateOrganizationResponse.md)
- [CreateServiceAccountRequest](docs/CreateServiceAccountRequest.md)
- [CreateServiceAccountResponse](docs/CreateServiceAccountResponse.md)
+ - [CreateVolumeRequest](docs/CreateVolumeRequest.md)
- [CreditsResponse](docs/CreditsResponse.md)
- [DailyBillResponse](docs/DailyBillResponse.md)
- [DeploymentResponse](docs/DeploymentResponse.md)
@@ -191,6 +198,7 @@ Class | Method | HTTP request | Description
- [FinalStack](docs/FinalStack.md)
- [FluentBit](docs/FluentBit.md)
- [GenerateServiceAccountSecretResponse](docs/GenerateServiceAccountSecretResponse.md)
+ - [GetBlockVolumeResponse](docs/GetBlockVolumeResponse.md)
- [GetCServeV2DeploymentResponse](docs/GetCServeV2DeploymentResponse.md)
- [GetCServeV3DeploymentResponse](docs/GetCServeV3DeploymentResponse.md)
- [GetClusterResponse](docs/GetClusterResponse.md)
@@ -202,6 +210,8 @@ Class | Method | HTTP request | Description
- [GetInferenceDeploymentResponse](docs/GetInferenceDeploymentResponse.md)
- [GetInferenceV3DeploymentResponse](docs/GetInferenceV3DeploymentResponse.md)
- [GetJobDeploymentResponse](docs/GetJobDeploymentResponse.md)
+ - [GetObjectVolumeResponse](docs/GetObjectVolumeResponse.md)
+ - [GetVolumeResponse](docs/GetVolumeResponse.md)
- [GpuOperator](docs/GpuOperator.md)
- [GpuTypeCapacity](docs/GpuTypeCapacity.md)
- [HTTPValidationError](docs/HTTPValidationError.md)
@@ -225,11 +235,13 @@ Class | Method | HTTP request | Description
- [ListPrebuiltImageResponse](docs/ListPrebuiltImageResponse.md)
- [ListServiceAccountsResponse](docs/ListServiceAccountsResponse.md)
- [ListUserVaultItemsResponse](docs/ListUserVaultItemsResponse.md)
+ - [ListVolumesResponse](docs/ListVolumesResponse.md)
- [Longhorn](docs/Longhorn.md)
- [Metric](docs/Metric.md)
- [MetricsConfig](docs/MetricsConfig.md)
- [MetricsServer](docs/MetricsServer.md)
- [NetworkOperator](docs/NetworkOperator.md)
+ - [ObjectStorageProvider](docs/ObjectStorageProvider.md)
- [OpentelemetryCollector](docs/OpentelemetryCollector.md)
- [PodDetails](docs/PodDetails.md)
- [PodStatus](docs/PodStatus.md)
@@ -251,6 +263,8 @@ Class | Method | HTTP request | Description
- [ValidationError](docs/ValidationError.md)
- [ValidationErrorLocInner](docs/ValidationErrorLocInner.md)
- [VaultScope](docs/VaultScope.md)
+ - [VolumeAccessMode](docs/VolumeAccessMode.md)
+ - [VolumeStatus](docs/VolumeStatus.md)
diff --git a/docs/CreateBlockVolumeRequest.md b/docs/CreateBlockVolumeRequest.md
new file mode 100644
index 0000000..9b09235
--- /dev/null
+++ b/docs/CreateBlockVolumeRequest.md
@@ -0,0 +1,32 @@
+# CreateBlockVolumeRequest
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**name** | **str** | |
+**cluster_id** | **int** | |
+**backend** | **str** | |
+**size_gb** | **int** | | [optional] [default to 100]
+
+## Example
+
+```python
+from platform_api_python_client.models.create_block_volume_request import CreateBlockVolumeRequest
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of CreateBlockVolumeRequest from a JSON string
+create_block_volume_request_instance = CreateBlockVolumeRequest.from_json(json)
+# print the JSON string representation of the object
+print(CreateBlockVolumeRequest.to_json())
+
+# convert the object into a dict
+create_block_volume_request_dict = create_block_volume_request_instance.to_dict()
+# create an instance of CreateBlockVolumeRequest from a dict
+create_block_volume_request_from_dict = CreateBlockVolumeRequest.from_dict(create_block_volume_request_dict)
+```
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/CreateObjectVolumeRequest.md b/docs/CreateObjectVolumeRequest.md
new file mode 100644
index 0000000..62a8752
--- /dev/null
+++ b/docs/CreateObjectVolumeRequest.md
@@ -0,0 +1,38 @@
+# CreateObjectVolumeRequest
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**name** | **str** | |
+**cluster_id** | **int** | |
+**backend** | **str** | |
+**provider** | [**ObjectStorageProvider**](ObjectStorageProvider.md) | | [optional]
+**bucket** | **str** | |
+**region** | **str** | |
+**prefix** | **str** | | [optional]
+**read_only** | **bool** | | [optional] [default to False]
+**volume_attributes** | **Dict[str, str]** | | [optional]
+**mount_options** | **List[str]** | | [optional]
+
+## Example
+
+```python
+from platform_api_python_client.models.create_object_volume_request import CreateObjectVolumeRequest
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of CreateObjectVolumeRequest from a JSON string
+create_object_volume_request_instance = CreateObjectVolumeRequest.from_json(json)
+# print the JSON string representation of the object
+print(CreateObjectVolumeRequest.to_json())
+
+# convert the object into a dict
+create_object_volume_request_dict = create_object_volume_request_instance.to_dict()
+# create an instance of CreateObjectVolumeRequest from a dict
+create_object_volume_request_from_dict = CreateObjectVolumeRequest.from_dict(create_object_volume_request_dict)
+```
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/CreateVolumeRequest.md b/docs/CreateVolumeRequest.md
new file mode 100644
index 0000000..081b18b
--- /dev/null
+++ b/docs/CreateVolumeRequest.md
@@ -0,0 +1,39 @@
+# CreateVolumeRequest
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**name** | **str** | |
+**cluster_id** | **int** | |
+**backend** | **str** | |
+**size_gb** | **int** | | [optional] [default to 100]
+**provider** | [**ObjectStorageProvider**](ObjectStorageProvider.md) | | [optional]
+**bucket** | **str** | |
+**region** | **str** | |
+**prefix** | **str** | | [optional]
+**read_only** | **bool** | | [optional] [default to False]
+**volume_attributes** | **Dict[str, str]** | | [optional]
+**mount_options** | **List[str]** | | [optional]
+
+## Example
+
+```python
+from platform_api_python_client.models.create_volume_request import CreateVolumeRequest
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of CreateVolumeRequest from a JSON string
+create_volume_request_instance = CreateVolumeRequest.from_json(json)
+# print the JSON string representation of the object
+print(CreateVolumeRequest.to_json())
+
+# convert the object into a dict
+create_volume_request_dict = create_volume_request_instance.to_dict()
+# create an instance of CreateVolumeRequest from a dict
+create_volume_request_from_dict = CreateVolumeRequest.from_dict(create_volume_request_dict)
+```
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/EXTERNALApi.md b/docs/EXTERNALApi.md
index 7bb2979..d577046 100644
--- a/docs/EXTERNALApi.md
+++ b/docs/EXTERNALApi.md
@@ -14,12 +14,15 @@ Method | HTTP request | Description
[**create_job_deployment_deployments_job_post**](EXTERNALApi.md#create_job_deployment_deployments_job_post) | **POST** /deployments/job | Create Job Deployment
[**create_new_organization_organizations_post**](EXTERNALApi.md#create_new_organization_organizations_post) | **POST** /organizations | Create New Organization
[**create_service_account_service_accounts_post**](EXTERNALApi.md#create_service_account_service_accounts_post) | **POST** /service-accounts | Create Service Account
+[**create_volume_endpoint_volumes_post**](EXTERNALApi.md#create_volume_endpoint_volumes_post) | **POST** /volumes | Create Volume Endpoint
[**delete_cluster_clusters_cluster_id_delete**](EXTERNALApi.md#delete_cluster_clusters_cluster_id_delete) | **DELETE** /clusters/{cluster_id} | Delete Cluster
[**delete_hardware_instance_hardware_instances_hardware_instance_id_delete**](EXTERNALApi.md#delete_hardware_instance_hardware_instances_hardware_instance_id_delete) | **DELETE** /hardware-instances/{hardware_instance_id} | Delete Hardware Instance
[**delete_service_account_service_accounts_workos_id_delete**](EXTERNALApi.md#delete_service_account_service_accounts_workos_id_delete) | **DELETE** /service-accounts/{workos_id} | Delete Service Account
[**delete_user_vault_item_endpoint_user_vault_delete**](EXTERNALApi.md#delete_user_vault_item_endpoint_user_vault_delete) | **DELETE** /user_vault | Delete User Vault Item Endpoint
+[**delete_volume_endpoint_volumes_volume_id_delete**](EXTERNALApi.md#delete_volume_endpoint_volumes_volume_id_delete) | **DELETE** /volumes/{volume_id} | Delete Volume Endpoint
[**generate_service_account_secret_service_accounts_workos_id_secrets_post**](EXTERNALApi.md#generate_service_account_secret_service_accounts_workos_id_secrets_post) | **POST** /service-accounts/{workos_id}/secrets | Generate Service Account Secret
[**get_all_user_vault_items_endpoint_user_vault_get**](EXTERNALApi.md#get_all_user_vault_items_endpoint_user_vault_get) | **GET** /user_vault | Get All User Vault Items Endpoint
+[**get_all_volumes_endpoint_volumes_get**](EXTERNALApi.md#get_all_volumes_endpoint_volumes_get) | **GET** /volumes | Get All Volumes Endpoint
[**get_clusters_clusters_get**](EXTERNALApi.md#get_clusters_clusters_get) | **GET** /clusters | Get Clusters
[**get_compute_deployment_deployments_compute_deployment_id_get**](EXTERNALApi.md#get_compute_deployment_deployments_compute_deployment_id_get) | **GET** /deployments/compute/{deployment_id} | Get Compute Deployment
[**get_credits_credits_get**](EXTERNALApi.md#get_credits_credits_get) | **GET** /credits | Get Credits
@@ -40,6 +43,7 @@ Method | HTTP request | Description
[**get_prebuilt_images_prebuilt_images_get**](EXTERNALApi.md#get_prebuilt_images_prebuilt_images_get) | **GET** /prebuilt-images | Get Prebuilt Images
[**get_usage_daily_bills_get**](EXTERNALApi.md#get_usage_daily_bills_get) | **GET** /daily_bills | Get Usage
[**get_usage_deployments_usage_deployment_id_get**](EXTERNALApi.md#get_usage_deployments_usage_deployment_id_get) | **GET** /deployments/usage/{deployment_id} | Get Usage
+[**get_volume_endpoint_volumes_volume_id_get**](EXTERNALApi.md#get_volume_endpoint_volumes_volume_id_get) | **GET** /volumes/{volume_id} | Get Volume Endpoint
[**invite_user_organizations_invite_post**](EXTERNALApi.md#invite_user_organizations_invite_post) | **POST** /organizations/invite | Invite User
[**list_cluster_capacity_capacity_get**](EXTERNALApi.md#list_cluster_capacity_capacity_get) | **GET** /capacity | List Cluster Capacity
[**list_service_accounts_service_accounts_get**](EXTERNALApi.md#list_service_accounts_service_accounts_get) | **GET** /service-accounts | List Service Accounts
@@ -789,6 +793,86 @@ Name | Type | Description | Notes
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+# **create_volume_endpoint_volumes_post**
+> GetVolumeResponse create_volume_endpoint_volumes_post(create_volume_request)
+
+Create Volume Endpoint
+
+Create a volume. The backend field selects block (RWO) or object (RWX) storage.
+
+### Example
+
+* Bearer Authentication (HTTPBearer):
+
+```python
+import platform_api_python_client
+from platform_api_python_client.models.create_volume_request import CreateVolumeRequest
+from platform_api_python_client.models.get_volume_response import GetVolumeResponse
+from platform_api_python_client.rest import ApiException
+from pprint import pprint
+
+# Defining the host is optional and defaults to http://localhost
+# See configuration.py for a list of all supported configuration parameters.
+configuration = platform_api_python_client.Configuration(
+ host = "http://localhost"
+)
+
+# The client must configure the authentication and authorization parameters
+# in accordance with the API server security policy.
+# Examples for each auth method are provided below, use the example that
+# satisfies your auth use case.
+
+# Configure Bearer authorization: HTTPBearer
+configuration = platform_api_python_client.Configuration(
+ access_token = os.environ["BEARER_TOKEN"]
+)
+
+# Enter a context with an instance of the API client
+with platform_api_python_client.ApiClient(configuration) as api_client:
+ # Create an instance of the API class
+ api_instance = platform_api_python_client.EXTERNALApi(api_client)
+ create_volume_request = platform_api_python_client.CreateVolumeRequest() # CreateVolumeRequest |
+
+ try:
+ # Create Volume Endpoint
+ api_response = api_instance.create_volume_endpoint_volumes_post(create_volume_request)
+ print("The response of EXTERNALApi->create_volume_endpoint_volumes_post:\n")
+ pprint(api_response)
+ except Exception as e:
+ print("Exception when calling EXTERNALApi->create_volume_endpoint_volumes_post: %s\n" % e)
+```
+
+
+
+### Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **create_volume_request** | [**CreateVolumeRequest**](CreateVolumeRequest.md)| |
+
+### Return type
+
+[**GetVolumeResponse**](GetVolumeResponse.md)
+
+### Authorization
+
+[HTTPBearer](../README.md#HTTPBearer)
+
+### HTTP request headers
+
+ - **Content-Type**: application/json
+ - **Accept**: application/json
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Successful Response | - |
+**422** | Validation Error | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
# **delete_cluster_clusters_cluster_id_delete**
> object delete_cluster_clusters_cluster_id_delete(cluster_id)
@@ -1092,6 +1176,84 @@ Name | Type | Description | Notes
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+# **delete_volume_endpoint_volumes_volume_id_delete**
+> object delete_volume_endpoint_volumes_volume_id_delete(volume_id)
+
+Delete Volume Endpoint
+
+Delete a volume. Only the owner or an admin with admin:manage_volumes may delete.
+
+### Example
+
+* Bearer Authentication (HTTPBearer):
+
+```python
+import platform_api_python_client
+from platform_api_python_client.rest import ApiException
+from pprint import pprint
+
+# Defining the host is optional and defaults to http://localhost
+# See configuration.py for a list of all supported configuration parameters.
+configuration = platform_api_python_client.Configuration(
+ host = "http://localhost"
+)
+
+# The client must configure the authentication and authorization parameters
+# in accordance with the API server security policy.
+# Examples for each auth method are provided below, use the example that
+# satisfies your auth use case.
+
+# Configure Bearer authorization: HTTPBearer
+configuration = platform_api_python_client.Configuration(
+ access_token = os.environ["BEARER_TOKEN"]
+)
+
+# Enter a context with an instance of the API client
+with platform_api_python_client.ApiClient(configuration) as api_client:
+ # Create an instance of the API class
+ api_instance = platform_api_python_client.EXTERNALApi(api_client)
+ volume_id = 56 # int |
+
+ try:
+ # Delete Volume Endpoint
+ api_response = api_instance.delete_volume_endpoint_volumes_volume_id_delete(volume_id)
+ print("The response of EXTERNALApi->delete_volume_endpoint_volumes_volume_id_delete:\n")
+ pprint(api_response)
+ except Exception as e:
+ print("Exception when calling EXTERNALApi->delete_volume_endpoint_volumes_volume_id_delete: %s\n" % e)
+```
+
+
+
+### Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **volume_id** | **int**| |
+
+### Return type
+
+**object**
+
+### Authorization
+
+[HTTPBearer](../README.md#HTTPBearer)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Successful Response | - |
+**422** | Validation Error | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
# **generate_service_account_secret_service_accounts_workos_id_secrets_post**
> GenerateServiceAccountSecretResponse generate_service_account_secret_service_accounts_workos_id_secrets_post(workos_id)
@@ -1251,6 +1413,80 @@ Name | Type | Description | Notes
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+# **get_all_volumes_endpoint_volumes_get**
+> ListVolumesResponse get_all_volumes_endpoint_volumes_get()
+
+Get All Volumes Endpoint
+
+Retrieve all of the organization's volumes.
+
+### Example
+
+* Bearer Authentication (HTTPBearer):
+
+```python
+import platform_api_python_client
+from platform_api_python_client.models.list_volumes_response import ListVolumesResponse
+from platform_api_python_client.rest import ApiException
+from pprint import pprint
+
+# Defining the host is optional and defaults to http://localhost
+# See configuration.py for a list of all supported configuration parameters.
+configuration = platform_api_python_client.Configuration(
+ host = "http://localhost"
+)
+
+# The client must configure the authentication and authorization parameters
+# in accordance with the API server security policy.
+# Examples for each auth method are provided below, use the example that
+# satisfies your auth use case.
+
+# Configure Bearer authorization: HTTPBearer
+configuration = platform_api_python_client.Configuration(
+ access_token = os.environ["BEARER_TOKEN"]
+)
+
+# Enter a context with an instance of the API client
+with platform_api_python_client.ApiClient(configuration) as api_client:
+ # Create an instance of the API class
+ api_instance = platform_api_python_client.EXTERNALApi(api_client)
+
+ try:
+ # Get All Volumes Endpoint
+ api_response = api_instance.get_all_volumes_endpoint_volumes_get()
+ print("The response of EXTERNALApi->get_all_volumes_endpoint_volumes_get:\n")
+ pprint(api_response)
+ except Exception as e:
+ print("Exception when calling EXTERNALApi->get_all_volumes_endpoint_volumes_get: %s\n" % e)
+```
+
+
+
+### Parameters
+
+This endpoint does not need any parameter.
+
+### Return type
+
+[**ListVolumesResponse**](ListVolumesResponse.md)
+
+### Authorization
+
+[HTTPBearer](../README.md#HTTPBearer)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Successful Response | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
# **get_clusters_clusters_get**
> ListGetClusterResponse get_clusters_clusters_get()
@@ -2830,6 +3066,85 @@ Name | Type | Description | Notes
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+# **get_volume_endpoint_volumes_volume_id_get**
+> GetVolumeResponse get_volume_endpoint_volumes_volume_id_get(volume_id)
+
+Get Volume Endpoint
+
+Retrieve a single volume by id.
+
+### Example
+
+* Bearer Authentication (HTTPBearer):
+
+```python
+import platform_api_python_client
+from platform_api_python_client.models.get_volume_response import GetVolumeResponse
+from platform_api_python_client.rest import ApiException
+from pprint import pprint
+
+# Defining the host is optional and defaults to http://localhost
+# See configuration.py for a list of all supported configuration parameters.
+configuration = platform_api_python_client.Configuration(
+ host = "http://localhost"
+)
+
+# The client must configure the authentication and authorization parameters
+# in accordance with the API server security policy.
+# Examples for each auth method are provided below, use the example that
+# satisfies your auth use case.
+
+# Configure Bearer authorization: HTTPBearer
+configuration = platform_api_python_client.Configuration(
+ access_token = os.environ["BEARER_TOKEN"]
+)
+
+# Enter a context with an instance of the API client
+with platform_api_python_client.ApiClient(configuration) as api_client:
+ # Create an instance of the API class
+ api_instance = platform_api_python_client.EXTERNALApi(api_client)
+ volume_id = 56 # int |
+
+ try:
+ # Get Volume Endpoint
+ api_response = api_instance.get_volume_endpoint_volumes_volume_id_get(volume_id)
+ print("The response of EXTERNALApi->get_volume_endpoint_volumes_volume_id_get:\n")
+ pprint(api_response)
+ except Exception as e:
+ print("Exception when calling EXTERNALApi->get_volume_endpoint_volumes_volume_id_get: %s\n" % e)
+```
+
+
+
+### Parameters
+
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **volume_id** | **int**| |
+
+### Return type
+
+[**GetVolumeResponse**](GetVolumeResponse.md)
+
+### Authorization
+
+[HTTPBearer](../README.md#HTTPBearer)
+
+### HTTP request headers
+
+ - **Content-Type**: Not defined
+ - **Accept**: application/json
+
+### HTTP response details
+
+| Status code | Description | Response headers |
+|-------------|-------------|------------------|
+**200** | Successful Response | - |
+**422** | Validation Error | - |
+
+[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
+
# **invite_user_organizations_invite_post**
> object invite_user_organizations_invite_post(invite_user_request)
diff --git a/docs/GetBlockVolumeResponse.md b/docs/GetBlockVolumeResponse.md
new file mode 100644
index 0000000..2e9cb9f
--- /dev/null
+++ b/docs/GetBlockVolumeResponse.md
@@ -0,0 +1,37 @@
+# GetBlockVolumeResponse
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **int** | |
+**name** | **str** | |
+**cluster_id** | **int** | |
+**backend** | **str** | |
+**access_mode** | [**VolumeAccessMode**](VolumeAccessMode.md) | |
+**status** | [**VolumeStatus**](VolumeStatus.md) | |
+**pvc_name** | **str** | |
+**created_at** | **datetime** | |
+**size_gb** | **int** | |
+
+## Example
+
+```python
+from platform_api_python_client.models.get_block_volume_response import GetBlockVolumeResponse
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of GetBlockVolumeResponse from a JSON string
+get_block_volume_response_instance = GetBlockVolumeResponse.from_json(json)
+# print the JSON string representation of the object
+print(GetBlockVolumeResponse.to_json())
+
+# convert the object into a dict
+get_block_volume_response_dict = get_block_volume_response_instance.to_dict()
+# create an instance of GetBlockVolumeResponse from a dict
+get_block_volume_response_from_dict = GetBlockVolumeResponse.from_dict(get_block_volume_response_dict)
+```
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/GetObjectVolumeResponse.md b/docs/GetObjectVolumeResponse.md
new file mode 100644
index 0000000..18618c7
--- /dev/null
+++ b/docs/GetObjectVolumeResponse.md
@@ -0,0 +1,43 @@
+# GetObjectVolumeResponse
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **int** | |
+**name** | **str** | |
+**cluster_id** | **int** | |
+**backend** | **str** | |
+**access_mode** | [**VolumeAccessMode**](VolumeAccessMode.md) | |
+**status** | [**VolumeStatus**](VolumeStatus.md) | |
+**pvc_name** | **str** | |
+**created_at** | **datetime** | |
+**provider** | [**ObjectStorageProvider**](ObjectStorageProvider.md) | |
+**bucket** | **str** | |
+**region** | **str** | |
+**prefix** | **str** | | [optional]
+**read_only** | **bool** | |
+**volume_attributes** | **Dict[str, str]** | | [optional]
+**mount_options** | **List[str]** | | [optional]
+
+## Example
+
+```python
+from platform_api_python_client.models.get_object_volume_response import GetObjectVolumeResponse
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of GetObjectVolumeResponse from a JSON string
+get_object_volume_response_instance = GetObjectVolumeResponse.from_json(json)
+# print the JSON string representation of the object
+print(GetObjectVolumeResponse.to_json())
+
+# convert the object into a dict
+get_object_volume_response_dict = get_object_volume_response_instance.to_dict()
+# create an instance of GetObjectVolumeResponse from a dict
+get_object_volume_response_from_dict = GetObjectVolumeResponse.from_dict(get_object_volume_response_dict)
+```
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/GetVolumeResponse.md b/docs/GetVolumeResponse.md
new file mode 100644
index 0000000..b81cd75
--- /dev/null
+++ b/docs/GetVolumeResponse.md
@@ -0,0 +1,44 @@
+# GetVolumeResponse
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **int** | |
+**name** | **str** | |
+**cluster_id** | **int** | |
+**backend** | **str** | |
+**access_mode** | [**VolumeAccessMode**](VolumeAccessMode.md) | |
+**status** | [**VolumeStatus**](VolumeStatus.md) | |
+**pvc_name** | **str** | |
+**created_at** | **datetime** | |
+**size_gb** | **int** | |
+**provider** | [**ObjectStorageProvider**](ObjectStorageProvider.md) | |
+**bucket** | **str** | |
+**region** | **str** | |
+**prefix** | **str** | | [optional]
+**read_only** | **bool** | |
+**volume_attributes** | **Dict[str, str]** | | [optional]
+**mount_options** | **List[str]** | | [optional]
+
+## Example
+
+```python
+from platform_api_python_client.models.get_volume_response import GetVolumeResponse
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of GetVolumeResponse from a JSON string
+get_volume_response_instance = GetVolumeResponse.from_json(json)
+# print the JSON string representation of the object
+print(GetVolumeResponse.to_json())
+
+# convert the object into a dict
+get_volume_response_dict = get_volume_response_instance.to_dict()
+# create an instance of GetVolumeResponse from a dict
+get_volume_response_from_dict = GetVolumeResponse.from_dict(get_volume_response_dict)
+```
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/ListVolumesResponse.md b/docs/ListVolumesResponse.md
new file mode 100644
index 0000000..9032130
--- /dev/null
+++ b/docs/ListVolumesResponse.md
@@ -0,0 +1,29 @@
+# ListVolumesResponse
+
+
+## Properties
+
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**results** | [**List[GetVolumeResponse]**](GetVolumeResponse.md) | |
+
+## Example
+
+```python
+from platform_api_python_client.models.list_volumes_response import ListVolumesResponse
+
+# TODO update the JSON string below
+json = "{}"
+# create an instance of ListVolumesResponse from a JSON string
+list_volumes_response_instance = ListVolumesResponse.from_json(json)
+# print the JSON string representation of the object
+print(ListVolumesResponse.to_json())
+
+# convert the object into a dict
+list_volumes_response_dict = list_volumes_response_instance.to_dict()
+# create an instance of ListVolumesResponse from a dict
+list_volumes_response_from_dict = ListVolumesResponse.from_dict(list_volumes_response_dict)
+```
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/ObjectStorageProvider.md b/docs/ObjectStorageProvider.md
new file mode 100644
index 0000000..62de698
--- /dev/null
+++ b/docs/ObjectStorageProvider.md
@@ -0,0 +1,10 @@
+# ObjectStorageProvider
+
+
+## Enum
+
+* `S3` (value: `'s3'`)
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/VolumeAccessMode.md b/docs/VolumeAccessMode.md
new file mode 100644
index 0000000..48ac1f5
--- /dev/null
+++ b/docs/VolumeAccessMode.md
@@ -0,0 +1,12 @@
+# VolumeAccessMode
+
+
+## Enum
+
+* `READWRITEONCE` (value: `'ReadWriteOnce'`)
+
+* `READWRITEMANY` (value: `'ReadWriteMany'`)
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/docs/VolumeStatus.md b/docs/VolumeStatus.md
new file mode 100644
index 0000000..613b592
--- /dev/null
+++ b/docs/VolumeStatus.md
@@ -0,0 +1,12 @@
+# VolumeStatus
+
+
+## Enum
+
+* `ACTIVE` (value: `'active'`)
+
+* `DELETED` (value: `'deleted'`)
+
+[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+
+
diff --git a/platform_api_python_client/__init__.py b/platform_api_python_client/__init__.py
index 33bfabf..19d6e3d 100644
--- a/platform_api_python_client/__init__.py
+++ b/platform_api_python_client/__init__.py
@@ -14,7 +14,7 @@
""" # noqa: E501
-__version__ = "4.19.0"
+__version__ = "4.20.0"
# import apis into sdk package
from platform_api_python_client.api.external_api import EXTERNALApi
@@ -45,6 +45,7 @@
from platform_api_python_client.models.cluster_registration_request import ClusterRegistrationRequest
from platform_api_python_client.models.cluster_registration_response import ClusterRegistrationResponse
from platform_api_python_client.models.config_file_mount import ConfigFileMount
+from platform_api_python_client.models.create_block_volume_request import CreateBlockVolumeRequest
from platform_api_python_client.models.create_c_serve_v2_deployment_response import CreateCServeV2DeploymentResponse
from platform_api_python_client.models.create_c_serve_v3_deployment_request import CreateCServeV3DeploymentRequest
from platform_api_python_client.models.create_c_serve_v3_deployment_response import CreateCServeV3DeploymentResponse
@@ -55,10 +56,12 @@
from platform_api_python_client.models.create_inference_v3_deployment_request import CreateInferenceV3DeploymentRequest
from platform_api_python_client.models.create_job_deployment_request import CreateJobDeploymentRequest
from platform_api_python_client.models.create_job_deployment_response import CreateJobDeploymentResponse
+from platform_api_python_client.models.create_object_volume_request import CreateObjectVolumeRequest
from platform_api_python_client.models.create_organization_request import CreateOrganizationRequest
from platform_api_python_client.models.create_organization_response import CreateOrganizationResponse
from platform_api_python_client.models.create_service_account_request import CreateServiceAccountRequest
from platform_api_python_client.models.create_service_account_response import CreateServiceAccountResponse
+from platform_api_python_client.models.create_volume_request import CreateVolumeRequest
from platform_api_python_client.models.credits_response import CreditsResponse
from platform_api_python_client.models.daily_bill_response import DailyBillResponse
from platform_api_python_client.models.deployment_response import DeploymentResponse
@@ -73,6 +76,7 @@
from platform_api_python_client.models.final_stack import FinalStack
from platform_api_python_client.models.fluent_bit import FluentBit
from platform_api_python_client.models.generate_service_account_secret_response import GenerateServiceAccountSecretResponse
+from platform_api_python_client.models.get_block_volume_response import GetBlockVolumeResponse
from platform_api_python_client.models.get_c_serve_v2_deployment_response import GetCServeV2DeploymentResponse
from platform_api_python_client.models.get_c_serve_v3_deployment_response import GetCServeV3DeploymentResponse
from platform_api_python_client.models.get_cluster_response import GetClusterResponse
@@ -84,6 +88,8 @@
from platform_api_python_client.models.get_inference_deployment_response import GetInferenceDeploymentResponse
from platform_api_python_client.models.get_inference_v3_deployment_response import GetInferenceV3DeploymentResponse
from platform_api_python_client.models.get_job_deployment_response import GetJobDeploymentResponse
+from platform_api_python_client.models.get_object_volume_response import GetObjectVolumeResponse
+from platform_api_python_client.models.get_volume_response import GetVolumeResponse
from platform_api_python_client.models.gpu_operator import GpuOperator
from platform_api_python_client.models.gpu_type_capacity import GpuTypeCapacity
from platform_api_python_client.models.http_validation_error import HTTPValidationError
@@ -107,11 +113,13 @@
from platform_api_python_client.models.list_prebuilt_image_response import ListPrebuiltImageResponse
from platform_api_python_client.models.list_service_accounts_response import ListServiceAccountsResponse
from platform_api_python_client.models.list_user_vault_items_response import ListUserVaultItemsResponse
+from platform_api_python_client.models.list_volumes_response import ListVolumesResponse
from platform_api_python_client.models.longhorn import Longhorn
from platform_api_python_client.models.metric import Metric
from platform_api_python_client.models.metrics_config import MetricsConfig
from platform_api_python_client.models.metrics_server import MetricsServer
from platform_api_python_client.models.network_operator import NetworkOperator
+from platform_api_python_client.models.object_storage_provider import ObjectStorageProvider
from platform_api_python_client.models.opentelemetry_collector import OpentelemetryCollector
from platform_api_python_client.models.pod_details import PodDetails
from platform_api_python_client.models.pod_status import PodStatus
@@ -133,3 +141,5 @@
from platform_api_python_client.models.validation_error import ValidationError
from platform_api_python_client.models.validation_error_loc_inner import ValidationErrorLocInner
from platform_api_python_client.models.vault_scope import VaultScope
+from platform_api_python_client.models.volume_access_mode import VolumeAccessMode
+from platform_api_python_client.models.volume_status import VolumeStatus
diff --git a/platform_api_python_client/api/external_api.py b/platform_api_python_client/api/external_api.py
index c3a504d..e2105b1 100644
--- a/platform_api_python_client/api/external_api.py
+++ b/platform_api_python_client/api/external_api.py
@@ -36,6 +36,7 @@
from platform_api_python_client.models.create_organization_response import CreateOrganizationResponse
from platform_api_python_client.models.create_service_account_request import CreateServiceAccountRequest
from platform_api_python_client.models.create_service_account_response import CreateServiceAccountResponse
+from platform_api_python_client.models.create_volume_request import CreateVolumeRequest
from platform_api_python_client.models.credits_response import CreditsResponse
from platform_api_python_client.models.deployment_status_request import DeploymentStatusRequest
from platform_api_python_client.models.deployment_status_response import DeploymentStatusResponse
@@ -51,6 +52,7 @@
from platform_api_python_client.models.get_inference_deployment_response import GetInferenceDeploymentResponse
from platform_api_python_client.models.get_inference_v3_deployment_response import GetInferenceV3DeploymentResponse
from platform_api_python_client.models.get_job_deployment_response import GetJobDeploymentResponse
+from platform_api_python_client.models.get_volume_response import GetVolumeResponse
from platform_api_python_client.models.hardware_instance_response import HardwareInstanceResponse
from platform_api_python_client.models.invite_user_request import InviteUserRequest
from platform_api_python_client.models.list_c_serve_recipe_response import ListCServeRecipeResponse
@@ -63,6 +65,7 @@
from platform_api_python_client.models.list_prebuilt_image_response import ListPrebuiltImageResponse
from platform_api_python_client.models.list_service_accounts_response import ListServiceAccountsResponse
from platform_api_python_client.models.list_user_vault_items_response import ListUserVaultItemsResponse
+from platform_api_python_client.models.list_volumes_response import ListVolumesResponse
from platform_api_python_client.models.metric import Metric
from platform_api_python_client.models.rollout_strategy_params import RolloutStrategyParams
from platform_api_python_client.models.service_account_response import ServiceAccountResponse
@@ -2743,6 +2746,283 @@ def _create_service_account_service_accounts_post_serialize(
+ @validate_call
+ def create_volume_endpoint_volumes_post(
+ self,
+ create_volume_request: CreateVolumeRequest,
+ _request_timeout: Union[
+ None,
+ Annotated[StrictFloat, Field(gt=0)],
+ Tuple[
+ Annotated[StrictFloat, Field(gt=0)],
+ Annotated[StrictFloat, Field(gt=0)]
+ ]
+ ] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
+ ) -> GetVolumeResponse:
+ """Create Volume Endpoint
+
+ Create a volume. The backend field selects block (RWO) or object (RWX) storage.
+
+ :param create_volume_request: (required)
+ :type create_volume_request: CreateVolumeRequest
+ :param _request_timeout: timeout setting for this request. If one
+ number provided, it will be total request
+ timeout. It can also be a pair (tuple) of
+ (connection, read) timeouts.
+ :type _request_timeout: int, tuple(int, int), optional
+ :param _request_auth: set to override the auth_settings for an a single
+ request; this effectively ignores the
+ authentication in the spec for a single request.
+ :type _request_auth: dict, optional
+ :param _content_type: force content-type for the request.
+ :type _content_type: str, Optional
+ :param _headers: set to override the headers for a single
+ request; this effectively ignores the headers
+ in the spec for a single request.
+ :type _headers: dict, optional
+ :param _host_index: set to override the host_index for a single
+ request; this effectively ignores the host_index
+ in the spec for a single request.
+ :type _host_index: int, optional
+ :return: Returns the result object.
+ """ # noqa: E501
+
+ _param = self._create_volume_endpoint_volumes_post_serialize(
+ create_volume_request=create_volume_request,
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': "GetVolumeResponse",
+ '422': "HTTPValidationError",
+ }
+ response_data = self.api_client.call_api(
+ *_param,
+ _request_timeout=_request_timeout
+ )
+ response_data.read()
+ return self.api_client.response_deserialize(
+ response_data=response_data,
+ response_types_map=_response_types_map,
+ ).data
+
+
+ @validate_call
+ def create_volume_endpoint_volumes_post_with_http_info(
+ self,
+ create_volume_request: CreateVolumeRequest,
+ _request_timeout: Union[
+ None,
+ Annotated[StrictFloat, Field(gt=0)],
+ Tuple[
+ Annotated[StrictFloat, Field(gt=0)],
+ Annotated[StrictFloat, Field(gt=0)]
+ ]
+ ] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
+ ) -> ApiResponse[GetVolumeResponse]:
+ """Create Volume Endpoint
+
+ Create a volume. The backend field selects block (RWO) or object (RWX) storage.
+
+ :param create_volume_request: (required)
+ :type create_volume_request: CreateVolumeRequest
+ :param _request_timeout: timeout setting for this request. If one
+ number provided, it will be total request
+ timeout. It can also be a pair (tuple) of
+ (connection, read) timeouts.
+ :type _request_timeout: int, tuple(int, int), optional
+ :param _request_auth: set to override the auth_settings for an a single
+ request; this effectively ignores the
+ authentication in the spec for a single request.
+ :type _request_auth: dict, optional
+ :param _content_type: force content-type for the request.
+ :type _content_type: str, Optional
+ :param _headers: set to override the headers for a single
+ request; this effectively ignores the headers
+ in the spec for a single request.
+ :type _headers: dict, optional
+ :param _host_index: set to override the host_index for a single
+ request; this effectively ignores the host_index
+ in the spec for a single request.
+ :type _host_index: int, optional
+ :return: Returns the result object.
+ """ # noqa: E501
+
+ _param = self._create_volume_endpoint_volumes_post_serialize(
+ create_volume_request=create_volume_request,
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': "GetVolumeResponse",
+ '422': "HTTPValidationError",
+ }
+ response_data = self.api_client.call_api(
+ *_param,
+ _request_timeout=_request_timeout
+ )
+ response_data.read()
+ return self.api_client.response_deserialize(
+ response_data=response_data,
+ response_types_map=_response_types_map,
+ )
+
+
+ @validate_call
+ def create_volume_endpoint_volumes_post_without_preload_content(
+ self,
+ create_volume_request: CreateVolumeRequest,
+ _request_timeout: Union[
+ None,
+ Annotated[StrictFloat, Field(gt=0)],
+ Tuple[
+ Annotated[StrictFloat, Field(gt=0)],
+ Annotated[StrictFloat, Field(gt=0)]
+ ]
+ ] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
+ ) -> RESTResponseType:
+ """Create Volume Endpoint
+
+ Create a volume. The backend field selects block (RWO) or object (RWX) storage.
+
+ :param create_volume_request: (required)
+ :type create_volume_request: CreateVolumeRequest
+ :param _request_timeout: timeout setting for this request. If one
+ number provided, it will be total request
+ timeout. It can also be a pair (tuple) of
+ (connection, read) timeouts.
+ :type _request_timeout: int, tuple(int, int), optional
+ :param _request_auth: set to override the auth_settings for an a single
+ request; this effectively ignores the
+ authentication in the spec for a single request.
+ :type _request_auth: dict, optional
+ :param _content_type: force content-type for the request.
+ :type _content_type: str, Optional
+ :param _headers: set to override the headers for a single
+ request; this effectively ignores the headers
+ in the spec for a single request.
+ :type _headers: dict, optional
+ :param _host_index: set to override the host_index for a single
+ request; this effectively ignores the host_index
+ in the spec for a single request.
+ :type _host_index: int, optional
+ :return: Returns the result object.
+ """ # noqa: E501
+
+ _param = self._create_volume_endpoint_volumes_post_serialize(
+ create_volume_request=create_volume_request,
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': "GetVolumeResponse",
+ '422': "HTTPValidationError",
+ }
+ response_data = self.api_client.call_api(
+ *_param,
+ _request_timeout=_request_timeout
+ )
+ return response_data.response
+
+
+ def _create_volume_endpoint_volumes_post_serialize(
+ self,
+ create_volume_request,
+ _request_auth,
+ _content_type,
+ _headers,
+ _host_index,
+ ) -> RequestSerialized:
+
+ _host = None
+
+ _collection_formats: Dict[str, str] = {
+ }
+
+ _path_params: Dict[str, str] = {}
+ _query_params: List[Tuple[str, str]] = []
+ _header_params: Dict[str, Optional[str]] = _headers or {}
+ _form_params: List[Tuple[str, str]] = []
+ _files: Dict[
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
+ ] = {}
+ _body_params: Optional[bytes] = None
+
+ # process the path parameters
+ # process the query parameters
+ # process the header parameters
+ # process the form parameters
+ # process the body parameter
+ if create_volume_request is not None:
+ _body_params = create_volume_request
+
+
+ # set the HTTP header `Accept`
+ if 'Accept' not in _header_params:
+ _header_params['Accept'] = self.api_client.select_header_accept(
+ [
+ 'application/json'
+ ]
+ )
+
+ # set the HTTP header `Content-Type`
+ if _content_type:
+ _header_params['Content-Type'] = _content_type
+ else:
+ _default_content_type = (
+ self.api_client.select_header_content_type(
+ [
+ 'application/json'
+ ]
+ )
+ )
+ if _default_content_type is not None:
+ _header_params['Content-Type'] = _default_content_type
+
+ # authentication setting
+ _auth_settings: List[str] = [
+ 'HTTPBearer'
+ ]
+
+ return self.api_client.param_serialize(
+ method='POST',
+ resource_path='/volumes',
+ path_params=_path_params,
+ query_params=_query_params,
+ header_params=_header_params,
+ body=_body_params,
+ post_params=_form_params,
+ files=_files,
+ auth_settings=_auth_settings,
+ collection_formats=_collection_formats,
+ _host=_host,
+ _request_auth=_request_auth
+ )
+
+
+
+
@validate_call
def delete_cluster_clusters_cluster_id_delete(
self,
@@ -3804,9 +4084,9 @@ def _delete_user_vault_item_endpoint_user_vault_delete_serialize(
@validate_call
- def generate_service_account_secret_service_accounts_workos_id_secrets_post(
+ def delete_volume_endpoint_volumes_volume_id_delete(
self,
- workos_id: StrictStr,
+ volume_id: StrictInt,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -3819,12 +4099,13 @@ def generate_service_account_secret_service_accounts_workos_id_secrets_post(
_content_type: Optional[StrictStr] = None,
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
- ) -> GenerateServiceAccountSecretResponse:
- """Generate Service Account Secret
+ ) -> object:
+ """Delete Volume Endpoint
+ Delete a volume. Only the owner or an admin with admin:manage_volumes may delete.
- :param workos_id: (required)
- :type workos_id: str
+ :param volume_id: (required)
+ :type volume_id: int
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -3847,8 +4128,8 @@ def generate_service_account_secret_service_accounts_workos_id_secrets_post(
:return: Returns the result object.
""" # noqa: E501
- _param = self._generate_service_account_secret_service_accounts_workos_id_secrets_post_serialize(
- workos_id=workos_id,
+ _param = self._delete_volume_endpoint_volumes_volume_id_delete_serialize(
+ volume_id=volume_id,
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -3856,7 +4137,7 @@ def generate_service_account_secret_service_accounts_workos_id_secrets_post(
)
_response_types_map: Dict[str, Optional[str]] = {
- '200': "GenerateServiceAccountSecretResponse",
+ '200': "object",
'422': "HTTPValidationError",
}
response_data = self.api_client.call_api(
@@ -3871,9 +4152,272 @@ def generate_service_account_secret_service_accounts_workos_id_secrets_post(
@validate_call
- def generate_service_account_secret_service_accounts_workos_id_secrets_post_with_http_info(
+ def delete_volume_endpoint_volumes_volume_id_delete_with_http_info(
self,
- workos_id: StrictStr,
+ volume_id: StrictInt,
+ _request_timeout: Union[
+ None,
+ Annotated[StrictFloat, Field(gt=0)],
+ Tuple[
+ Annotated[StrictFloat, Field(gt=0)],
+ Annotated[StrictFloat, Field(gt=0)]
+ ]
+ ] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
+ ) -> ApiResponse[object]:
+ """Delete Volume Endpoint
+
+ Delete a volume. Only the owner or an admin with admin:manage_volumes may delete.
+
+ :param volume_id: (required)
+ :type volume_id: int
+ :param _request_timeout: timeout setting for this request. If one
+ number provided, it will be total request
+ timeout. It can also be a pair (tuple) of
+ (connection, read) timeouts.
+ :type _request_timeout: int, tuple(int, int), optional
+ :param _request_auth: set to override the auth_settings for an a single
+ request; this effectively ignores the
+ authentication in the spec for a single request.
+ :type _request_auth: dict, optional
+ :param _content_type: force content-type for the request.
+ :type _content_type: str, Optional
+ :param _headers: set to override the headers for a single
+ request; this effectively ignores the headers
+ in the spec for a single request.
+ :type _headers: dict, optional
+ :param _host_index: set to override the host_index for a single
+ request; this effectively ignores the host_index
+ in the spec for a single request.
+ :type _host_index: int, optional
+ :return: Returns the result object.
+ """ # noqa: E501
+
+ _param = self._delete_volume_endpoint_volumes_volume_id_delete_serialize(
+ volume_id=volume_id,
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': "object",
+ '422': "HTTPValidationError",
+ }
+ response_data = self.api_client.call_api(
+ *_param,
+ _request_timeout=_request_timeout
+ )
+ response_data.read()
+ return self.api_client.response_deserialize(
+ response_data=response_data,
+ response_types_map=_response_types_map,
+ )
+
+
+ @validate_call
+ def delete_volume_endpoint_volumes_volume_id_delete_without_preload_content(
+ self,
+ volume_id: StrictInt,
+ _request_timeout: Union[
+ None,
+ Annotated[StrictFloat, Field(gt=0)],
+ Tuple[
+ Annotated[StrictFloat, Field(gt=0)],
+ Annotated[StrictFloat, Field(gt=0)]
+ ]
+ ] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
+ ) -> RESTResponseType:
+ """Delete Volume Endpoint
+
+ Delete a volume. Only the owner or an admin with admin:manage_volumes may delete.
+
+ :param volume_id: (required)
+ :type volume_id: int
+ :param _request_timeout: timeout setting for this request. If one
+ number provided, it will be total request
+ timeout. It can also be a pair (tuple) of
+ (connection, read) timeouts.
+ :type _request_timeout: int, tuple(int, int), optional
+ :param _request_auth: set to override the auth_settings for an a single
+ request; this effectively ignores the
+ authentication in the spec for a single request.
+ :type _request_auth: dict, optional
+ :param _content_type: force content-type for the request.
+ :type _content_type: str, Optional
+ :param _headers: set to override the headers for a single
+ request; this effectively ignores the headers
+ in the spec for a single request.
+ :type _headers: dict, optional
+ :param _host_index: set to override the host_index for a single
+ request; this effectively ignores the host_index
+ in the spec for a single request.
+ :type _host_index: int, optional
+ :return: Returns the result object.
+ """ # noqa: E501
+
+ _param = self._delete_volume_endpoint_volumes_volume_id_delete_serialize(
+ volume_id=volume_id,
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': "object",
+ '422': "HTTPValidationError",
+ }
+ response_data = self.api_client.call_api(
+ *_param,
+ _request_timeout=_request_timeout
+ )
+ return response_data.response
+
+
+ def _delete_volume_endpoint_volumes_volume_id_delete_serialize(
+ self,
+ volume_id,
+ _request_auth,
+ _content_type,
+ _headers,
+ _host_index,
+ ) -> RequestSerialized:
+
+ _host = None
+
+ _collection_formats: Dict[str, str] = {
+ }
+
+ _path_params: Dict[str, str] = {}
+ _query_params: List[Tuple[str, str]] = []
+ _header_params: Dict[str, Optional[str]] = _headers or {}
+ _form_params: List[Tuple[str, str]] = []
+ _files: Dict[
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
+ ] = {}
+ _body_params: Optional[bytes] = None
+
+ # process the path parameters
+ if volume_id is not None:
+ _path_params['volume_id'] = volume_id
+ # process the query parameters
+ # process the header parameters
+ # process the form parameters
+ # process the body parameter
+
+
+ # set the HTTP header `Accept`
+ if 'Accept' not in _header_params:
+ _header_params['Accept'] = self.api_client.select_header_accept(
+ [
+ 'application/json'
+ ]
+ )
+
+
+ # authentication setting
+ _auth_settings: List[str] = [
+ 'HTTPBearer'
+ ]
+
+ return self.api_client.param_serialize(
+ method='DELETE',
+ resource_path='/volumes/{volume_id}',
+ path_params=_path_params,
+ query_params=_query_params,
+ header_params=_header_params,
+ body=_body_params,
+ post_params=_form_params,
+ files=_files,
+ auth_settings=_auth_settings,
+ collection_formats=_collection_formats,
+ _host=_host,
+ _request_auth=_request_auth
+ )
+
+
+
+
+ @validate_call
+ def generate_service_account_secret_service_accounts_workos_id_secrets_post(
+ self,
+ workos_id: StrictStr,
+ _request_timeout: Union[
+ None,
+ Annotated[StrictFloat, Field(gt=0)],
+ Tuple[
+ Annotated[StrictFloat, Field(gt=0)],
+ Annotated[StrictFloat, Field(gt=0)]
+ ]
+ ] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
+ ) -> GenerateServiceAccountSecretResponse:
+ """Generate Service Account Secret
+
+
+ :param workos_id: (required)
+ :type workos_id: str
+ :param _request_timeout: timeout setting for this request. If one
+ number provided, it will be total request
+ timeout. It can also be a pair (tuple) of
+ (connection, read) timeouts.
+ :type _request_timeout: int, tuple(int, int), optional
+ :param _request_auth: set to override the auth_settings for an a single
+ request; this effectively ignores the
+ authentication in the spec for a single request.
+ :type _request_auth: dict, optional
+ :param _content_type: force content-type for the request.
+ :type _content_type: str, Optional
+ :param _headers: set to override the headers for a single
+ request; this effectively ignores the headers
+ in the spec for a single request.
+ :type _headers: dict, optional
+ :param _host_index: set to override the host_index for a single
+ request; this effectively ignores the host_index
+ in the spec for a single request.
+ :type _host_index: int, optional
+ :return: Returns the result object.
+ """ # noqa: E501
+
+ _param = self._generate_service_account_secret_service_accounts_workos_id_secrets_post_serialize(
+ workos_id=workos_id,
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': "GenerateServiceAccountSecretResponse",
+ '422': "HTTPValidationError",
+ }
+ response_data = self.api_client.call_api(
+ *_param,
+ _request_timeout=_request_timeout
+ )
+ response_data.read()
+ return self.api_client.response_deserialize(
+ response_data=response_data,
+ response_types_map=_response_types_map,
+ ).data
+
+
+ @validate_call
+ def generate_service_account_secret_service_accounts_workos_id_secrets_post_with_http_info(
+ self,
+ workos_id: StrictStr,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -4209,10 +4753,273 @@ def get_all_user_vault_items_endpoint_user_vault_get_with_http_info(
@validate_call
- def get_all_user_vault_items_endpoint_user_vault_get_without_preload_content(
+ def get_all_user_vault_items_endpoint_user_vault_get_without_preload_content(
+ self,
+ type: Optional[UserVaultType] = None,
+ search_query: Optional[StrictStr] = None,
+ _request_timeout: Union[
+ None,
+ Annotated[StrictFloat, Field(gt=0)],
+ Tuple[
+ Annotated[StrictFloat, Field(gt=0)],
+ Annotated[StrictFloat, Field(gt=0)]
+ ]
+ ] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
+ ) -> RESTResponseType:
+ """Get All User Vault Items Endpoint
+
+ Retrieve all items the user has access to (both USER and ORG scoped).
+
+ :param type:
+ :type type: UserVaultType
+ :param search_query:
+ :type search_query: str
+ :param _request_timeout: timeout setting for this request. If one
+ number provided, it will be total request
+ timeout. It can also be a pair (tuple) of
+ (connection, read) timeouts.
+ :type _request_timeout: int, tuple(int, int), optional
+ :param _request_auth: set to override the auth_settings for an a single
+ request; this effectively ignores the
+ authentication in the spec for a single request.
+ :type _request_auth: dict, optional
+ :param _content_type: force content-type for the request.
+ :type _content_type: str, Optional
+ :param _headers: set to override the headers for a single
+ request; this effectively ignores the headers
+ in the spec for a single request.
+ :type _headers: dict, optional
+ :param _host_index: set to override the host_index for a single
+ request; this effectively ignores the host_index
+ in the spec for a single request.
+ :type _host_index: int, optional
+ :return: Returns the result object.
+ """ # noqa: E501
+
+ _param = self._get_all_user_vault_items_endpoint_user_vault_get_serialize(
+ type=type,
+ search_query=search_query,
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': "ListUserVaultItemsResponse",
+ '422': "HTTPValidationError",
+ }
+ response_data = self.api_client.call_api(
+ *_param,
+ _request_timeout=_request_timeout
+ )
+ return response_data.response
+
+
+ def _get_all_user_vault_items_endpoint_user_vault_get_serialize(
+ self,
+ type,
+ search_query,
+ _request_auth,
+ _content_type,
+ _headers,
+ _host_index,
+ ) -> RequestSerialized:
+
+ _host = None
+
+ _collection_formats: Dict[str, str] = {
+ }
+
+ _path_params: Dict[str, str] = {}
+ _query_params: List[Tuple[str, str]] = []
+ _header_params: Dict[str, Optional[str]] = _headers or {}
+ _form_params: List[Tuple[str, str]] = []
+ _files: Dict[
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
+ ] = {}
+ _body_params: Optional[bytes] = None
+
+ # process the path parameters
+ # process the query parameters
+ if type is not None:
+
+ _query_params.append(('type', type.value))
+
+ if search_query is not None:
+
+ _query_params.append(('search_query', search_query))
+
+ # process the header parameters
+ # process the form parameters
+ # process the body parameter
+
+
+ # set the HTTP header `Accept`
+ if 'Accept' not in _header_params:
+ _header_params['Accept'] = self.api_client.select_header_accept(
+ [
+ 'application/json'
+ ]
+ )
+
+
+ # authentication setting
+ _auth_settings: List[str] = [
+ 'HTTPBearer'
+ ]
+
+ return self.api_client.param_serialize(
+ method='GET',
+ resource_path='/user_vault',
+ path_params=_path_params,
+ query_params=_query_params,
+ header_params=_header_params,
+ body=_body_params,
+ post_params=_form_params,
+ files=_files,
+ auth_settings=_auth_settings,
+ collection_formats=_collection_formats,
+ _host=_host,
+ _request_auth=_request_auth
+ )
+
+
+
+
+ @validate_call
+ def get_all_volumes_endpoint_volumes_get(
+ self,
+ _request_timeout: Union[
+ None,
+ Annotated[StrictFloat, Field(gt=0)],
+ Tuple[
+ Annotated[StrictFloat, Field(gt=0)],
+ Annotated[StrictFloat, Field(gt=0)]
+ ]
+ ] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
+ ) -> ListVolumesResponse:
+ """Get All Volumes Endpoint
+
+ Retrieve all of the organization's volumes.
+
+ :param _request_timeout: timeout setting for this request. If one
+ number provided, it will be total request
+ timeout. It can also be a pair (tuple) of
+ (connection, read) timeouts.
+ :type _request_timeout: int, tuple(int, int), optional
+ :param _request_auth: set to override the auth_settings for an a single
+ request; this effectively ignores the
+ authentication in the spec for a single request.
+ :type _request_auth: dict, optional
+ :param _content_type: force content-type for the request.
+ :type _content_type: str, Optional
+ :param _headers: set to override the headers for a single
+ request; this effectively ignores the headers
+ in the spec for a single request.
+ :type _headers: dict, optional
+ :param _host_index: set to override the host_index for a single
+ request; this effectively ignores the host_index
+ in the spec for a single request.
+ :type _host_index: int, optional
+ :return: Returns the result object.
+ """ # noqa: E501
+
+ _param = self._get_all_volumes_endpoint_volumes_get_serialize(
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': "ListVolumesResponse",
+ }
+ response_data = self.api_client.call_api(
+ *_param,
+ _request_timeout=_request_timeout
+ )
+ response_data.read()
+ return self.api_client.response_deserialize(
+ response_data=response_data,
+ response_types_map=_response_types_map,
+ ).data
+
+
+ @validate_call
+ def get_all_volumes_endpoint_volumes_get_with_http_info(
+ self,
+ _request_timeout: Union[
+ None,
+ Annotated[StrictFloat, Field(gt=0)],
+ Tuple[
+ Annotated[StrictFloat, Field(gt=0)],
+ Annotated[StrictFloat, Field(gt=0)]
+ ]
+ ] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
+ ) -> ApiResponse[ListVolumesResponse]:
+ """Get All Volumes Endpoint
+
+ Retrieve all of the organization's volumes.
+
+ :param _request_timeout: timeout setting for this request. If one
+ number provided, it will be total request
+ timeout. It can also be a pair (tuple) of
+ (connection, read) timeouts.
+ :type _request_timeout: int, tuple(int, int), optional
+ :param _request_auth: set to override the auth_settings for an a single
+ request; this effectively ignores the
+ authentication in the spec for a single request.
+ :type _request_auth: dict, optional
+ :param _content_type: force content-type for the request.
+ :type _content_type: str, Optional
+ :param _headers: set to override the headers for a single
+ request; this effectively ignores the headers
+ in the spec for a single request.
+ :type _headers: dict, optional
+ :param _host_index: set to override the host_index for a single
+ request; this effectively ignores the host_index
+ in the spec for a single request.
+ :type _host_index: int, optional
+ :return: Returns the result object.
+ """ # noqa: E501
+
+ _param = self._get_all_volumes_endpoint_volumes_get_serialize(
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': "ListVolumesResponse",
+ }
+ response_data = self.api_client.call_api(
+ *_param,
+ _request_timeout=_request_timeout
+ )
+ response_data.read()
+ return self.api_client.response_deserialize(
+ response_data=response_data,
+ response_types_map=_response_types_map,
+ )
+
+
+ @validate_call
+ def get_all_volumes_endpoint_volumes_get_without_preload_content(
self,
- type: Optional[UserVaultType] = None,
- search_query: Optional[StrictStr] = None,
_request_timeout: Union[
None,
Annotated[StrictFloat, Field(gt=0)],
@@ -4226,14 +5033,10 @@ def get_all_user_vault_items_endpoint_user_vault_get_without_preload_content(
_headers: Optional[Dict[StrictStr, Any]] = None,
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
) -> RESTResponseType:
- """Get All User Vault Items Endpoint
+ """Get All Volumes Endpoint
- Retrieve all items the user has access to (both USER and ORG scoped).
+ Retrieve all of the organization's volumes.
- :param type:
- :type type: UserVaultType
- :param search_query:
- :type search_query: str
:param _request_timeout: timeout setting for this request. If one
number provided, it will be total request
timeout. It can also be a pair (tuple) of
@@ -4256,9 +5059,7 @@ def get_all_user_vault_items_endpoint_user_vault_get_without_preload_content(
:return: Returns the result object.
""" # noqa: E501
- _param = self._get_all_user_vault_items_endpoint_user_vault_get_serialize(
- type=type,
- search_query=search_query,
+ _param = self._get_all_volumes_endpoint_volumes_get_serialize(
_request_auth=_request_auth,
_content_type=_content_type,
_headers=_headers,
@@ -4266,8 +5067,7 @@ def get_all_user_vault_items_endpoint_user_vault_get_without_preload_content(
)
_response_types_map: Dict[str, Optional[str]] = {
- '200': "ListUserVaultItemsResponse",
- '422': "HTTPValidationError",
+ '200': "ListVolumesResponse",
}
response_data = self.api_client.call_api(
*_param,
@@ -4276,10 +5076,8 @@ def get_all_user_vault_items_endpoint_user_vault_get_without_preload_content(
return response_data.response
- def _get_all_user_vault_items_endpoint_user_vault_get_serialize(
+ def _get_all_volumes_endpoint_volumes_get_serialize(
self,
- type,
- search_query,
_request_auth,
_content_type,
_headers,
@@ -4302,14 +5100,6 @@ def _get_all_user_vault_items_endpoint_user_vault_get_serialize(
# process the path parameters
# process the query parameters
- if type is not None:
-
- _query_params.append(('type', type.value))
-
- if search_query is not None:
-
- _query_params.append(('search_query', search_query))
-
# process the header parameters
# process the form parameters
# process the body parameter
@@ -4331,7 +5121,7 @@ def _get_all_user_vault_items_endpoint_user_vault_get_serialize(
return self.api_client.param_serialize(
method='GET',
- resource_path='/user_vault',
+ resource_path='/volumes',
path_params=_path_params,
query_params=_query_params,
header_params=_header_params,
@@ -9918,6 +10708,270 @@ def _get_usage_deployments_usage_deployment_id_get_serialize(
+ @validate_call
+ def get_volume_endpoint_volumes_volume_id_get(
+ self,
+ volume_id: StrictInt,
+ _request_timeout: Union[
+ None,
+ Annotated[StrictFloat, Field(gt=0)],
+ Tuple[
+ Annotated[StrictFloat, Field(gt=0)],
+ Annotated[StrictFloat, Field(gt=0)]
+ ]
+ ] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
+ ) -> GetVolumeResponse:
+ """Get Volume Endpoint
+
+ Retrieve a single volume by id.
+
+ :param volume_id: (required)
+ :type volume_id: int
+ :param _request_timeout: timeout setting for this request. If one
+ number provided, it will be total request
+ timeout. It can also be a pair (tuple) of
+ (connection, read) timeouts.
+ :type _request_timeout: int, tuple(int, int), optional
+ :param _request_auth: set to override the auth_settings for an a single
+ request; this effectively ignores the
+ authentication in the spec for a single request.
+ :type _request_auth: dict, optional
+ :param _content_type: force content-type for the request.
+ :type _content_type: str, Optional
+ :param _headers: set to override the headers for a single
+ request; this effectively ignores the headers
+ in the spec for a single request.
+ :type _headers: dict, optional
+ :param _host_index: set to override the host_index for a single
+ request; this effectively ignores the host_index
+ in the spec for a single request.
+ :type _host_index: int, optional
+ :return: Returns the result object.
+ """ # noqa: E501
+
+ _param = self._get_volume_endpoint_volumes_volume_id_get_serialize(
+ volume_id=volume_id,
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': "GetVolumeResponse",
+ '422': "HTTPValidationError",
+ }
+ response_data = self.api_client.call_api(
+ *_param,
+ _request_timeout=_request_timeout
+ )
+ response_data.read()
+ return self.api_client.response_deserialize(
+ response_data=response_data,
+ response_types_map=_response_types_map,
+ ).data
+
+
+ @validate_call
+ def get_volume_endpoint_volumes_volume_id_get_with_http_info(
+ self,
+ volume_id: StrictInt,
+ _request_timeout: Union[
+ None,
+ Annotated[StrictFloat, Field(gt=0)],
+ Tuple[
+ Annotated[StrictFloat, Field(gt=0)],
+ Annotated[StrictFloat, Field(gt=0)]
+ ]
+ ] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
+ ) -> ApiResponse[GetVolumeResponse]:
+ """Get Volume Endpoint
+
+ Retrieve a single volume by id.
+
+ :param volume_id: (required)
+ :type volume_id: int
+ :param _request_timeout: timeout setting for this request. If one
+ number provided, it will be total request
+ timeout. It can also be a pair (tuple) of
+ (connection, read) timeouts.
+ :type _request_timeout: int, tuple(int, int), optional
+ :param _request_auth: set to override the auth_settings for an a single
+ request; this effectively ignores the
+ authentication in the spec for a single request.
+ :type _request_auth: dict, optional
+ :param _content_type: force content-type for the request.
+ :type _content_type: str, Optional
+ :param _headers: set to override the headers for a single
+ request; this effectively ignores the headers
+ in the spec for a single request.
+ :type _headers: dict, optional
+ :param _host_index: set to override the host_index for a single
+ request; this effectively ignores the host_index
+ in the spec for a single request.
+ :type _host_index: int, optional
+ :return: Returns the result object.
+ """ # noqa: E501
+
+ _param = self._get_volume_endpoint_volumes_volume_id_get_serialize(
+ volume_id=volume_id,
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': "GetVolumeResponse",
+ '422': "HTTPValidationError",
+ }
+ response_data = self.api_client.call_api(
+ *_param,
+ _request_timeout=_request_timeout
+ )
+ response_data.read()
+ return self.api_client.response_deserialize(
+ response_data=response_data,
+ response_types_map=_response_types_map,
+ )
+
+
+ @validate_call
+ def get_volume_endpoint_volumes_volume_id_get_without_preload_content(
+ self,
+ volume_id: StrictInt,
+ _request_timeout: Union[
+ None,
+ Annotated[StrictFloat, Field(gt=0)],
+ Tuple[
+ Annotated[StrictFloat, Field(gt=0)],
+ Annotated[StrictFloat, Field(gt=0)]
+ ]
+ ] = None,
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
+ _content_type: Optional[StrictStr] = None,
+ _headers: Optional[Dict[StrictStr, Any]] = None,
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
+ ) -> RESTResponseType:
+ """Get Volume Endpoint
+
+ Retrieve a single volume by id.
+
+ :param volume_id: (required)
+ :type volume_id: int
+ :param _request_timeout: timeout setting for this request. If one
+ number provided, it will be total request
+ timeout. It can also be a pair (tuple) of
+ (connection, read) timeouts.
+ :type _request_timeout: int, tuple(int, int), optional
+ :param _request_auth: set to override the auth_settings for an a single
+ request; this effectively ignores the
+ authentication in the spec for a single request.
+ :type _request_auth: dict, optional
+ :param _content_type: force content-type for the request.
+ :type _content_type: str, Optional
+ :param _headers: set to override the headers for a single
+ request; this effectively ignores the headers
+ in the spec for a single request.
+ :type _headers: dict, optional
+ :param _host_index: set to override the host_index for a single
+ request; this effectively ignores the host_index
+ in the spec for a single request.
+ :type _host_index: int, optional
+ :return: Returns the result object.
+ """ # noqa: E501
+
+ _param = self._get_volume_endpoint_volumes_volume_id_get_serialize(
+ volume_id=volume_id,
+ _request_auth=_request_auth,
+ _content_type=_content_type,
+ _headers=_headers,
+ _host_index=_host_index
+ )
+
+ _response_types_map: Dict[str, Optional[str]] = {
+ '200': "GetVolumeResponse",
+ '422': "HTTPValidationError",
+ }
+ response_data = self.api_client.call_api(
+ *_param,
+ _request_timeout=_request_timeout
+ )
+ return response_data.response
+
+
+ def _get_volume_endpoint_volumes_volume_id_get_serialize(
+ self,
+ volume_id,
+ _request_auth,
+ _content_type,
+ _headers,
+ _host_index,
+ ) -> RequestSerialized:
+
+ _host = None
+
+ _collection_formats: Dict[str, str] = {
+ }
+
+ _path_params: Dict[str, str] = {}
+ _query_params: List[Tuple[str, str]] = []
+ _header_params: Dict[str, Optional[str]] = _headers or {}
+ _form_params: List[Tuple[str, str]] = []
+ _files: Dict[
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
+ ] = {}
+ _body_params: Optional[bytes] = None
+
+ # process the path parameters
+ if volume_id is not None:
+ _path_params['volume_id'] = volume_id
+ # process the query parameters
+ # process the header parameters
+ # process the form parameters
+ # process the body parameter
+
+
+ # set the HTTP header `Accept`
+ if 'Accept' not in _header_params:
+ _header_params['Accept'] = self.api_client.select_header_accept(
+ [
+ 'application/json'
+ ]
+ )
+
+
+ # authentication setting
+ _auth_settings: List[str] = [
+ 'HTTPBearer'
+ ]
+
+ return self.api_client.param_serialize(
+ method='GET',
+ resource_path='/volumes/{volume_id}',
+ path_params=_path_params,
+ query_params=_query_params,
+ header_params=_header_params,
+ body=_body_params,
+ post_params=_form_params,
+ files=_files,
+ auth_settings=_auth_settings,
+ collection_formats=_collection_formats,
+ _host=_host,
+ _request_auth=_request_auth
+ )
+
+
+
+
@validate_call
def invite_user_organizations_invite_post(
self,
diff --git a/platform_api_python_client/api_client.py b/platform_api_python_client/api_client.py
index 163f432..f91ba0f 100644
--- a/platform_api_python_client/api_client.py
+++ b/platform_api_python_client/api_client.py
@@ -90,7 +90,7 @@ def __init__(
self.default_headers[header_name] = header_value
self.cookie = cookie
# Set default User-Agent.
- self.user_agent = 'OpenAPI-Generator/4.19.0/python'
+ self.user_agent = 'OpenAPI-Generator/4.20.0/python'
self.client_side_validation = configuration.client_side_validation
def __enter__(self):
diff --git a/platform_api_python_client/configuration.py b/platform_api_python_client/configuration.py
index 9146c63..76e50f4 100644
--- a/platform_api_python_client/configuration.py
+++ b/platform_api_python_client/configuration.py
@@ -392,7 +392,7 @@ def to_debug_report(self):
"OS: {env}\n"\
"Python Version: {pyversion}\n"\
"Version of the API: 0.1.0\n"\
- "SDK Package Version: 4.19.0".\
+ "SDK Package Version: 4.20.0".\
format(env=sys.platform, pyversion=sys.version)
def get_host_settings(self):
diff --git a/platform_api_python_client/models/__init__.py b/platform_api_python_client/models/__init__.py
index 124d214..6080b9c 100644
--- a/platform_api_python_client/models/__init__.py
+++ b/platform_api_python_client/models/__init__.py
@@ -28,6 +28,7 @@
from platform_api_python_client.models.cluster_registration_request import ClusterRegistrationRequest
from platform_api_python_client.models.cluster_registration_response import ClusterRegistrationResponse
from platform_api_python_client.models.config_file_mount import ConfigFileMount
+from platform_api_python_client.models.create_block_volume_request import CreateBlockVolumeRequest
from platform_api_python_client.models.create_c_serve_v2_deployment_response import CreateCServeV2DeploymentResponse
from platform_api_python_client.models.create_c_serve_v3_deployment_request import CreateCServeV3DeploymentRequest
from platform_api_python_client.models.create_c_serve_v3_deployment_response import CreateCServeV3DeploymentResponse
@@ -38,10 +39,12 @@
from platform_api_python_client.models.create_inference_v3_deployment_request import CreateInferenceV3DeploymentRequest
from platform_api_python_client.models.create_job_deployment_request import CreateJobDeploymentRequest
from platform_api_python_client.models.create_job_deployment_response import CreateJobDeploymentResponse
+from platform_api_python_client.models.create_object_volume_request import CreateObjectVolumeRequest
from platform_api_python_client.models.create_organization_request import CreateOrganizationRequest
from platform_api_python_client.models.create_organization_response import CreateOrganizationResponse
from platform_api_python_client.models.create_service_account_request import CreateServiceAccountRequest
from platform_api_python_client.models.create_service_account_response import CreateServiceAccountResponse
+from platform_api_python_client.models.create_volume_request import CreateVolumeRequest
from platform_api_python_client.models.credits_response import CreditsResponse
from platform_api_python_client.models.daily_bill_response import DailyBillResponse
from platform_api_python_client.models.deployment_response import DeploymentResponse
@@ -56,6 +59,7 @@
from platform_api_python_client.models.final_stack import FinalStack
from platform_api_python_client.models.fluent_bit import FluentBit
from platform_api_python_client.models.generate_service_account_secret_response import GenerateServiceAccountSecretResponse
+from platform_api_python_client.models.get_block_volume_response import GetBlockVolumeResponse
from platform_api_python_client.models.get_c_serve_v2_deployment_response import GetCServeV2DeploymentResponse
from platform_api_python_client.models.get_c_serve_v3_deployment_response import GetCServeV3DeploymentResponse
from platform_api_python_client.models.get_cluster_response import GetClusterResponse
@@ -67,6 +71,8 @@
from platform_api_python_client.models.get_inference_deployment_response import GetInferenceDeploymentResponse
from platform_api_python_client.models.get_inference_v3_deployment_response import GetInferenceV3DeploymentResponse
from platform_api_python_client.models.get_job_deployment_response import GetJobDeploymentResponse
+from platform_api_python_client.models.get_object_volume_response import GetObjectVolumeResponse
+from platform_api_python_client.models.get_volume_response import GetVolumeResponse
from platform_api_python_client.models.gpu_operator import GpuOperator
from platform_api_python_client.models.gpu_type_capacity import GpuTypeCapacity
from platform_api_python_client.models.http_validation_error import HTTPValidationError
@@ -90,11 +96,13 @@
from platform_api_python_client.models.list_prebuilt_image_response import ListPrebuiltImageResponse
from platform_api_python_client.models.list_service_accounts_response import ListServiceAccountsResponse
from platform_api_python_client.models.list_user_vault_items_response import ListUserVaultItemsResponse
+from platform_api_python_client.models.list_volumes_response import ListVolumesResponse
from platform_api_python_client.models.longhorn import Longhorn
from platform_api_python_client.models.metric import Metric
from platform_api_python_client.models.metrics_config import MetricsConfig
from platform_api_python_client.models.metrics_server import MetricsServer
from platform_api_python_client.models.network_operator import NetworkOperator
+from platform_api_python_client.models.object_storage_provider import ObjectStorageProvider
from platform_api_python_client.models.opentelemetry_collector import OpentelemetryCollector
from platform_api_python_client.models.pod_details import PodDetails
from platform_api_python_client.models.pod_status import PodStatus
@@ -116,3 +124,5 @@
from platform_api_python_client.models.validation_error import ValidationError
from platform_api_python_client.models.validation_error_loc_inner import ValidationErrorLocInner
from platform_api_python_client.models.vault_scope import VaultScope
+from platform_api_python_client.models.volume_access_mode import VolumeAccessMode
+from platform_api_python_client.models.volume_status import VolumeStatus
diff --git a/platform_api_python_client/models/create_block_volume_request.py b/platform_api_python_client/models/create_block_volume_request.py
new file mode 100644
index 0000000..0a365e8
--- /dev/null
+++ b/platform_api_python_client/models/create_block_volume_request.py
@@ -0,0 +1,108 @@
+# coding: utf-8
+
+"""
+ Platform External API
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: 0.1.0
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from typing import Optional, Set
+from typing_extensions import Self
+
+class CreateBlockVolumeRequest(BaseModel):
+ """
+ CreateBlockVolumeRequest
+ """ # noqa: E501
+ name: Annotated[str, Field(min_length=1, strict=True, max_length=20)]
+ cluster_id: StrictInt
+ backend: StrictStr
+ size_gb: Optional[Annotated[int, Field(le=65536, strict=True, ge=1)]] = 100
+ __properties: ClassVar[List[str]] = ["name", "cluster_id", "backend", "size_gb"]
+
+ @field_validator('name')
+ def name_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^[a-z][a-z0-9-]*$", value):
+ raise ValueError(r"must validate the regular expression /^[a-z][a-z0-9-]*$/")
+ return value
+
+ @field_validator('backend')
+ def backend_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['block']):
+ raise ValueError("must be one of enum values ('block')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of CreateBlockVolumeRequest from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of CreateBlockVolumeRequest from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "name": obj.get("name"),
+ "cluster_id": obj.get("cluster_id"),
+ "backend": obj.get("backend"),
+ "size_gb": obj.get("size_gb") if obj.get("size_gb") is not None else 100
+ })
+ return _obj
+
+
diff --git a/platform_api_python_client/models/create_object_volume_request.py b/platform_api_python_client/models/create_object_volume_request.py
new file mode 100644
index 0000000..2b6b8a7
--- /dev/null
+++ b/platform_api_python_client/models/create_object_volume_request.py
@@ -0,0 +1,136 @@
+# coding: utf-8
+
+"""
+ Platform External API
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: 0.1.0
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictInt, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from typing_extensions import Annotated
+from platform_api_python_client.models.object_storage_provider import ObjectStorageProvider
+from typing import Optional, Set
+from typing_extensions import Self
+
+class CreateObjectVolumeRequest(BaseModel):
+ """
+ CreateObjectVolumeRequest
+ """ # noqa: E501
+ name: Annotated[str, Field(min_length=1, strict=True, max_length=20)]
+ cluster_id: StrictInt
+ backend: StrictStr
+ provider: Optional[ObjectStorageProvider] = None
+ bucket: Annotated[str, Field(min_length=3, strict=True, max_length=253)]
+ region: Annotated[str, Field(min_length=1, strict=True)]
+ prefix: Optional[StrictStr] = None
+ read_only: Optional[StrictBool] = False
+ volume_attributes: Optional[Dict[str, StrictStr]] = None
+ mount_options: Optional[List[StrictStr]] = None
+ __properties: ClassVar[List[str]] = ["name", "cluster_id", "backend", "provider", "bucket", "region", "prefix", "read_only", "volume_attributes", "mount_options"]
+
+ @field_validator('name')
+ def name_validate_regular_expression(cls, value):
+ """Validates the regular expression"""
+ if not re.match(r"^[a-z][a-z0-9-]*$", value):
+ raise ValueError(r"must validate the regular expression /^[a-z][a-z0-9-]*$/")
+ return value
+
+ @field_validator('backend')
+ def backend_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['object']):
+ raise ValueError("must be one of enum values ('object')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of CreateObjectVolumeRequest from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # set to None if prefix (nullable) is None
+ # and model_fields_set contains the field
+ if self.prefix is None and "prefix" in self.model_fields_set:
+ _dict['prefix'] = None
+
+ # set to None if volume_attributes (nullable) is None
+ # and model_fields_set contains the field
+ if self.volume_attributes is None and "volume_attributes" in self.model_fields_set:
+ _dict['volume_attributes'] = None
+
+ # set to None if mount_options (nullable) is None
+ # and model_fields_set contains the field
+ if self.mount_options is None and "mount_options" in self.model_fields_set:
+ _dict['mount_options'] = None
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of CreateObjectVolumeRequest from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "name": obj.get("name"),
+ "cluster_id": obj.get("cluster_id"),
+ "backend": obj.get("backend"),
+ "provider": obj.get("provider"),
+ "bucket": obj.get("bucket"),
+ "region": obj.get("region"),
+ "prefix": obj.get("prefix"),
+ "read_only": obj.get("read_only") if obj.get("read_only") is not None else False,
+ "volume_attributes": obj.get("volume_attributes"),
+ "mount_options": obj.get("mount_options")
+ })
+ return _obj
+
+
diff --git a/platform_api_python_client/models/create_volume_request.py b/platform_api_python_client/models/create_volume_request.py
new file mode 100644
index 0000000..fb1deea
--- /dev/null
+++ b/platform_api_python_client/models/create_volume_request.py
@@ -0,0 +1,140 @@
+# coding: utf-8
+
+"""
+ Platform External API
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: 0.1.0
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+import pprint
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
+from typing import Any, List, Optional
+from platform_api_python_client.models.create_block_volume_request import CreateBlockVolumeRequest
+from platform_api_python_client.models.create_object_volume_request import CreateObjectVolumeRequest
+from pydantic import StrictStr, Field
+from typing import Union, List, Set, Optional, Dict
+from typing_extensions import Literal, Self
+
+CREATEVOLUMEREQUEST_ONE_OF_SCHEMAS = ["CreateBlockVolumeRequest", "CreateObjectVolumeRequest"]
+
+class CreateVolumeRequest(BaseModel):
+ """
+ CreateVolumeRequest
+ """
+ # data type: CreateBlockVolumeRequest
+ oneof_schema_1_validator: Optional[CreateBlockVolumeRequest] = None
+ # data type: CreateObjectVolumeRequest
+ oneof_schema_2_validator: Optional[CreateObjectVolumeRequest] = None
+ actual_instance: Optional[Union[CreateBlockVolumeRequest, CreateObjectVolumeRequest]] = None
+ one_of_schemas: Set[str] = { "CreateBlockVolumeRequest", "CreateObjectVolumeRequest" }
+
+ model_config = ConfigDict(
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ discriminator_value_class_map: Dict[str, str] = {
+ }
+
+ def __init__(self, *args, **kwargs) -> None:
+ if args:
+ if len(args) > 1:
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
+ if kwargs:
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
+ super().__init__(actual_instance=args[0])
+ else:
+ super().__init__(**kwargs)
+
+ @field_validator('actual_instance')
+ def actual_instance_must_validate_oneof(cls, v):
+ instance = CreateVolumeRequest.model_construct()
+ error_messages = []
+ match = 0
+ # validate data type: CreateBlockVolumeRequest
+ if not isinstance(v, CreateBlockVolumeRequest):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `CreateBlockVolumeRequest`")
+ else:
+ match += 1
+ # validate data type: CreateObjectVolumeRequest
+ if not isinstance(v, CreateObjectVolumeRequest):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `CreateObjectVolumeRequest`")
+ else:
+ match += 1
+ if match > 1:
+ # more than 1 match
+ raise ValueError("Multiple matches found when setting `actual_instance` in CreateVolumeRequest with oneOf schemas: CreateBlockVolumeRequest, CreateObjectVolumeRequest. Details: " + ", ".join(error_messages))
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when setting `actual_instance` in CreateVolumeRequest with oneOf schemas: CreateBlockVolumeRequest, CreateObjectVolumeRequest. Details: " + ", ".join(error_messages))
+ else:
+ return v
+
+ @classmethod
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
+ return cls.from_json(json.dumps(obj))
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Returns the object represented by the json string"""
+ instance = cls.model_construct()
+ error_messages = []
+ match = 0
+
+ # deserialize data into CreateBlockVolumeRequest
+ try:
+ instance.actual_instance = CreateBlockVolumeRequest.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into CreateObjectVolumeRequest
+ try:
+ instance.actual_instance = CreateObjectVolumeRequest.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+
+ if match > 1:
+ # more than 1 match
+ raise ValueError("Multiple matches found when deserializing the JSON string into CreateVolumeRequest with oneOf schemas: CreateBlockVolumeRequest, CreateObjectVolumeRequest. Details: " + ", ".join(error_messages))
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when deserializing the JSON string into CreateVolumeRequest with oneOf schemas: CreateBlockVolumeRequest, CreateObjectVolumeRequest. Details: " + ", ".join(error_messages))
+ else:
+ return instance
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the actual instance"""
+ if self.actual_instance is None:
+ return "null"
+
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
+ return self.actual_instance.to_json()
+ else:
+ return json.dumps(self.actual_instance)
+
+ def to_dict(self) -> Optional[Union[Dict[str, Any], CreateBlockVolumeRequest, CreateObjectVolumeRequest]]:
+ """Returns the dict representation of the actual instance"""
+ if self.actual_instance is None:
+ return None
+
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
+ return self.actual_instance.to_dict()
+ else:
+ # primitive type
+ return self.actual_instance
+
+ def to_str(self) -> str:
+ """Returns the string representation of the actual instance"""
+ return pprint.pformat(self.model_dump())
+
+
diff --git a/platform_api_python_client/models/get_block_volume_response.py b/platform_api_python_client/models/get_block_volume_response.py
new file mode 100644
index 0000000..0ee3943
--- /dev/null
+++ b/platform_api_python_client/models/get_block_volume_response.py
@@ -0,0 +1,113 @@
+# coding: utf-8
+
+"""
+ Platform External API
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: 0.1.0
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from datetime import datetime
+from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List
+from platform_api_python_client.models.volume_access_mode import VolumeAccessMode
+from platform_api_python_client.models.volume_status import VolumeStatus
+from typing import Optional, Set
+from typing_extensions import Self
+
+class GetBlockVolumeResponse(BaseModel):
+ """
+ GetBlockVolumeResponse
+ """ # noqa: E501
+ id: StrictInt
+ name: StrictStr
+ cluster_id: StrictInt
+ backend: StrictStr
+ access_mode: VolumeAccessMode
+ status: VolumeStatus
+ pvc_name: StrictStr
+ created_at: datetime
+ size_gb: StrictInt
+ __properties: ClassVar[List[str]] = ["id", "name", "cluster_id", "backend", "access_mode", "status", "pvc_name", "created_at", "size_gb"]
+
+ @field_validator('backend')
+ def backend_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['block']):
+ raise ValueError("must be one of enum values ('block')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of GetBlockVolumeResponse from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of GetBlockVolumeResponse from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "id": obj.get("id"),
+ "name": obj.get("name"),
+ "cluster_id": obj.get("cluster_id"),
+ "backend": obj.get("backend"),
+ "access_mode": obj.get("access_mode"),
+ "status": obj.get("status"),
+ "pvc_name": obj.get("pvc_name"),
+ "created_at": obj.get("created_at"),
+ "size_gb": obj.get("size_gb")
+ })
+ return _obj
+
+
diff --git a/platform_api_python_client/models/get_object_volume_response.py b/platform_api_python_client/models/get_object_volume_response.py
new file mode 100644
index 0000000..f0b9bcf
--- /dev/null
+++ b/platform_api_python_client/models/get_object_volume_response.py
@@ -0,0 +1,141 @@
+# coding: utf-8
+
+"""
+ Platform External API
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: 0.1.0
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from datetime import datetime
+from pydantic import BaseModel, ConfigDict, StrictBool, StrictInt, StrictStr, field_validator
+from typing import Any, ClassVar, Dict, List, Optional
+from platform_api_python_client.models.object_storage_provider import ObjectStorageProvider
+from platform_api_python_client.models.volume_access_mode import VolumeAccessMode
+from platform_api_python_client.models.volume_status import VolumeStatus
+from typing import Optional, Set
+from typing_extensions import Self
+
+class GetObjectVolumeResponse(BaseModel):
+ """
+ GetObjectVolumeResponse
+ """ # noqa: E501
+ id: StrictInt
+ name: StrictStr
+ cluster_id: StrictInt
+ backend: StrictStr
+ access_mode: VolumeAccessMode
+ status: VolumeStatus
+ pvc_name: StrictStr
+ created_at: datetime
+ provider: ObjectStorageProvider
+ bucket: StrictStr
+ region: StrictStr
+ prefix: Optional[StrictStr] = None
+ read_only: StrictBool
+ volume_attributes: Optional[Dict[str, StrictStr]] = None
+ mount_options: Optional[List[StrictStr]] = None
+ __properties: ClassVar[List[str]] = ["id", "name", "cluster_id", "backend", "access_mode", "status", "pvc_name", "created_at", "provider", "bucket", "region", "prefix", "read_only", "volume_attributes", "mount_options"]
+
+ @field_validator('backend')
+ def backend_validate_enum(cls, value):
+ """Validates the enum"""
+ if value not in set(['object']):
+ raise ValueError("must be one of enum values ('object')")
+ return value
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of GetObjectVolumeResponse from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # set to None if prefix (nullable) is None
+ # and model_fields_set contains the field
+ if self.prefix is None and "prefix" in self.model_fields_set:
+ _dict['prefix'] = None
+
+ # set to None if volume_attributes (nullable) is None
+ # and model_fields_set contains the field
+ if self.volume_attributes is None and "volume_attributes" in self.model_fields_set:
+ _dict['volume_attributes'] = None
+
+ # set to None if mount_options (nullable) is None
+ # and model_fields_set contains the field
+ if self.mount_options is None and "mount_options" in self.model_fields_set:
+ _dict['mount_options'] = None
+
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of GetObjectVolumeResponse from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "id": obj.get("id"),
+ "name": obj.get("name"),
+ "cluster_id": obj.get("cluster_id"),
+ "backend": obj.get("backend"),
+ "access_mode": obj.get("access_mode"),
+ "status": obj.get("status"),
+ "pvc_name": obj.get("pvc_name"),
+ "created_at": obj.get("created_at"),
+ "provider": obj.get("provider"),
+ "bucket": obj.get("bucket"),
+ "region": obj.get("region"),
+ "prefix": obj.get("prefix"),
+ "read_only": obj.get("read_only"),
+ "volume_attributes": obj.get("volume_attributes"),
+ "mount_options": obj.get("mount_options")
+ })
+ return _obj
+
+
diff --git a/platform_api_python_client/models/get_volume_response.py b/platform_api_python_client/models/get_volume_response.py
new file mode 100644
index 0000000..8f2ff04
--- /dev/null
+++ b/platform_api_python_client/models/get_volume_response.py
@@ -0,0 +1,140 @@
+# coding: utf-8
+
+"""
+ Platform External API
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: 0.1.0
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+import pprint
+from pydantic import BaseModel, ConfigDict, Field, StrictStr, ValidationError, field_validator
+from typing import Any, List, Optional
+from platform_api_python_client.models.get_block_volume_response import GetBlockVolumeResponse
+from platform_api_python_client.models.get_object_volume_response import GetObjectVolumeResponse
+from pydantic import StrictStr, Field
+from typing import Union, List, Set, Optional, Dict
+from typing_extensions import Literal, Self
+
+GETVOLUMERESPONSE_ONE_OF_SCHEMAS = ["GetBlockVolumeResponse", "GetObjectVolumeResponse"]
+
+class GetVolumeResponse(BaseModel):
+ """
+ GetVolumeResponse
+ """
+ # data type: GetBlockVolumeResponse
+ oneof_schema_1_validator: Optional[GetBlockVolumeResponse] = None
+ # data type: GetObjectVolumeResponse
+ oneof_schema_2_validator: Optional[GetObjectVolumeResponse] = None
+ actual_instance: Optional[Union[GetBlockVolumeResponse, GetObjectVolumeResponse]] = None
+ one_of_schemas: Set[str] = { "GetBlockVolumeResponse", "GetObjectVolumeResponse" }
+
+ model_config = ConfigDict(
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ discriminator_value_class_map: Dict[str, str] = {
+ }
+
+ def __init__(self, *args, **kwargs) -> None:
+ if args:
+ if len(args) > 1:
+ raise ValueError("If a position argument is used, only 1 is allowed to set `actual_instance`")
+ if kwargs:
+ raise ValueError("If a position argument is used, keyword arguments cannot be used.")
+ super().__init__(actual_instance=args[0])
+ else:
+ super().__init__(**kwargs)
+
+ @field_validator('actual_instance')
+ def actual_instance_must_validate_oneof(cls, v):
+ instance = GetVolumeResponse.model_construct()
+ error_messages = []
+ match = 0
+ # validate data type: GetBlockVolumeResponse
+ if not isinstance(v, GetBlockVolumeResponse):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `GetBlockVolumeResponse`")
+ else:
+ match += 1
+ # validate data type: GetObjectVolumeResponse
+ if not isinstance(v, GetObjectVolumeResponse):
+ error_messages.append(f"Error! Input type `{type(v)}` is not `GetObjectVolumeResponse`")
+ else:
+ match += 1
+ if match > 1:
+ # more than 1 match
+ raise ValueError("Multiple matches found when setting `actual_instance` in GetVolumeResponse with oneOf schemas: GetBlockVolumeResponse, GetObjectVolumeResponse. Details: " + ", ".join(error_messages))
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when setting `actual_instance` in GetVolumeResponse with oneOf schemas: GetBlockVolumeResponse, GetObjectVolumeResponse. Details: " + ", ".join(error_messages))
+ else:
+ return v
+
+ @classmethod
+ def from_dict(cls, obj: Union[str, Dict[str, Any]]) -> Self:
+ return cls.from_json(json.dumps(obj))
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Returns the object represented by the json string"""
+ instance = cls.model_construct()
+ error_messages = []
+ match = 0
+
+ # deserialize data into GetBlockVolumeResponse
+ try:
+ instance.actual_instance = GetBlockVolumeResponse.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+ # deserialize data into GetObjectVolumeResponse
+ try:
+ instance.actual_instance = GetObjectVolumeResponse.from_json(json_str)
+ match += 1
+ except (ValidationError, ValueError) as e:
+ error_messages.append(str(e))
+
+ if match > 1:
+ # more than 1 match
+ raise ValueError("Multiple matches found when deserializing the JSON string into GetVolumeResponse with oneOf schemas: GetBlockVolumeResponse, GetObjectVolumeResponse. Details: " + ", ".join(error_messages))
+ elif match == 0:
+ # no match
+ raise ValueError("No match found when deserializing the JSON string into GetVolumeResponse with oneOf schemas: GetBlockVolumeResponse, GetObjectVolumeResponse. Details: " + ", ".join(error_messages))
+ else:
+ return instance
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the actual instance"""
+ if self.actual_instance is None:
+ return "null"
+
+ if hasattr(self.actual_instance, "to_json") and callable(self.actual_instance.to_json):
+ return self.actual_instance.to_json()
+ else:
+ return json.dumps(self.actual_instance)
+
+ def to_dict(self) -> Optional[Union[Dict[str, Any], GetBlockVolumeResponse, GetObjectVolumeResponse]]:
+ """Returns the dict representation of the actual instance"""
+ if self.actual_instance is None:
+ return None
+
+ if hasattr(self.actual_instance, "to_dict") and callable(self.actual_instance.to_dict):
+ return self.actual_instance.to_dict()
+ else:
+ # primitive type
+ return self.actual_instance
+
+ def to_str(self) -> str:
+ """Returns the string representation of the actual instance"""
+ return pprint.pformat(self.model_dump())
+
+
diff --git a/platform_api_python_client/models/list_volumes_response.py b/platform_api_python_client/models/list_volumes_response.py
new file mode 100644
index 0000000..c295220
--- /dev/null
+++ b/platform_api_python_client/models/list_volumes_response.py
@@ -0,0 +1,95 @@
+# coding: utf-8
+
+"""
+ Platform External API
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: 0.1.0
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import pprint
+import re # noqa: F401
+import json
+
+from pydantic import BaseModel, ConfigDict
+from typing import Any, ClassVar, Dict, List
+from platform_api_python_client.models.get_volume_response import GetVolumeResponse
+from typing import Optional, Set
+from typing_extensions import Self
+
+class ListVolumesResponse(BaseModel):
+ """
+ ListVolumesResponse
+ """ # noqa: E501
+ results: List[GetVolumeResponse]
+ __properties: ClassVar[List[str]] = ["results"]
+
+ model_config = ConfigDict(
+ populate_by_name=True,
+ validate_assignment=True,
+ protected_namespaces=(),
+ )
+
+
+ def to_str(self) -> str:
+ """Returns the string representation of the model using alias"""
+ return pprint.pformat(self.model_dump(by_alias=True))
+
+ def to_json(self) -> str:
+ """Returns the JSON representation of the model using alias"""
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
+ return json.dumps(self.to_dict())
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Optional[Self]:
+ """Create an instance of ListVolumesResponse from a JSON string"""
+ return cls.from_dict(json.loads(json_str))
+
+ def to_dict(self) -> Dict[str, Any]:
+ """Return the dictionary representation of the model using alias.
+
+ This has the following differences from calling pydantic's
+ `self.model_dump(by_alias=True)`:
+
+ * `None` is only added to the output dict for nullable fields that
+ were set at model initialization. Other fields with value `None`
+ are ignored.
+ """
+ excluded_fields: Set[str] = set([
+ ])
+
+ _dict = self.model_dump(
+ by_alias=True,
+ exclude=excluded_fields,
+ exclude_none=True,
+ )
+ # override the default output from pydantic by calling `to_dict()` of each item in results (list)
+ _items = []
+ if self.results:
+ for _item_results in self.results:
+ if _item_results:
+ _items.append(_item_results.to_dict())
+ _dict['results'] = _items
+ return _dict
+
+ @classmethod
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
+ """Create an instance of ListVolumesResponse from a dict"""
+ if obj is None:
+ return None
+
+ if not isinstance(obj, dict):
+ return cls.model_validate(obj)
+
+ _obj = cls.model_validate({
+ "results": [GetVolumeResponse.from_dict(_item) for _item in obj["results"]] if obj.get("results") is not None else None
+ })
+ return _obj
+
+
diff --git a/platform_api_python_client/models/object_storage_provider.py b/platform_api_python_client/models/object_storage_provider.py
new file mode 100644
index 0000000..e77deda
--- /dev/null
+++ b/platform_api_python_client/models/object_storage_provider.py
@@ -0,0 +1,36 @@
+# coding: utf-8
+
+"""
+ Platform External API
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: 0.1.0
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+from enum import Enum
+from typing_extensions import Self
+
+
+class ObjectStorageProvider(str, Enum):
+ """
+ ObjectStorageProvider
+ """
+
+ """
+ allowed enum values
+ """
+ S3 = 's3'
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Create an instance of ObjectStorageProvider from a JSON string"""
+ return cls(json.loads(json_str))
+
+
diff --git a/platform_api_python_client/models/volume_access_mode.py b/platform_api_python_client/models/volume_access_mode.py
new file mode 100644
index 0000000..156a6d9
--- /dev/null
+++ b/platform_api_python_client/models/volume_access_mode.py
@@ -0,0 +1,37 @@
+# coding: utf-8
+
+"""
+ Platform External API
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: 0.1.0
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+from enum import Enum
+from typing_extensions import Self
+
+
+class VolumeAccessMode(str, Enum):
+ """
+ VolumeAccessMode
+ """
+
+ """
+ allowed enum values
+ """
+ READWRITEONCE = 'ReadWriteOnce'
+ READWRITEMANY = 'ReadWriteMany'
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Create an instance of VolumeAccessMode from a JSON string"""
+ return cls(json.loads(json_str))
+
+
diff --git a/platform_api_python_client/models/volume_status.py b/platform_api_python_client/models/volume_status.py
new file mode 100644
index 0000000..92c8acd
--- /dev/null
+++ b/platform_api_python_client/models/volume_status.py
@@ -0,0 +1,37 @@
+# coding: utf-8
+
+"""
+ Platform External API
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: 0.1.0
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+from __future__ import annotations
+import json
+from enum import Enum
+from typing_extensions import Self
+
+
+class VolumeStatus(str, Enum):
+ """
+ VolumeStatus
+ """
+
+ """
+ allowed enum values
+ """
+ ACTIVE = 'active'
+ DELETED = 'deleted'
+
+ @classmethod
+ def from_json(cls, json_str: str) -> Self:
+ """Create an instance of VolumeStatus from a JSON string"""
+ return cls(json.loads(json_str))
+
+
diff --git a/pyproject.toml b/pyproject.toml
index 698a006..215acf7 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[tool.poetry]
name = "platform_api_python_client"
-version = "4.19.0"
+version = "4.20.0"
description = "Platform External API"
authors = ["OpenAPI Generator Community "]
license = "NoLicense"
diff --git a/setup.py b/setup.py
index 815b69f..ef24f11 100644
--- a/setup.py
+++ b/setup.py
@@ -21,7 +21,7 @@
# prerequisite: setuptools
# http://pypi.python.org/pypi/setuptools
NAME = "platform-api-python-client"
-VERSION = "4.19.0"
+VERSION = "4.20.0"
PYTHON_REQUIRES = ">= 3.8"
REQUIRES = [
"urllib3 >= 1.25.3, < 3.0.0",
diff --git a/test/test_create_block_volume_request.py b/test/test_create_block_volume_request.py
new file mode 100644
index 0000000..7ee1b3e
--- /dev/null
+++ b/test/test_create_block_volume_request.py
@@ -0,0 +1,57 @@
+# coding: utf-8
+
+"""
+ Platform External API
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: 0.1.0
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+import unittest
+
+from platform_api_python_client.models.create_block_volume_request import CreateBlockVolumeRequest
+
+class TestCreateBlockVolumeRequest(unittest.TestCase):
+ """CreateBlockVolumeRequest unit test stubs"""
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def make_instance(self, include_optional) -> CreateBlockVolumeRequest:
+ """Test CreateBlockVolumeRequest
+ include_optional is a boolean, when False only required
+ params are included, when True both required and
+ optional params are included """
+ # uncomment below to create an instance of `CreateBlockVolumeRequest`
+ """
+ model = CreateBlockVolumeRequest()
+ if include_optional:
+ return CreateBlockVolumeRequest(
+ name = 'ar1c2v7s6djuy1zmetozkhdomha1b0',
+ cluster_id = 56,
+ backend = 'block',
+ size_gb = 1.0
+ )
+ else:
+ return CreateBlockVolumeRequest(
+ name = 'ar1c2v7s6djuy1zmetozkhdomha1b0',
+ cluster_id = 56,
+ backend = 'block',
+ )
+ """
+
+ def testCreateBlockVolumeRequest(self):
+ """Test CreateBlockVolumeRequest"""
+ # inst_req_only = self.make_instance(include_optional=False)
+ # inst_req_and_optional = self.make_instance(include_optional=True)
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_create_object_volume_request.py b/test/test_create_object_volume_request.py
new file mode 100644
index 0000000..c7eb7e9
--- /dev/null
+++ b/test/test_create_object_volume_request.py
@@ -0,0 +1,69 @@
+# coding: utf-8
+
+"""
+ Platform External API
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: 0.1.0
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+import unittest
+
+from platform_api_python_client.models.create_object_volume_request import CreateObjectVolumeRequest
+
+class TestCreateObjectVolumeRequest(unittest.TestCase):
+ """CreateObjectVolumeRequest unit test stubs"""
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def make_instance(self, include_optional) -> CreateObjectVolumeRequest:
+ """Test CreateObjectVolumeRequest
+ include_optional is a boolean, when False only required
+ params are included, when True both required and
+ optional params are included """
+ # uncomment below to create an instance of `CreateObjectVolumeRequest`
+ """
+ model = CreateObjectVolumeRequest()
+ if include_optional:
+ return CreateObjectVolumeRequest(
+ name = 'ar1c2v7s6djuy1zmetozkhdomha1b0',
+ cluster_id = 56,
+ backend = 'object',
+ provider = 's3',
+ bucket = '012',
+ region = '0',
+ prefix = '',
+ read_only = True,
+ volume_attributes = {
+ 'key' : ''
+ },
+ mount_options = [
+ ''
+ ]
+ )
+ else:
+ return CreateObjectVolumeRequest(
+ name = 'ar1c2v7s6djuy1zmetozkhdomha1b0',
+ cluster_id = 56,
+ backend = 'object',
+ bucket = '012',
+ region = '0',
+ )
+ """
+
+ def testCreateObjectVolumeRequest(self):
+ """Test CreateObjectVolumeRequest"""
+ # inst_req_only = self.make_instance(include_optional=False)
+ # inst_req_and_optional = self.make_instance(include_optional=True)
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_create_volume_request.py b/test/test_create_volume_request.py
new file mode 100644
index 0000000..85578ba
--- /dev/null
+++ b/test/test_create_volume_request.py
@@ -0,0 +1,70 @@
+# coding: utf-8
+
+"""
+ Platform External API
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: 0.1.0
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+import unittest
+
+from platform_api_python_client.models.create_volume_request import CreateVolumeRequest
+
+class TestCreateVolumeRequest(unittest.TestCase):
+ """CreateVolumeRequest unit test stubs"""
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def make_instance(self, include_optional) -> CreateVolumeRequest:
+ """Test CreateVolumeRequest
+ include_optional is a boolean, when False only required
+ params are included, when True both required and
+ optional params are included """
+ # uncomment below to create an instance of `CreateVolumeRequest`
+ """
+ model = CreateVolumeRequest()
+ if include_optional:
+ return CreateVolumeRequest(
+ name = 'ar1c2v7s6djuy1zmetozkhdomha1b0',
+ cluster_id = 56,
+ backend = 'object',
+ size_gb = 1.0,
+ provider = 's3',
+ bucket = '012',
+ region = '0',
+ prefix = '',
+ read_only = True,
+ volume_attributes = {
+ 'key' : ''
+ },
+ mount_options = [
+ ''
+ ]
+ )
+ else:
+ return CreateVolumeRequest(
+ name = 'ar1c2v7s6djuy1zmetozkhdomha1b0',
+ cluster_id = 56,
+ backend = 'object',
+ bucket = '012',
+ region = '0',
+ )
+ """
+
+ def testCreateVolumeRequest(self):
+ """Test CreateVolumeRequest"""
+ # inst_req_only = self.make_instance(include_optional=False)
+ # inst_req_and_optional = self.make_instance(include_optional=True)
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_external_api.py b/test/test_external_api.py
index 3776249..fada6de 100644
--- a/test/test_external_api.py
+++ b/test/test_external_api.py
@@ -96,6 +96,13 @@ def test_create_service_account_service_accounts_post(self) -> None:
"""
pass
+ def test_create_volume_endpoint_volumes_post(self) -> None:
+ """Test case for create_volume_endpoint_volumes_post
+
+ Create Volume Endpoint
+ """
+ pass
+
def test_delete_cluster_clusters_cluster_id_delete(self) -> None:
"""Test case for delete_cluster_clusters_cluster_id_delete
@@ -124,6 +131,13 @@ def test_delete_user_vault_item_endpoint_user_vault_delete(self) -> None:
"""
pass
+ def test_delete_volume_endpoint_volumes_volume_id_delete(self) -> None:
+ """Test case for delete_volume_endpoint_volumes_volume_id_delete
+
+ Delete Volume Endpoint
+ """
+ pass
+
def test_generate_service_account_secret_service_accounts_workos_id_secrets_post(self) -> None:
"""Test case for generate_service_account_secret_service_accounts_workos_id_secrets_post
@@ -138,6 +152,13 @@ def test_get_all_user_vault_items_endpoint_user_vault_get(self) -> None:
"""
pass
+ def test_get_all_volumes_endpoint_volumes_get(self) -> None:
+ """Test case for get_all_volumes_endpoint_volumes_get
+
+ Get All Volumes Endpoint
+ """
+ pass
+
def test_get_clusters_clusters_get(self) -> None:
"""Test case for get_clusters_clusters_get
@@ -278,6 +299,13 @@ def test_get_usage_deployments_usage_deployment_id_get(self) -> None:
"""
pass
+ def test_get_volume_endpoint_volumes_volume_id_get(self) -> None:
+ """Test case for get_volume_endpoint_volumes_volume_id_get
+
+ Get Volume Endpoint
+ """
+ pass
+
def test_invite_user_organizations_invite_post(self) -> None:
"""Test case for invite_user_organizations_invite_post
diff --git a/test/test_get_block_volume_response.py b/test/test_get_block_volume_response.py
new file mode 100644
index 0000000..76c641b
--- /dev/null
+++ b/test/test_get_block_volume_response.py
@@ -0,0 +1,68 @@
+# coding: utf-8
+
+"""
+ Platform External API
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: 0.1.0
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+import unittest
+
+from platform_api_python_client.models.get_block_volume_response import GetBlockVolumeResponse
+
+class TestGetBlockVolumeResponse(unittest.TestCase):
+ """GetBlockVolumeResponse unit test stubs"""
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def make_instance(self, include_optional) -> GetBlockVolumeResponse:
+ """Test GetBlockVolumeResponse
+ include_optional is a boolean, when False only required
+ params are included, when True both required and
+ optional params are included """
+ # uncomment below to create an instance of `GetBlockVolumeResponse`
+ """
+ model = GetBlockVolumeResponse()
+ if include_optional:
+ return GetBlockVolumeResponse(
+ id = 56,
+ name = '',
+ cluster_id = 56,
+ backend = 'block',
+ access_mode = 'ReadWriteOnce',
+ status = 'active',
+ pvc_name = '',
+ created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
+ size_gb = 56
+ )
+ else:
+ return GetBlockVolumeResponse(
+ id = 56,
+ name = '',
+ cluster_id = 56,
+ backend = 'block',
+ access_mode = 'ReadWriteOnce',
+ status = 'active',
+ pvc_name = '',
+ created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
+ size_gb = 56,
+ )
+ """
+
+ def testGetBlockVolumeResponse(self):
+ """Test GetBlockVolumeResponse"""
+ # inst_req_only = self.make_instance(include_optional=False)
+ # inst_req_and_optional = self.make_instance(include_optional=True)
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_get_object_volume_response.py b/test/test_get_object_volume_response.py
new file mode 100644
index 0000000..e2d5f99
--- /dev/null
+++ b/test/test_get_object_volume_response.py
@@ -0,0 +1,81 @@
+# coding: utf-8
+
+"""
+ Platform External API
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: 0.1.0
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+import unittest
+
+from platform_api_python_client.models.get_object_volume_response import GetObjectVolumeResponse
+
+class TestGetObjectVolumeResponse(unittest.TestCase):
+ """GetObjectVolumeResponse unit test stubs"""
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def make_instance(self, include_optional) -> GetObjectVolumeResponse:
+ """Test GetObjectVolumeResponse
+ include_optional is a boolean, when False only required
+ params are included, when True both required and
+ optional params are included """
+ # uncomment below to create an instance of `GetObjectVolumeResponse`
+ """
+ model = GetObjectVolumeResponse()
+ if include_optional:
+ return GetObjectVolumeResponse(
+ id = 56,
+ name = '',
+ cluster_id = 56,
+ backend = 'object',
+ access_mode = 'ReadWriteOnce',
+ status = 'active',
+ pvc_name = '',
+ created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
+ provider = 's3',
+ bucket = '',
+ region = '',
+ prefix = '',
+ read_only = True,
+ volume_attributes = {
+ 'key' : ''
+ },
+ mount_options = [
+ ''
+ ]
+ )
+ else:
+ return GetObjectVolumeResponse(
+ id = 56,
+ name = '',
+ cluster_id = 56,
+ backend = 'object',
+ access_mode = 'ReadWriteOnce',
+ status = 'active',
+ pvc_name = '',
+ created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
+ provider = 's3',
+ bucket = '',
+ region = '',
+ read_only = True,
+ )
+ """
+
+ def testGetObjectVolumeResponse(self):
+ """Test GetObjectVolumeResponse"""
+ # inst_req_only = self.make_instance(include_optional=False)
+ # inst_req_and_optional = self.make_instance(include_optional=True)
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_get_volume_response.py b/test/test_get_volume_response.py
new file mode 100644
index 0000000..329a023
--- /dev/null
+++ b/test/test_get_volume_response.py
@@ -0,0 +1,83 @@
+# coding: utf-8
+
+"""
+ Platform External API
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: 0.1.0
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+import unittest
+
+from platform_api_python_client.models.get_volume_response import GetVolumeResponse
+
+class TestGetVolumeResponse(unittest.TestCase):
+ """GetVolumeResponse unit test stubs"""
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def make_instance(self, include_optional) -> GetVolumeResponse:
+ """Test GetVolumeResponse
+ include_optional is a boolean, when False only required
+ params are included, when True both required and
+ optional params are included """
+ # uncomment below to create an instance of `GetVolumeResponse`
+ """
+ model = GetVolumeResponse()
+ if include_optional:
+ return GetVolumeResponse(
+ id = 56,
+ name = '',
+ cluster_id = 56,
+ backend = 'object',
+ access_mode = 'ReadWriteOnce',
+ status = 'active',
+ pvc_name = '',
+ created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
+ size_gb = 56,
+ provider = 's3',
+ bucket = '',
+ region = '',
+ prefix = '',
+ read_only = True,
+ volume_attributes = {
+ 'key' : ''
+ },
+ mount_options = [
+ ''
+ ]
+ )
+ else:
+ return GetVolumeResponse(
+ id = 56,
+ name = '',
+ cluster_id = 56,
+ backend = 'object',
+ access_mode = 'ReadWriteOnce',
+ status = 'active',
+ pvc_name = '',
+ created_at = datetime.datetime.strptime('2013-10-20 19:20:30.00', '%Y-%m-%d %H:%M:%S.%f'),
+ size_gb = 56,
+ provider = 's3',
+ bucket = '',
+ region = '',
+ read_only = True,
+ )
+ """
+
+ def testGetVolumeResponse(self):
+ """Test GetVolumeResponse"""
+ # inst_req_only = self.make_instance(include_optional=False)
+ # inst_req_and_optional = self.make_instance(include_optional=True)
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_list_volumes_response.py b/test/test_list_volumes_response.py
new file mode 100644
index 0000000..224ff03
--- /dev/null
+++ b/test/test_list_volumes_response.py
@@ -0,0 +1,56 @@
+# coding: utf-8
+
+"""
+ Platform External API
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: 0.1.0
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+import unittest
+
+from platform_api_python_client.models.list_volumes_response import ListVolumesResponse
+
+class TestListVolumesResponse(unittest.TestCase):
+ """ListVolumesResponse unit test stubs"""
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def make_instance(self, include_optional) -> ListVolumesResponse:
+ """Test ListVolumesResponse
+ include_optional is a boolean, when False only required
+ params are included, when True both required and
+ optional params are included """
+ # uncomment below to create an instance of `ListVolumesResponse`
+ """
+ model = ListVolumesResponse()
+ if include_optional:
+ return ListVolumesResponse(
+ results = [
+ null
+ ]
+ )
+ else:
+ return ListVolumesResponse(
+ results = [
+ null
+ ],
+ )
+ """
+
+ def testListVolumesResponse(self):
+ """Test ListVolumesResponse"""
+ # inst_req_only = self.make_instance(include_optional=False)
+ # inst_req_and_optional = self.make_instance(include_optional=True)
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_object_storage_provider.py b/test/test_object_storage_provider.py
new file mode 100644
index 0000000..1494f9d
--- /dev/null
+++ b/test/test_object_storage_provider.py
@@ -0,0 +1,33 @@
+# coding: utf-8
+
+"""
+ Platform External API
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: 0.1.0
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+import unittest
+
+from platform_api_python_client.models.object_storage_provider import ObjectStorageProvider
+
+class TestObjectStorageProvider(unittest.TestCase):
+ """ObjectStorageProvider unit test stubs"""
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testObjectStorageProvider(self):
+ """Test ObjectStorageProvider"""
+ # inst = ObjectStorageProvider()
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_volume_access_mode.py b/test/test_volume_access_mode.py
new file mode 100644
index 0000000..c714aba
--- /dev/null
+++ b/test/test_volume_access_mode.py
@@ -0,0 +1,33 @@
+# coding: utf-8
+
+"""
+ Platform External API
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: 0.1.0
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+import unittest
+
+from platform_api_python_client.models.volume_access_mode import VolumeAccessMode
+
+class TestVolumeAccessMode(unittest.TestCase):
+ """VolumeAccessMode unit test stubs"""
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testVolumeAccessMode(self):
+ """Test VolumeAccessMode"""
+ # inst = VolumeAccessMode()
+
+if __name__ == '__main__':
+ unittest.main()
diff --git a/test/test_volume_status.py b/test/test_volume_status.py
new file mode 100644
index 0000000..5903daf
--- /dev/null
+++ b/test/test_volume_status.py
@@ -0,0 +1,33 @@
+# coding: utf-8
+
+"""
+ Platform External API
+
+ No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
+
+ The version of the OpenAPI document: 0.1.0
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
+
+ Do not edit the class manually.
+""" # noqa: E501
+
+
+import unittest
+
+from platform_api_python_client.models.volume_status import VolumeStatus
+
+class TestVolumeStatus(unittest.TestCase):
+ """VolumeStatus unit test stubs"""
+
+ def setUp(self):
+ pass
+
+ def tearDown(self):
+ pass
+
+ def testVolumeStatus(self):
+ """Test VolumeStatus"""
+ # inst = VolumeStatus()
+
+if __name__ == '__main__':
+ unittest.main()