From 1b0391e882c9844aabb867bd7a7b5d2da688aaf5 Mon Sep 17 00:00:00 2001 From: platform CI Date: Thu, 9 Jul 2026 19:04:49 +0000 Subject: [PATCH] Update clients to latest platform release (4.20.0) --- README.md | 16 +- docs/CreateBlockVolumeRequest.md | 32 + docs/CreateObjectVolumeRequest.md | 38 + docs/CreateVolumeRequest.md | 39 + docs/EXTERNALApi.md | 315 +++++ docs/GetBlockVolumeResponse.md | 37 + docs/GetObjectVolumeResponse.md | 43 + docs/GetVolumeResponse.md | 44 + docs/ListVolumesResponse.md | 29 + docs/ObjectStorageProvider.md | 10 + docs/VolumeAccessMode.md | 12 + docs/VolumeStatus.md | 12 + platform_api_python_client/__init__.py | 12 +- .../api/external_api.py | 1128 ++++++++++++++++- platform_api_python_client/api_client.py | 2 +- platform_api_python_client/configuration.py | 2 +- platform_api_python_client/models/__init__.py | 10 + .../models/create_block_volume_request.py | 108 ++ .../models/create_object_volume_request.py | 136 ++ .../models/create_volume_request.py | 140 ++ .../models/get_block_volume_response.py | 113 ++ .../models/get_object_volume_response.py | 141 +++ .../models/get_volume_response.py | 140 ++ .../models/list_volumes_response.py | 95 ++ .../models/object_storage_provider.py | 36 + .../models/volume_access_mode.py | 37 + .../models/volume_status.py | 37 + pyproject.toml | 2 +- setup.py | 2 +- test/test_create_block_volume_request.py | 57 + test/test_create_object_volume_request.py | 69 + test/test_create_volume_request.py | 70 + test/test_external_api.py | 28 + test/test_get_block_volume_response.py | 68 + test/test_get_object_volume_response.py | 81 ++ test/test_get_volume_response.py | 83 ++ test/test_list_volumes_response.py | 56 + test/test_object_storage_provider.py | 33 + test/test_volume_access_mode.py | 33 + test/test_volume_status.py | 33 + 40 files changed, 3336 insertions(+), 43 deletions(-) create mode 100644 docs/CreateBlockVolumeRequest.md create mode 100644 docs/CreateObjectVolumeRequest.md create mode 100644 docs/CreateVolumeRequest.md create mode 100644 docs/GetBlockVolumeResponse.md create mode 100644 docs/GetObjectVolumeResponse.md create mode 100644 docs/GetVolumeResponse.md create mode 100644 docs/ListVolumesResponse.md create mode 100644 docs/ObjectStorageProvider.md create mode 100644 docs/VolumeAccessMode.md create mode 100644 docs/VolumeStatus.md create mode 100644 platform_api_python_client/models/create_block_volume_request.py create mode 100644 platform_api_python_client/models/create_object_volume_request.py create mode 100644 platform_api_python_client/models/create_volume_request.py create mode 100644 platform_api_python_client/models/get_block_volume_response.py create mode 100644 platform_api_python_client/models/get_object_volume_response.py create mode 100644 platform_api_python_client/models/get_volume_response.py create mode 100644 platform_api_python_client/models/list_volumes_response.py create mode 100644 platform_api_python_client/models/object_storage_provider.py create mode 100644 platform_api_python_client/models/volume_access_mode.py create mode 100644 platform_api_python_client/models/volume_status.py create mode 100644 test/test_create_block_volume_request.py create mode 100644 test/test_create_object_volume_request.py create mode 100644 test/test_create_volume_request.py create mode 100644 test/test_get_block_volume_response.py create mode 100644 test/test_get_object_volume_response.py create mode 100644 test/test_get_volume_response.py create mode 100644 test/test_list_volumes_response.py create mode 100644 test/test_object_storage_provider.py create mode 100644 test/test_volume_access_mode.py create mode 100644 test/test_volume_status.py 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()